Newsgroup: it.comp.appl.access
Titolo: Condizione data non presente

Salve ragazzi,
ho una maschera fattura su cui ho messo delle caselle di testo non associate 
una chiamata DataInizio e una chiamata Data Fine .
Quando su queste textBox vado ad inserire delle date, attraverso un comando 
" Esgui" mi va a filtrare  sulla maschera tutte le date che appartengonno a 
qull'intervallo Date.
funziona tutto benissimo, ma quando per errore prima di immettere le date 
nelle opportune caselle di testo DataInizio e  DataFine, vado a pigiare il 
comando "Esegui" mi compare un messaggio errore run time vb null etc etc...
questo si sà che è dovuto al fatto che dovrei riempire proma le caselle di 
testo con delle date.
Poiche su questa maschera deve lavorarci il mio capo , vorrei fargli una 
cosa semplicissima , cioè se lui pigia il comando esegui prima di immettere 
le date , viene fuori un messagiio dicendogli o indirizzandolo nella giusta 
via.
Avrei pensato ad una cosa di questa , ma non so dove sbaglio (non funziona):
posta sull'evento click del comando Esegui.....
Dim Risposta As Integer
Dim Messaggio As String
Messaggio = " Il campo DataInizio e DataFine non sono stati immessi, 
Procedere?"
Risposta = MsgBox(Messaggio, vbQuestion + vbYesNo, "Nome Ditta")
If [DataInizio] = ""  & [DataFine] = "" then (qui vorrei mettere  la 
condizione di leggere  se la DataInizio e DataFine hanno valore nullo )
select case Risposta
case vbYEs
Me.DataInizio.SetFocus ( il cursore mi si sposta automaticamente sopra la 
casella di testo DataInizio) appena finisce di immpettere le DateInizio e 
Fine porecede con il filtro che è questa codinzione
 Me.RecordSource = "FatturaX"
 Me.Requery
  End If
 questa è nel caso in cui avesse già inserito le date procede 
tranquillamente con il comando esegui , senza comparire nessun messagio
' If [DataInizio] <> "" Then
 Me.RecordSource = "FatturaX"
 Me.Requery
' End If
Grazie Ragazzi 

via.
L'origine record della tua form suppongo sia qualcosa del tipo
SELECT * FROM Fatture WHERE DataFattura BETWEEN TuaForm!DataInizio And
TuaForm!DAtaFine
La soluzione più semplice, senza tanti fronzoli, consiste nel
modificare l'origine record come segue:
SELECT * FROM Fatture WHERE DataFattura BETWEEN
Format$(Nz(TuaForm!DataInizio;#01/01/1900#);"mm-dd-yyyy")  And
Format$(Nz(TuaForm!DataFine;#31/12/2100#);"mm-dd-yyyy") 
In questo modo, se le caselle di testo non vengono valorizzate,
all'istruzione SQL viene passato 01/01/1990 come DataInizio e
31/12/2100 come DataFine, senza che l'utente debba preoccuparsi di
nulla e senza che tu debba implementare controlli intricati.
Se invece è assolutamente necessario che l'utente imposti un
intervallo di date, nella routine associata all'evento SuClick del
pulsante Esegui metti il seguente codice:
If Nz(me.txtDataInizio;#01/01/1900#)=#01/01/1900# Then
   MsgBox "Impostare data inizio"
   me.txtDataInizio.SetFocus
   Exit Sub
EndIf
If Nz(me.txtDataFine;#31/12/2100#)=#31/12/2100# Then
   MsgBox "Impostare data fine"
   me.txtDataFine.SetFocus
   Exit Sub
EndIf
Ovviamente, in entrambe le soluzioni puoi usare differenti valori di
default.

"VT @ Work" <V...@Work.it> ha scritto nel messaggio 
news:46037df...@firewall.regione.toscana.it...

Grazie mille.....
 adesso provo e fi faccio sapere.........