Newsgroup: it.comp.appl.access
Titolo: Problema con daTa e vba

In una form ho inseriTo una Texbox (TestoDataOdierna) che su evenTo load 
viene posTa = Date.
Dopo ciň uTilizzo il parameTro per fornire la RowSource di una listbox .
NonosTanTe ciň la cosa non funziona.
Mi poTeTe dare una mano? Deve essere qualcosa di sconTaTo ma...ho gli occhi 
foderaTi di prosciuTTo
Grazie
BC
Private Sub Form_Load()
Dim StrSql As String
Me.TestoDataOdierna = Date
StrSql = "SELECT TblEsamiLaboratorio.ID_esamiLab, 
TblEsamiLaboratorio.Id_relLab, " _
& "TblEsamiLaboratorio.Data_esame, TblEsamiLaboratorio.Ora_esame, 
TblEsamiLaboratorio.Esame, " _
& "TblEsamiLaboratorio.urgente, TblEsamiLaboratorio.note FROM 
TblEsamiLaboratorio " _
& "WHERE TblEsamiLaboratorio.Id_relLab = " & Forms!frmEsamiLaboratorio!ID & 
"  And " _
& "  TblEsamiLaboratorio.Data_esame = #" & 
Format$(Forms!frmEsamiLaboratorio!TestoDataOdierna, "mm/dd/yyyy") & "#;"
Me.ElencoEsami.RowSource = StrSql
End Sub


Questo perchè l'istruzione SQL che costituisce l'origine record di una casella combinata o di una listbox viene eseguita
una sola volta all'apertura della form.
Se l'origine record viene modificata, deve essere eseguita nuovamente ed è ciò che viene effettuato con il metodo
requery della casella (o listbox) medesima.
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------

 
http://www.faq400.com
No, il problema non è questo... ti invio il codice completo della form: ci 
sono due pulsanti che provvedono ad incrementare o diminuire la dataodierna, 
e come puoi vedere il requery c'è.
La cosa che succede è che vengono caricati i dati, ma poi non vengono 
"requerati" (anche se il comando c'è)
Grazie ancora
BC
Option Compare Database
Private Sub CmdUnGiornoAvanti_Click()
Me.TestoDataOdierna = Me.TestoDataOdierna + 1
Me.ElencoEsami.Requery
End Sub
Private Sub CmdUngiornoIndietro_Click()
Me.TestoDataOdierna = Me.TestoDataOdierna - 1
Me.ElencoEsami.Requery
End Sub
Private Sub Form_Current()
    Me.ElencoEsami.Requery
End Sub
Private Sub Form_Load()
Dim StrSql As String
Me.TestoDataOdierna = Date
StrSql = "SELECT TblEsamiLaboratorio.ID_esamiLab, 
TblEsamiLaboratorio.Id_relLab, " _
& "TblEsamiLaboratorio.Data_esame, TblEsamiLaboratorio.Ora_esame, 
TblEsamiLaboratorio.Esame, " _
& "TblEsamiLaboratorio.urgente, TblEsamiLaboratorio.note FROM 
TblEsamiLaboratorio " _
& "WHERE TblEsamiLaboratorio.Id_relLab = " & Forms!frmEsamiLaboratorio!ID & 
"  And " _
& "  TblEsamiLaboratorio.Data_esame = #" & 
Format$(Forms!frmEsamiLaboratorio!TestoDataOdierna, "mm/dd/yyyy") & "#;"
Me.ElencoEsami.RowSource = StrSql
End Sub

 "requerati" (anche se il comando c'è)
giustamente, perchè l'origine SQL della ListBox contiene delle costanti che 
come tali non variano al variare della casella testo TestoDataOdierna o 
dell'Id della maschera frmEsamiLaboratorio.
Per indirizzare il contenuto di TestoDataOdierna  e dell'Id, fai così:
----
Private Sub Form_Load()
Dim StrSql As String
Me.TestoDataOdierna = Date
StrSql = "SELECT ID_esamiLab, Id_relLab , " _
& "Data_esame, Ora_esame, Esame , " _
& "urgente, note FROM TblEsamiLaboratorio " _
& "WHERE Id_relLab = Forms!frmEsamiLaboratorio!Id And " _
& "  Data_esame = Cdate(Forms!frmEsamiLaboratorio!TestoDataOdierna);"
Me.ElencoEsami.RowSource = StrSql
End Sub
----
Ciao
--
Giorgio Rancati
[Office Access MVP] 

 [Office Access MVP]
Egregio "sor" Giorgio, ei merita un monumento !
Funziona!
grazie ancora
BC