Newsgroup: it.comp.appl.macromedia
Titolo: [DWUD] Aiuto...dati duplicati...

....ammetto di non avere una grande esperienza sui database...ma il problema
che ho mi toglie il sonno e mi sembra stano che non abbia una soluzione
immediata...
....il quesito...attraverso un form di inserimento registro i dati anagrafici
di una persona in una tabella Access... la chiave primaria di questa tabella
è di tipo testo (e non contatore altrimenti il problema non si porrebbe) ed
è il Codice fiscale...finchè inserisco dati nuovi tutto bene...ma nel
momento in cui inserisco un nominativo (ovvero un codice fiscale) già
presente, ovviamente quando invio i dati mi esce fuori una bella paginetta
di errore che dice che (giustamente) non possono esistere due dati con la
stessa chiave...
preciso che non posso cambiare la chiave in contatore...ed anche se potessi
avrei comunque da risolvere il problema dei duplicati...
....la domanda...come faccio a gestire questa situazione? Ovvero esiste un
sistema che permetta almeno di aprire una pagina apposita in cui segnalare
l'errore in maniera più opportuna? Per capirci se faccio una ricerca dati e
non trova niente attraverso Show is empty evito che escano errori
indesiderati...esiste una soluzione anche per questa circostanza? Magari una
Extension...Oppure in alternativa in che modo posso fare un controllo appena
ho inserito il codice fiscale?
....sono un po' sconsolato...Se interpreto bene...questo è ciò che conclude
Macromedia in proposito...
"The changes you requested to the table were not successful because they
would create duplicate values in the index, primary key, or relationship."
Issue
This error is related to the database not being able to handle the update or
insert the Server Behavior that it is trying to perform.
Reason
The Server Behavior is attempting to update or insert into a database
table's auto number field. The database can't handle an external input into
an Autonumber field. When a record is inserted the autonumber is defined
automatically, so when the update or insert behavior tries to place another
item into the field it fails.
Solution
When applying the Insert or Update Server Behavior, ensure that no
information is modifying an autonumber field.
Grazie
DADO

 
Embè PRIMA devi fare una query al db e verificare se già esiste un record 
con quel codfisc. Se non c'è, procedi con l'inserimento (aggiungi un IF), 
se invece c'è rimetti la pagina della registrazione con una bella 
scrittona...
Ma cmq non usare i comportamenti di UD, scrivi a mano!
Si tratta in fondo di una ventina di righe al massimo. UD te ne farà 
invece un centinaio, immagino.
E poi puoi aprire una connessione al db, usarla per verificare 
l'esistenza del codfisc, e contemporaneamente usarla per l'inserimento.
Poi buona cosa, aprire e chiudere le connessioni nell'esatto momento in 
cui ti servono, e chiuderle immediatamente dopo. UD apre all'inizio 
pagina, chiude in fondo (spreco di risorse per il server).
Questo detto da un utilizzatore di DW.

 ho inserito il codice fiscale?
Questo in qualche modo dovrebbe essere possibile... non mi chiedere il 
codice ;) ma ecco come dovrebbe funzionare: nella pagina contenente il 
modulo per l'inserimento crei un recordset costituito dall'elenco di 
tutti i codici fiscali già esistenti; poi associ al pulsante "submit" 
uno script che prende il codice fiscale inserito e si fa la scansione di 
tutto il recordset, cercando se quel codice esiste già; se già esiste, 
mostra una finestrella di errore e non procede con il submit. In caso 
contrario, procede con il submit.
Magari esistono anche funzioni ASP-VBScript già pronte per controllare 
l'esistenza di una stringa in un recordset (il quale potrebbe essere 
ordinato alfabeticamente), non saprei...
-- 
Ciao,
  Marco.
..."Euphoria Morning", Chris Cornell 1999

Grazie per i preziosi consigli...
....influenza permettendo ci medito su anche se
mi rendo conto di avere ancora parecchio da imparare in questo campo...
DADO