Buonasera a tutti.
Ho creato un funzione pubblica che ha lo scopo di ritornare il valore del prezzo del prodotto in vigore al momento dell'allestimento della fattura.
La funzione cerca nella tabPrezzi il prezzo controllando l'IDProdotto, l'IDListino e confrontando la data della fattura con le date di inizio e fine validità del prezzo.
Questo il codice:
Public Function retrieveIdPrezzoUnitario(ByVal nIDProdotto As Long, ByVal nIDListino As Long, ByVal dDataMovimento As Date) As Variant
'Converto data nel sistema anglosassone
Dim ConvertedData As Date
ConvertedData = Format$(dDataMovimento, "mm/dd/yyyy")
' Imposta valore di default = 0
retrieveIdPrezzoUnitario = 0
' Ricerca il Prezzo
Dim varRtm As Variant
varRtm = DLookup("[PrezzoUnitario]", "tabPrezzi", "[IDProdotto] =" & nIDProdotto & " AND [IDListino]=" & nIDListino & " AND [DataFineValidita]>#" & ConvertedData & "# AND [DataInizioValidita]<#" & ConvertedData & "#")
' Ritorna il valore
If Not IsNull(varRtm) Then retrieveIdPrezzoUnitario = varRtm
End Function
Ottengo però un errore di sintassi nella query dei criteri della funzione Dlookup (errore run-time 3075).
Non riesco a capire dove si trovi, mi sembra tutto corretto.
Grazie per l'aiuto!