Newsgroup: it.comp.appl.access
Titolo: controllo su data

Salve a tutto il NG.
Espongo il mio quesito.
Nella maschera di inserimento fatture per evitare l'emissione di una
nuova fattura con data precedente all'ultima ho inserito questo
comando.
If DataFattura < DMax("[DataFattura]", "[tblFatture]", "[IDAzienda]= "
& Forms![frmFatture]![IDAzienda]) Then
MsgBox "Esiste una fattura precedente con data successiva"
Il problema sorge quando vado a modificare una fattura precedente e il
cursore si sposta sul controllo datafattura e su uscita mi segnala il
messaggio non tenendo conto che il controllo deve essere fatto sulle
fatture emesse prima di quella in cui mi trovo ma lo fa su tutte le
fatture emesse.
Cosa bisogna cambiare?
Grazie.
Ciao.

 ha scritto nel messaggio 
news:e7d33f74-f98e-437b...@m1g2000vbi.googlegroups.com...

potresti crearti una query con tutti i dati della tblfatture con un criterio 
sul numero di fattura (penso sia quello il dato che ti interessa) minore di 
quello che visualizzi in quel momento nella form, e poi fare il dmax su 
questa query e non sulla tabella
ciao
Max 

 ha scritto nel messaggionews:e7d33f74-f98e-437b...@m1g2000vbi.googlegroups.com...

Grazie per la risposta.
Non ho molta dimestichezza ma con qualche aiutino penso di poter
riuscire a creare la query indicando nei criteri di eseguire il
controllo della data solo sulle fatture precedenti a quella in cui mi
trovo.
Però la difficoltà è maggiore in quanto il numero di fattura è di tipo
testo.
Non saprei come muovermi.
Grazie.
Ciao.

 ha scritto nel messaggio 
news:1c7f3908-6bec-4b88...@s6g2000vbp.googlegroups.com...


Per� la difficolt� � maggiore in quanto il numero di fattura � di tipo
testo.
Non saprei come muovermi.
Grazie.
Ciao.
puoi farmi un esempio di numero di fattura? da li possiamo verificare se � 
possibile "normalizzarla" a numerico.
ciao
Max 

 Max
Allora il tipo di numerazione fattura è 001/09 ad ogni nuova emissione
il controllo aumenta a 002/09, 003/09 e così via. Al passaggio al
nuovo anno in automatico la numerazione, grazie alla data del pc,
cambia in 001/10 e prosegue come prima.
Grazie Max.
Ciao.

 Max
Allora il tipo di numerazione fattura � 001/09 ad ogni nuova emissione
il controllo aumenta a 002/09, 003/09 e cos� via. Al passaggio al
nuovo anno in automatico la numerazione, grazie alla data del pc,
cambia in 001/10 e prosegue come prima.
Grazie Max.
Ciao.
hai sempre 3 valori numero + 2 valori anno? e allora nella query scrivi 
mid(numfattura;5;2)*1000+left(numfattura;3) avrai 9002 per la fattura 002/09 
nei criteri di questo campo metti 
<mid(forms!tuamaschera!numfattura;5;2)*1000+left(forms!tuamaschera!numfattura;3)
ciao
Max 

 Max
Allora Max ho creato una query con tutti i campi della tabella
fattura.
Ho creato un nuovo campo numfat: mid(numfattura;5;2)*1000+left
(numfattura;3)
ed ottengo 9002 e così via.
Ora in questo campo dovrei mettere nei criteri   <mid(forms!
tuamaschera!numfattura;5;2)*1000+left(forms!tuamaschera!numfattura;3)
giusto?
Quindi l'origine della maschera frmfatture non sarà più la tabella
tblfatture ma la query che ho creato?
E' giusto cosi?
Grazie. Ciao.
Giuseppe.

 Max
Allora Max ho creato una query con tutti i campi della tabella
fattura.
Ho creato un nuovo campo numfat: mid(numfattura;5;2)*1000+left
(numfattura;3)
ed ottengo 9002 e cos� via.
Ora in questo campo dovrei mettere nei criteri   <mid(forms!
tuamaschera!numfattura;5;2)*1000+left(forms!tuamaschera!numfattura;3)
giusto?
Quindi l'origine della maschera frmfatture non sar� pi� la tabella
tblfatture ma la query che ho creato?
E' giusto cosi?
Grazie. Ciao.
Giuseppe.
� tutto perfetto fino al punto in cui parli dell'origine della frmfatture. 
questo trucco ti serve per verificare quali siano le fatture pi� vecchie 
rispetto a quella che vuoi modificare, l'utilizzo dovrebbe essere solo 
quella di sostituire questa query nella dmax dove controlli che non ci siano 
fatture precedenti con data successiva in sostanza
If DataFattura < DMax("[DataFattura]", "[NUOVAQUERY]", "[IDAzienda]= " & 
Forms![frmFatture]![IDAzienda]) Then
 MsgBox "Esiste una fattura precedente con data successiva"
ciao
Max 

 Max
Tutto ok Max. Grazie.
Ciao.