Newsgroup: it.comp.appl.access
Titolo: controllo possibili duplicati perima di inserire

salve a tutti, vorrei sottoporvi un problema sperando che qualcuno di voi mi
aiuti:
ho creato un database di strumenti e nell'inserimento delle schede gli
strumenti provengono da una tebella chiamata strumenti, la scelta viene
effettuata sulla maschera tramite una combo; nell'evento "su non in elenco",
faccio aprire una maschera basata sulla tabella strumenti che mi permetta di
inserire gli strumenti nu8ovi che non sono in elenco....fino qui tutto ok,
...ora vorrei effettuare un controllo su i nuovi record da inserire su
quest'ultima per evitare l'inserimento di possibili duplicati... ho provato
ad usare qualcosa trovato sul sitocomune ma non funziona come dovrebbe anche
perchč ho qualche problema con i comandi di Recordset tipo:
Private Sub Form_BeforeUpdate(Cancel As Integer)
     Dim rs As Object
 Set rs = Me.Recordset.Clone
     rs.MoveFirst
     rs.FindFirst "[COSTRUTTORE] = '" & Me![COSTRUTTORE] & "'" And
"[MODELLO]= '" & "Me![MODELLO] &" '"
  If Not rs.EOF Then
          Dim Msg, Style, Title, Help, Ctxt, Response, MyString
  Msg = "STRUMENTO GIA' ESISTENTE" ' Definisce il messaggio.
  Style = vbExclamation  ' Definisce i pulsanti.
  Title = "ATTENZIONE"    ' Definisce il titolo.
  'Help = ""    ' Definisce il file della Guida.
  'Ctxt =    ' Definisce il contesto dell'argomento.
           ' Visualizza il messaggio.
  Response = MsgBox(Msg, Style, Title, Help, Ctxt)
       If Response = vbYes Then    ' L'utente sceglie il pulsante Sě.
           MyString = "Sě"    ' Esegue un'azione.
       Else    ' L'utente sceglie il pulsante No.
           MyString = "No"    ' Esegue un'azione.
       End If
   End If
End Sub
costruttore e modello sono i due campi della tabella che non devono
contenere duplicati se cosě č l'inserimento viene annullato.
c'č qualcuno che mi possa mettere sulla retta via?
Grazie in anticipo  Gigi

 Grazie in anticipo  Gigi
Forse non ho capito molto bene il tuo problema, ma io per verificare che non
esistono duplicati per costruttore-modello io non ricorrerei a VBA; aprirei
la struttura della tabella, mi crerei un indice contenente i due campi e per
quell'indice imposterei a No la proprietà Duplicati non ammessi.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:c_b9d.29533$H11.9...@twister1.libero.it...

Innanzitutto grazie x aver risposto, il mio problema e la dabella ha gia un
indice ID_STRUMENTO che mi identifica il costruttore ed il modello di ogni
tipo di strumento, solo che se ce ne sono di nuovi(e quindi non sono
elencati nella cmbo) devo permettere all'operatore l'inserimento.... xò
certe volte capita che questi inseriscano il nuovo record (lo strumento) no
accorgendosi di duplicarlo (magari x errori di battitura) quindi nella
masche di inserimento che si apre dopo che nella combo non c'e lo strum,
prima di salvare il nuovo record vorrei fare una ricerca di duplicati per
far si che non ne esistano; va da se che quando si inseriscono nuovi record
l'ID_STRUMENTO viene incrementato da solo e quindi per il db lo strumento è
unico xche ha un numero che non è duplicato (è proprio la combinazione di
Costruttore+Strumento che mi rende unico il record)
Spero di aver esposto con più chiarezza il mio problema.
grazie  Gigi

 grazie  Gigi
Penso proprio di non essermi spiegato a sufficienza, perché se tu avessi
creato un indice formato da quei due campi e che avesse l aproprietà
Duplicati non ammessi impostata a NO, Access non ti avrebbe MAI permesso di
inserire un nuovo record nella tabella strumenti se in essa già esistesse un
record con quei due campi che avessero gli stessi valori: Access non
inserirebbe il nuovo record e ne darebbe avviso con un messaggio di errore.


 ---------------------------------------------
Ok scusate se ho tagliato il quoting ma era un pò troppo lungo....
Grazie roberto x il consiglio, ora sono riuscito a capire cosa intendevi
dire, sai com'è certe volte cerchi tra le più strane soluzioni quando quelle
semplici sono le più ovvie.....comunque ho provato ed ora è tutto ok;
all'inizio mi dava degli errori poi mi sono accorto che qualcuno aveva già
inserito uno strumento "doppio" e quindi ho corretto il tutto risolvendo il
problema.
Grazie ancora, è un piacere poter disporre di NG coì utile e competente.
Ciao