Newsgroup: it.comp.appl.access
Titolo: Valore esistente

Ho una tabella (tbldati)con un campo1 numerico, e altri campi
Una maschera per l'inserimento dati, "mskdati"
Vorrei che all'inserimento nel campo1 di un numero, mi presentasse
un msgbox, se il numero esiste già.
Ho visto nei 3d precedenti che ci sono degli esempi, ma non riesco a farli
funzionare nel mio caso.
un esempio che ho trovato  questo e lho messo nell'evento prima di
aggiornare
nel controllocampo1 della msk.
If IsNull(DLookup("campo1", "tbldati")) Then
exit sub
Else
MsgBox "messaggio personaizzato"
Me.Undo
End If
End Sub
Funziona tutto,nel senso che non mi da errore, ma mi risponde col msg ad
ogni
mio inserimento a prescindere dalla presenza o meno del valore nella tbl!
Dove sbaglio?
Bye, Debora.

 ha scritto nel messaggio
news:reid9.148883$n04.3...@twister2.libero.it...

Sei stata brava a leggere i post precedenti ma se leggevi bene tutte le
risposte (tranne la mia!!!) vedevi che sul DLookUp dovevi mettere anche la
condizione WHERE:
If IsNull(DLookup("[campo1]", "tbldati", "[campo1] = " &
Chr$(34) & Me.campo1 & Chr4(34)))
Prova così, dovrebbe funzionare.
PS: Invece di Me.Undo metti
Me.Campo1.Undo
Cancel = True
Ciao, FABIO

 ha scritto nel messaggio
news:pkid9.148904$n04.3...@twister2.libero.it...

 Ciao Fabio, ho provato la tua soluzione, ma mi restituisce un errore su
me.campo1
eppoi la condizione WHERE, non la vedo neanche nel tuo esempio o sto
scrivendo
diavolerie?
bye,Debora.

 diavolerie?
Ma leggere un po' di help pare brutto?
Vedresti che la condizione where č il terzo parametro della dlookup,
facoltativo.
Non dici che errore ti da, comunque.
Si chiama campo1 il CONTROLLO che sta sulla maschera?
Tieni anche presente che, se campo1 della tabella č di tipo numerico, non ci
vanno gli apici singoli, cioč i chr(34)
Antonio
P.S.
Niente h eh?
sigh

 eppoi la condizione WHERE, non la vedo neanche nel tuo esempio
Infatti nel mio esempio avevo riportato la Dlookup cosě com'era stata
scritta senza accorgermi che mancava la clausola WHERE....
Fabio

 vanno gli apici singoli, cioè i chr(34)
Chr(34) sono i doppi apici..."
:-)
FABIO

 ha scritto nel messaggio
news:hWid9.146958$lu5.3...@twister1.libero.it...

Uh?
Neanche ho verificato, visto che normalmente nelle condizioni where usate
nelle dlookup o in cose tipo i filtri via codice o i find, si usano gli
apici singoli...
"Nome = 'pippo'"
Antonio

 ha scritto nel messaggio
news:LTid9.146950$lu5.3...@twister1.libero.it...

quindi come devo scrivere?

 
  Un paio di 3d addietro, subject: DCount.
  Li troverai la soluzione (la sintassi di DCount č uguale a quella di 
DLookup).
  Ciao.
------------------------------------------
http://digilander.libero.it/SimonenomiS/

 ha scritto nel messaggio
news:reid9.148883$n04.3...@twister2.libero.it...

Prova con:
If IsNull(DLookup("campo1", "tbldati", "campo1=" & _
Me!controllocampo1)) Then
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:kPod9.148538$lu5.3...@twister1.libero.it...

Secondo me voi date per scontato che chi fa le domande sia abbastanza
esperto da capire subito le risposte, Non è così, dalle risposte che avete
dato non sono riuscito a capire come fare. Sarebbe auspicabile che qualcuno
posti la funzione completa.
Scusate l'intrusione.
Grazie.
Ciao

 posti la funzione completa.
E provare ad integrare il tutto con una bella "smucinata" dell'help on
line?!?
Antonio


ohhh, finalmente! :-))))))
ok perfetto! Grazie Roby (ti posso chiamare così?)
e per chi ne vuol fare uso posto il codice completo che serve a
verificare se il numero del campo1 esiste già nella tabella tbldati.
va messo sull'evento prima di aggiornare del controllocampo1.
If IsNull(DLookup("campo1", "tbldati", "campo1=" & _
 Me!controllocampo1)) Then
exit sub
Else
MsgBox "messaggio personalizzato"
Me.campo1.Undo
cancel = true
End If
Spero di aver scritto bene.
Bye Debora

 Antonio
Ciao
Roberto

 Bye Debora


 ha scritto nel messaggio
news:WJqd9.116$%z1....@twister1.libero.it...
[CUT]

Non è un problema di presunzione, ma è una convenzione che, se in un codice
postato c'è solamente una riga errata, si risponde inviando solamente la
riga corretta: questo al fine di rendere il thread più leggibile ed
evidenziando più facilmente a Debora dove è l'errore.
Resta il fatto che il codice completo lo ha postato Debora, quindi non è
necessario che lo faccia anche io, sempre che non ti urti andare a leggerti
il messaggio di debora.


 qualche messaggio. :-)
Mah...
Secondo me si sarebbe potuto capire benissimo lo stesso con un po' di buona
volontà...
Antonio