Ho creato un modulo ed una funzioneche mi completa automaticamente i campi di una sottomaschera
codice:
Option Compare Database
Dim ws As Workspace
Dim db As Database
Dim qd As QueryDef
Dim RS As Recordset
Dim strSQL As String
Public Function cerca() As Boolean
Dim FRM As Form
Set FRM = Forms("Pannello").Vendite.Form
Set ws = DBEngine.Workspaces(0)
Set db = CurrentDb
strSQL = "SELECT * FROM Articoli WHERE BARCODE= '" & FRM!barcode1 & "'"
Set RS = db.OpenRecordset(strSQL)
If RS.EOF Then
GoTo errLogon
End If
Forms!Pannello.Vendite!codice1 = RS!referenza
Forms!Pannello.Vendite!descrizione1 = RS!desc
Forms!Pannello.Vendite!prezzo1 = RS!prezzo
RS.Close
db.Close
Exit Function
errLogon:
MsgBox "ATTENZIONE! - Articolo sconosciuto!", 0, "xx"
RS.Close
db.Close
End Function
il modulo funziona, ma ora ho bisogno di fare la stessa cosa su un'altra sottomaschera della stessa maschera.
Il problema è che se aggiungo una funzione (con i campi relativi alla nuova sottomaschera ovviamente)
codice:
Public Function cerca2() As Boolean
Dim FRM As Form
Set FRM = Forms("Pannello").Clienti.Form
Set ws = DBEngine.Workspaces(0)
Set db = CurrentDb
strSQL = "SELECT * FROM Tessere WHERE BARCODE= '" & FRM!Testo0 & "'"
Set RS = db.OpenRecordset(strSQL)
If RS.EOF Then
GoTo errLogon
End If
Forms!Pannello.Clienti!Testo1 = RS!NOME
Forms!Pannello.Clienti!Testo2 = RS!COGNOME
Forms!Pannello.Clienti!Testo3 = RS!INDIRIZZO
RS.Close
db.Close
Exit Function
errLogon:
MsgBox "ATTENZIONE! - Cliente sconosciuto!", 0, "xx"
RS.Close
db.Close
End Function
mi da un "Errore di runtime 3061 - Previsto 1" e mi localizza l'errore in:
Set RS = db.OpenRecordset(strSQL)
Mentre se creo un nuovo modulo uguale al primo (ma sempre con i campi relativi alla nuova sottomaschera) non mi funziona e non mi funziona nemmeno quello precedentemente creato per la prima sottomaschera.
Qualcuno mi sa aiutare?