Re: [utenti] comando filtro data BETWEEN :DATAINIZIO AND :DATAFINE

2007-02-04 Per discussione Davide Prina
--- Braga Alessandro ha scritto: 

 Ovvero avrei bisogno di stampare delle lettere da write avendo due
 date variabili DATA_INIZIO e DATA__FINE  estrapolandole dal database 

 mediante una ricerca di base tra due date.
 ho provato con la funzione BETWEEN AND, TRA E, ma niente da fare, se 
 inserisco direttamente le date con la seguente funzione = 1/11/06 E 
 =11/11/06 funziona tutto bene, se sostituisco la data con
  = :DATAINIZIO E = :DATAFINE
 NIENTE DA FARE

premetto che non conosco OOoBase
Quello che posso dirti è che se i campi che passi sono definiti come
tipo stringa, allora la sintassi corretta dovrebbe essere:

...
AND DataConfronto BETWEEN to_date( :DataInizio, 'dd/mm/yy') AND
to_date( :DataFine, 'dd/mm/yy' )
...

attenzione che però la data nella stringa deve essere 01/11/06 e non
1/11/06.

Se invece DataInizio e DataFine sono di tipo date ... allora non saprei
cosa dirti (non è che è la DataConfronto ad essere una stringa?)

Poi mi sembra strano che funzioni un confronto del genere = 1/11/06
perché per l'SQL dovrebbe equivalere a = 1 diviso 11 diviso 6

Ciao
Davide


Dizionari: http://linguistico.sourceforge.net/wiki
Esci dall'illegalità: utilizza OpenOffice.org: 
http://linguistico.sourceforge.net/wiki/doku.php?id=UsaOOo
GNU/Linux User: 302090: http://counter.li.org
--
Non autorizzo la memorizzazione del mio indirizzo su outlook






___ 
Vinci i biglietti per FIFA World Cup in Germania! 
yahoo.it/concorso_messenger

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] comando filtro data BETWEEN :DATAINIZIO AND :DATAFINE

2007-02-04 Per discussione Mario Govoni
 --- Braga Alessandro ha scritto: 
 
 Ovvero avrei bisogno di stampare delle lettere da write avendo due
 date variabili DATA_INIZIO e DATA__FINE  estrapolandole dal database 

tra parentesi si chiama Writer :o)

Ho fatto una prova su un database (per la cronaca il database di esempio
di Access), l'ho aperto in Base e registrato come un nuovo database.
In Ricerche ho dato il comando Crea ricerche in vista SQL e ho scritto:

SELECT DISTINCT Clienti.IDCliente, Clienti.NomeSocietà, Clienti.Città,
Clienti.Paese, Ordini.DataOrdine
FROM Clienti RIGHT JOIN Ordini ON Clienti.IDCliente = Ordini.IDCliente
WHERE (((Ordini.DataOrdine) Between #11/1/1997# And #12/20/1997#));

ho eseguito il comando ed estratto i dati richiesti senza problema. Da
notare che in SQL le date sono state inserite in formato anglosassone
(mese, giorno e anno).

Ho fatto la controprova: sempre in Ricerche ho dato il comando Crea
ricerca in vista struttura e ho riprodotto la situazione del comando
SQL: ho inserito nei criteri, sotto la colonna DataOrdine BETWEEN
1/11/97 AND 20/12/97 e Base, correttamente, l'ha modificato in TRA
#01/11/1997# E #20/12/1997# che è la sintassi corretta. In entrambi i
casi l'esecuzione della ricerca si è svolta senza problemi e ha dato i
medesimi risultati.

Se ho capito bene, però, tu devi fare una stampa in serie usando i dati
di un database. Nessun problema, basta seguire questo procedimento:
1) apri il documento di Writer;
2) con F4 mostra le sorgenti dati;
3) scegli la tabella/ricerca opportuna: la puoi filtrare, con uno dei
due metodi sopraesposti, direttamente nel database ed usarla tal quale,
altrimenti non importa ... tra un po' ti spiegherò come si fa la stessa
operazione in Writer :o);
4) inserisci il campo che ti interessa, trascinandolo dalla finestra
della sorgente dati al documento di testo;
5) lancia un comando di stampa: ti si apre una finestra di dialogo che
ti dice che al testo è associata una rubrica e ti chiede se vuoi fare la
stampa in serie. Rispondi di sì;
6) si apre la finestra Stampa in serie nella quale ti sono mostrate le
sorgenti dati registrate in OpenOffice: scegli quella adatta. Adesso
devi estrarre i dati che ti servono, ammesso che non abbia scelto, ad
esempio, una ricerca di Base che li ha già estratti;
a) clicca sull'icona Filtro standard (è il terzo imbuto da
sinistra): si apre la finestra omonima;
b) dall'elenco a discesa Nome di campo scegli il nome, dall'elenco a
discesa Condizione scegli =, inserisci nella casella Valore la
data iniziale, poi passa alla condizione successiva. Scegli E come
operatore, il nome del campo, la condizione = e il valore della data
finale;
c) premi Invio dopo aver inserito l'ultima condizione e ti
appariranno tutti e solo i record che soddisfano alla tua richiesta;
7) premi OK e i tuoi documenti saranno stampati in bell'ordine, ognuno
con la sua data :o).

Spero che questa mia spiegazione soddisfi la tua richiesta e sia stata
abbastanza chiara. In caso contrario sono qua, a tua disposizione.

Ciao

-- 
Mario Govoni
... quod scripturae mandatur, non solum praesentibus sed futuris
prodesse valeat ...
(... ciò che si affida alla parola scritta, è utile che valga non solo
per i contemporanei, ma anche per i posteri ..., San Tommaso d'Aquino)
[EMAIL PROTECTED]



smime.p7s
Description: S/MIME Cryptographic Signature