Ho il seguente modulo che, con la Function "cerca2()" mi compila automaticamente una form.
In pratica mi va a prendere dalla tabella "tab_art_vend1" l'articolo che ha una corrispondenza con il barcode che inserisco nella Form, e mi compila automaticamente il campo "descrizione1".
codice:
Oprion Compare Database
Option Explicit
Dim ws As Workspace
Dim db As Database
Dim qd As QueryDef
Dim RS As Recordset
Dim strSQL As String
Public Function cerca2() As Boolean
Dim FRM As Form
Set FRM = Forms("Pannello").vendite.Form
Set ws = DBEngine.Workspaces(0)
Set db = CurrentDb
strSQL = "SELECT * FROM Tab_Art_Vend1 WHERE BARCODEven= '" & FRM!barcode1 & "'"
Set RS = db.OpenRecordset(strSQL)
If RS.EOF Then
GoTo errLogon
End If
Forms!pannello.vendite!descrizione1 = RS!Descri
RS.Close
db.Close
Exit Function
errLogon:
MsgBox "ATTENZIONE! - Articolo sconosciuto!", 0, "Programma"
RS.Close
db.Close
End Function
Fino a qui tutto bene.
Il problema è che ho diversi barcode uguali, ma con diverse descrizioni a seconda del LISTINO al quale sono associati (il motivo è lungo da spiegare) e questa funzione mi estrae sempre il primo che trova.
Io a questo punto avrei bisogno di dare 2 CONDIZIONI alla ricerca: e cioè di trovare la corrispondenza con il barcode come fa già adesso, ma anche con la condizione che il campo LISTINO del record estratto corrisponda ad un campo "PARAMETRO" non associato della Form che è aperta.
Ad esempio: compilami il campo "descrizione1" che abbia corrispondenza con il barcode inserito, e nel quale il campo LISTINO corrisponda al campo PARAMETRO della Maschera.
Ho modificato questa riga così:
codice:
strSQL = "SELECT * FROM Tab_Art_Vend1 WHERE BARCODEven= '" & FRM!barcode1 & "'" And RS!listino = Forms!pannello!Parametro
ma mi da un errore "variabile oggetto o variabile del blocco with non impostata"
Dove sbaglio?
Spero di essermi spiegato bene...