Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

controllare se esiste già un record

1,318 views
Skip to first unread message

Luca

unread,
Jun 17, 2003, 5:20:07 AM6/17/03
to
Ciao a tutto il ng.
tramite una maschera inserisco dei dati in svariate tabelle tutte linkate
tra di loro tramite una campo codice (chiave no duplicati)
per mezzo di un pulsante vado ad aggiungere dei record su queste tabelle
quello che mi piacerebbe fare è che prima di aggiungere il record si potesse
fare un controllo se il record è già esistente. Mi spiego meglio:
schiacciando il pulsante viene aggiunto un record. Attualmente se lo
schiaccio due volte chiaramente mi da errore perchè non posso duplicare un
record con dei campi chiave.
C'è la possibilità di fare una query da codice (magari con un contatore per
il campo chiave >0 non eseguire aggiunta record perchè già esistente)?
grazie

Luca

--------------------------------
Inviato via http://usenet.libero.it

Alex

unread,
Jun 17, 2003, 5:59:44 AM6/17/03
to
"Luca" <pi...@libero.it> wrote in message
news:217Z56Z224Z171Y...@usenet.libero.it


Ti conviene usare la Funzione DlookUp(F1) per verificare
l'esistenza del Record, se non esiste esegui il Salvataggio
altrimenti Me.UNDO

@Alex.


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Roberto da casa

unread,
Jun 17, 2003, 6:10:40 AM6/17/03
to

"Luca" <pi...@libero.it> ha scritto nel messaggio
news:217Z56Z224Z171Y...@usenet.libero.it...

Potresti usare la funzione DCount per contare i record presenti nella
tabella che rispettano certe condizioni (le condizioni stabilite con i
criteri della funzione DCount); se la DCount ti restituisce un valore
maggiore di zero significa che il record già esiste.

--
Roberto

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


Luca

unread,
Jun 17, 2003, 6:13:52 AM6/17/03
to
Il 17 Giu 2003, 12:10, "Roberto da casa" <r.ma...@libero.it> ha scritto:
>
> "Luca" <pi...@libero.it> ha scritto nel messaggio
> news:217Z56Z224Z171Y...@usenet.libero.it...
> > Ciao a tutto il ng.
> > tramite una maschera inserisco dei dati in svariate tabelle tutte
linkate
> > tra di loro tramite una campo codice (chiave no duplicati)
> > per mezzo di un pulsante vado ad aggiungere dei record su queste tabelle
> > quello che mi piacerebbe fare è che prima di aggiungere il record si
> potesse
> > fare un controllo se il record è già esistente. Mi spiego meglio:
> > schiacciando il pulsante viene aggiunto un record. Attualmente se lo
> > schiaccio due volte chiaramente mi da errore perchè non posso duplicare
un
> > record con dei campi chiave.
> > C'è la possibilità di fare una query da codice (magari con un contatore
> per
> > il campo chiave >0 non eseguire aggiunta record perchè già esistente)?
> > grazie
> >
> > Luca
>
> Potresti usare la funzione DCount per contare i record presenti nella
> tabella che rispettano certe condizioni (le condizioni stabilite con i
> criteri della funzione DCount); se la DCount ti restituisce un valore
> maggiore di zero significa che il record già esiste.
>
era + o - quello che pensavo. Il fatto è che non so come farlo da codice.
Riesci a scrivermi due righe tanto da darmi il ..."la"?

Roberto da casa

unread,
Jun 17, 2003, 8:31:40 AM6/17/03
to

Se la tabella si chiama Tabella1.
Se il campo che non deve avere valori doppi è numerico e si chiama Pippo.
Se la casella di testo associata al campo Pippo si chiama anche lei Pippo.

If DCount("*", "Tabella1", "Pippo=" & Me!Pippo) <> 0 Then
MsgBox "Il record con Pippo uguale a " & Me!Pippo _
& " già esiste"
End If

se invece Pippo è un campo di tipo testo prova così:

If DCount("*", "Tabella1", "Pippo='" & Me!Pippo & "'") <> 0 Then
MsgBox "Il record con Pippo uguale a " & Me!Pippo _
& " già esiste"
End If

Luca

unread,
Jun 17, 2003, 10:50:48 AM6/17/03
to
Funziona ma ancora a fatica.
il campo "pippo" è di tipo testo ma all'interno ci sono delle cifre e in
alcuni casi una lettera finale. il mio dcount si basa propio nel cercare
quei record che hanno un codice con la lettera finale.
Nella funzione che hai fatto tu funziona se pippo è =' 50306P' ma se io al
posto di scriverlo metto Me!pippo ne trova 0. Penso che dipenda dal fatto
che ho un "carattere vuoto" prima della prima cifra. Ho provato a raggirare
l'inconveniente utilizzando vecchi ricordi del basic
rtrim$(ltrim$(me!pippo)) ma pur non dando errore mi risponde sempre 0
Ho provato anche con il rigth$(me!pippo,6) stesso discorso....
Hai qualche idea?

Grazie ancora

Luca

unread,
Jun 17, 2003, 11:47:16 AM6/17/03
to
Grazie!!
Risolto. era semplicemente una questione di "'.
Grazie ancora!
0 new messages