Newsgroup: it.comp.appl.access
Titolo: Trovare record

Ciao ho un problema
dopo l' aggiornamento di un campo ho costruito una funzione che mi trova se
un articolo e' gia' presente in anagrafica, pero' ho un problema, riconosce
l'articolo gia' presente solo se l' articolo e' numerico, mentre invece se
alfanumerico non me lo riconosce e me lo fa inserire lo stesso. Perche'?????
La funzione e' questa:
Function trovaarticolo()
    Dim db As Database
    Set db = CurrentDb
    Dim tb1 As Recordset
    Set tb1 = db.OpenRecordset("AnagraficaArticoli")
        tb1.MoveFirst
      Do Until tb1.EOF
     If Forms!anagraficaarticoli.Codice.Text = tb1![Codice] Then
MsgBox "Attenzione articolo gia' presente in anagrafica: " &
tb1![Descrizione], vbCritical, "Attenzione"
     Forms!anagraficaarticoli.Codice = " "


una findfirst sul recordsetclone no eh? Ti va di perdere tempo.
Roberto da casa (Roberto Massoni) ti farebbe fare una Dlookup.
--
a.cara

Alessandro Cara wrote:
[cut]
P.S.
Non sono entrato nel merito ma quel loop 
mi ha fulminato
ma me!codice non basta?
--
a.cara

 a.cara
Anch'io farei un Dlookup, ho notato che fino a circa 15000 Record
non conviene aprire un Recordset....!!!
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
corretto. Ma in questo caso il recordset e' gia' aperto trattandosi
del recordsetclone, mentre la dlookup lo deve aprire.
Cmq non sono disposto a diventare Muzio Scevola, non ho fatto
"benchmark" tra l'uso di findfirst e dlookup, potrebbe dipendere
anche dalla presenza o meno di indici
--
a.cara

 a.cara
Chiedo scusa, ma non volevo essere frainteso sull'affermazione,
volevo solo evidenziare che vale la pena valutare le condizioni
di lavoro per ottimizzare le procedure, cosa che molti non fanno.
Certo che sei permaloso.....!... poi di mani ne hai 2...!
Ciao.
@Alex.


 a.cara
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Certo che sei permaloso.....!... poi di mani ne hai 2...!
permaloso? de piu'.
Mi pare di capire che ritieni che per me due mani sono troppe.
Mammaaaaaaaaaaa, c'e' alex-ictuzoc che mi vuole fare la bua!
--
a.cara

 a.cara
No... C'era un tizio in TV che diceva "Ti spezzo le braccine nonno..!!"
Ciao Alessandro.
@alex-ictuzoc


 Ok per la DlookUp ma come!!!!!

 > Ok per la DlookUp ma come!!!!!
Con l'HELP.............!
Ci sono n^n esempi.....!
GUARDALI.
@Alex.


 No... C'era un tizio in TV che diceva "Ti spezzo le braccine nonno..!!"
Nico, il sardo
Antonio

 Antonio
LUI.....!
HAIO....!
@Alex.


 In che senso...??
Nel senso di costringere qualcuno ad un qualsivoglia contatto ravvicinato
col Berluska.
Le perversioni hanno un limite!!!
Antonio


Se il campo Codice è di tipo numerico, a fronte dell'evento "Prima di
aggiornare" del controllo Codice prova con:
If Not IsNull(DLookUp("Codice", "AnagraficaArticoli", "Codice='" & Me!Codice
& "'")) Then
    MsgBox "Attenzione articolo gia' presente in anagrafica: ", vbCritical,
"Attenzione"
    Cancel = True
    Me!Codice.Undo
End If
Se invece il campo Codice è numerico prova con:
If Not IsNull(DLookUp("Codice", "AnagraficaArticoli", "Codice=" &
Me!Codice)) Then
    MsgBox "Attenzione articolo gia' presente in anagrafica: ", vbCritical,
"Attenzione"
    Cancel = True
    Me!Codice.Undo
End If


SCUSAMI, volevo scrivere:
Se il campo Codice è di tipo TESTO, a fronte dell'evento "Prima di
aggiornare" del controllo Codice prova con:
If Not IsNull(DLookUp("Codice", "AnagraficaArticoli", "Codice='" _
& Me!Codice & "'")) Then
    MsgBox "Attenzione articolo gia' presente in anagrafica: ", vbCritical,
_
"Attenzione"
    Cancel = True
    Me!Codice.Undo
End If
Se invece il campo Codice è numerico prova con:
If Not IsNull(DLookUp("Codice", "AnagraficaArticoli", "Codice=" & _
Me!Codice)) Then
    MsgBox "Attenzione articolo gia' presente in anagrafica: ", vbCritical,
_


 Antonio
He, He.... ;-)
