Newsgroup: it.comp.appl.access
Titolo: Ricerche

Ciao a tutti ho questo problema, in una maschera ho creato una routine che
quando vado a inserire un nuovo record, se il codice dell' articolo e' gia'
presente mi avverte.Fin qui tutto bene, il problema e' che inserita in
questa msk c'e' anche una sottomaschera dove visualizzo i barcode
dell'articolo. Vorrei fare lo stesso anche con questa Smsk, ma non mi
riesce.Vi faccio vedere cosa ho provato:
Private Sub Barcode_AfterUpdate()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Barcode")
Set rs2 = db.OpenRecordset("AnagraficaArticoli")
Dim varCodArt As Variant
trovaarticoli = True
varCodArt = DLookup("Barcode", "Barcode", BARCODE = Me!BARCODE)
If Nz(varCodArt, "") <> "" Then
    MsgBox "Attenzione Barcode gia' presente in anagrafica con Codice " &
DLookup("Codice", "AnagraficaArticoli", BARCODE = Me!BARCODE), vbCritical,
"Attenzione"
   trovaarticoli = False
  Me!Barcode.SetFocus
End If
End Sub
Ciao

 ha scritto nel messaggio
news:O4H5a.143692$YG2.4...@twister1.libero.it...

Se il campo BARCODE č di tipo testo, prova a scrivere la prima DLookup cosě:
varCodArt = DLookup("Barcode", "Barcode", _
"BARCODE = '" & Me!BARCODE & "'")
e la seconda DLookup cosě:
DLookup("Codice", "AnagraficaArticoli", _
"BARCODE = '" & Me!BARCODE & "'")
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:WoJ5a.144104$YG2.4...@twister1.libero.it...

Il campo Barcode e' di tipo numerico - precisione doppia - fisso
Ciao

 ha scritto nel messaggio
news:jsl6a.149891$YG2.4...@twister1.libero.it...

Ed allora prova cosě:
varCodArt = DLookup("Barcode", "Barcode", _
"BARCODE = " & Me!BARCODE)
e cosě:
DLookup("Codice", "AnagraficaArticoli", _
"BARCODE = " & Me!BARCODE)


 ha scritto nel messaggio
news:Ywm6a.150058$YG2.4...@twister1.libero.it...

Cosi va bene, mi riconosce il barcode doppio, il problema e' che quando va
ad intercettare il codice dell' articolo mi restituisce sempre lo stesso
codice e non quello dell' articolo con quel barcode.
Ti riscrivo la routine:
Private Sub Barcode_AfterUpdate()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Barcode")
Set rs2 = db.OpenRecordset("AnagraficaArticoli")
Dim varCodArt As Variant
trovaarticoli = True
varCodArt = DLookup("Barcode", "Barcode", "BARCODE = " & Me!BARCODE)
If Nz(varCodArt, "") <> "" Then
    MsgBox "Attenzione Barcode gia' presente in anagrafica con Codice " &
DLookup("Codice", "AnagraficaArticoli", "BARCODE = " & Me!BARCODE),
vbCritical, "Attenzione"
    trovaarticoli = False
    Me!BARCODE.SetFocus


 Ciao
Ma ti riferisci al valore fornto dalla seconda DLookup?


 >
E cosa intendi quando dici che "mi restituisce sempre lo stesso codice e non
quello dell' articolo con quel barcode"?
Al limite se i criteri della DLookup non vengono soddisfatti la funzione ti
restituisce il valore Null e non un valore a caso; e se ti restituisse il
valore Null la MsgBox andrebbe in errore in quanto non accetta il valore
Null.



Praticamente all' inserimento di un barcode gia' presente la Msgbox mi
restituisce sempre lo stesso messaggio:
"Attenzione Barcode gia' presente in anagrafica con Codice 160111"
Non riesco a capire perche' mi riconosce i barcode doppi, ma non li associa
al codice dell'articolo!!!
Ok????
Ciao e grazie Roberto

 Ciao e grazie Roberto
