Newsgroup: it.comp.appl.access
Titolo: avvertimento di un record già esistente

vorrei, avendo una maschera di inserimento,che se in un campo testo 
inserisco un dato già esistente in un altro record, mi comparisse un
messaggio di avvertimento che esiste già un record con quel dato (o più di
uno), ma che mi possa permettere di reinserirlo.
come posso fare?
grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 grazie
Puoi usare la funzione di aggregazione sui domini DCount
ben documentata nell'Help ed inserirla nell'evento
before_update di maschera, questo però ti obbligherebbe
a forzare il Cancel pertanto perderesti tutto il Record.
Se invece vuoi forzare solo la modifica del contenuto del
Controllo in questione inseriscilo nell'Evento LostFocus
e riposiziona il Focus magari con un messaggio.
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
Ho provato a usare la quida, ma il dcount , a quanto ho capito, parla di
conteggio record. L'espressione a cui fai riferimento non ho capito quale
sia. Mi andrebbe bene che se il valore inserito nel campo fosse dupricato,
si aprisse un messaggio di avvertimento (anche mascherina separata
andrebbe bene) che il valore del campo gia esiste in un altro record .
Che il controllo devo inserirlo nell'Evento LostFocus l'ho capito, ma cosa
inserirci non l'ho capito.
Pardon


 Pardon
DCount effettuvamente conta i records, ma se leggi bene puoi
inserire una condizione, in questo modo è come se dicessi alla
funzione:
Dimmi quanti records uguali a me ci sono nella tabella..?
Ovvio che se restituisce un valore >0 è duplicato non credi...!!!!!
Saluti


 @Alex
il fatto è che non so come chiederglielo!   :-))
ci sto' provando, ma  per ora niente!


 ci sto' provando, ma  per ora niente!
ciao Luigi,
se non ci sei ancora, provo a darti una mano.
Supponiamo che la tabella/query/origine record su cui vuoi utilizzare Dcount
si chiami TuaTabella e che il campo si chiami TuoCampo.
Su before update event ci scrivi :
if DCount("tuoCampo", "TuaTabella", "TuoCampo=" & Me.TuoCampo)>0 then
        MsgBox ("Attenzione! record duplicato, lo aggiungo comunque."),
vbCritical
End If
se il controllo tuoCampo della maschera è di tipo testo devi passare la
condizione Where tra apici ...."TuoCampo='" & Me.TuoCampo &"'". Se il nel
nome del campo o tabella sono presente degli spazi passalo alla funzione tra
parentesi quadre."[tuo Campo]".
Se tabella pullula di records, è certamente ti consiglio di seguire questa
faq di @Alex : 3.107 Ricerca duplicati del SC.
ciao, Sandro

 ciao, Sandro
ho provato a seguire il tuo consiglio ma la formula che mi hai suggerito e
che ho adattata :
Private Sub Nome_AfterUpdate()
If DCount("nome", "dipendenti", "nome=" & Me.Nome & "") > 0 Then
MsgBox ("Attenzione!record duplicato, lo aggiungo comunque?")
vbCritical
End If
End Sub
mi da errore su vbcritical
dove sbaglio?
adesso vado anche a leggere la faq di alex


 adesso vado anche a leggere la faq di alex
Leggi anche l'Help della funzione Dcount
MsgBox "Attenzione!record duplicato, lo aggiungo comunque?",vbCritical
Ciao


 @Alex
ciao 


 ciao, Sandro


 ciao


 @Alex
alessa'! se mi vuoi aiutare, bene!
ma non mortificarmi con le tue sentenze! se avessi la tua cultura su
access e mi fosse chiara la spiegazione dell'help come lo č per te, non
romperei le scatole a voi che ne sapete di piů.
per me č difficile e anche se cerco di capire, non ci riesco!
scusa l'ignoranza ma non tutti stanno al tuo livello.


 ciao, Sandro


 adesso vado anche a leggere la faq di alex
Per la faq di @Alex: sez. forms, faq 3.107, ma di consiglio prima di
metterti a regime con Dcount.
ti saluto, buon fine settimana.
Sandro.

 > ciao, Sandro
ri-ciao Luigi,
credo che le indicazioni le trovi nel post che ho scritto poco fa. Cercala
sul SC quella faq.
Non ho capito cosa non è attivo ...
Ciao, Sandro

 Sandro.
luigi


 Sandro.
adesso non mi da errori ma non mi da neanche l'avvertimento.
ti riposto il codice, che a me sembra aver copiato e tradotto perfettamente
Private Sub Nome_BeforeUpdate(Cancel As Integer)
If DCount("nome", "dipendenti", "nome="" & Me.Nome & """) <> 0 Then
MsgBox ("attenzione!record duplicato"), vbCritical
End If
End Sub
č cosi?
se no, dove sbaglio?


 se no, dove sbaglio?
Ciao Luigi,
la Dcount la devi impostare in modo che la verifca venga fatta se il
risultato è >0 non <> 0.
Dacci un'occhio che ormai ci sei !
Ciao, Sandro


ooops, mi correggo, ti ho risposto troppo frettolosamente.  Il msg dovrebbe
visualizzarlo comunque anche se dici <>. E' logicamente piů corretto
impostarlo a >0.
Se non viene resituita la msgbox controlla se hai scritto correttamente il
dominio e il nome del campo.
Non so proprio cos'altro suggerirti :-)
Ciao, Sandro.

 Ciao, Sandro.
ciao


 quindi ricreabile in poco tempo.
significa che non hai ottenuto il risultato voluto  ?
e' corretta la mail che vedo ? Devo mandarti una demo ?
Ciao, Sandro

 Ciao, Sandro
grazie


[cut]
Ciao Luigi,
ti mando una demo, spero risolutiva.
Saluti, Sandro

 Saluti, Sandro
ha! ha! AAAAAAAHHHH!!!!!
ho trovato l'inchippo !!!
io avevo messo il doppio apice " al codice invece che l'apice '
e non ci avevo fatto caso, eppure l'ho letto tante di quelle volte!
fissandomi sulla convinzione che l'inchippo stava altrove.
Di una cosa mi consolo che hai letto anche tu il codice che ti ho spedito
e non te ne sei accorto che avevo scambiato ' per "
If DCount("nome", "dipendenti", "nome="" & Me.Nome & """) <> 0 Then
he! he!
comunque grazie! specialmente per la pazienza (che qualcun'altro non ha!)
:-)) 
la sintassi è più crudele del codice stesso!
ora si! un buon fine settimana!!!!!!!


 ora si! un buon fine settimana!!!!!!!
contraccambio. Ciao.
Sandro