Credevo di aver risolto ma non è così.
Non capisco perché ma dopo aver eseguito un paio di volte il codice senza problemi Access si pianta. O meglio, senza dare errore, si blocca il thread per programma e l'unica cosa da fare è chiudere il processo. Il processo attivo di access consuma una buona % di attività del processore, 50-70 % ma usa pochi migliaia di mega di RAM. Come mai??? Che Succede?
Il codice che uso è questo:
codice:
Private Sub cmdSearch_Click()
Dim rs As DAO.Recordset
Dim qdef As DAO.QueryDef
If IsNull([txTel]) And IsNull([txVisita]) Then
Set qdef = CurrentDb.QueryDefs("QueryByNomeCognome")
qdef.Parameters("Nome") = [txNome]
qdef.Parameters("Cognome") = [txCognome]
ElseIf IsNull([txTel]) = False Then
Set qdef = CurrentDb.QueryDefs("QueryByTel")
qdef.Parameters("Telefono") = [txTel]
ElseIf IsNull([txVisita]) = False Then
Set qdef = CurrentDb.QueryDefs("QueryByVisita")
qdef.Parameters("Visita") = [txVisita]
' s = s & "WHERE (GLOBALE.visita = #" & Format([txVisita], "mm/dd/yyyy") & "#);"
End If
Set rs = qdef.OpenRecordset
Set Me.Sottomaschera.Form.Recordset = rs
Set rs = Nothing
End Sub