Newsgroup: it.comp.lang.visual-basic
Titolo: ADO e AddNew

Salve a tutti e scusate l'intrusione. Vengo al punto: Dovendo
sviluppare un piccolo progetto ne ho aprofittato per usare ADO.
Ho problema; in una tabella aperta così:
Set cnn1 = New ADODB.Connection
cnn1.Provider = "Microsoft.Jet.OLEDB.3.51"
cnn1.Open "Archivio.mdb", "Admin", ""
' Apre la tabella Dati.
Set rstDati = New ADODB.Recordset
Set rstDati.ActiveConnection = cnn1
rstDati.CursorType = adOpenKeyset
rstDati.LockType = adLockOptimistic
rstDati.Open "Dati", , , , adCmdTable
Devo leggere dei dati di una seriale e scriverli in tabella:
For Ind = 1 To 999
MSComm1.Output = "D" & Format(Ind, "000") & Chr(13) & Chr(10)
    Do
        dummy = DoEvents()
        ' Se il buffer contiene dati, questi vengono letti.
        If MSComm1.InBufferCount Then
            ' Controlla se "OK" è stato inoltrato.
            rstDati.AddNew
            rstDati!Dati = MSComm1.Input
            rstDati!CodCli = FmCodCli
            rstDati!CodProd = FmCodProd
            rstDati!Prg = Ind
            rstDati.Update
            Exit Do
        End If
    Loop
Next Ind
Dopo aver scritto il 1° record  al secondo mi dice:
L'apporto modifiche non è riuscito perché si è cercato di duplicare i
valori nell'indice, nella chiave primaria o nella relazione ecc ecc.
La chiave era inizialmente composta da rstDati!CodCli,
rstDati!CodProd, rstDati!Prg, poi ho provato aggiungendo un campo
contatore e specificandolo come la Primary Key. 
Ho provato:
- ad aggiungere un 'MoveNext' dopo il metodo 'Update'
- ad utilizzare il Jet 4.0
- utiliizzare una sorgente DNS
Ma niente; l'unica cosa che capisco è che il problema legato o
all'apertura della Connection oppure all'apertura del RecordSet
-----------------------------------------------------
Roberto Bergonzini -MO- 
robb...@tin.it
Microsoft Certified System Engineer
Microsoft Certified Professional Specialist Internet
-----------------------------------------------------

 -----------------------------------------------------
Non vedo scorrere la tabella ....hai provato con Movenext sul record ?

La chiave era inizialmente composta da rstDati!CodCli...

univoca dove non dovrebbe essere univoca...
Il problema è che quando hai un problema le cose che pensi in sequenza
sono:
- Come caxxo funziona questa cosa!
- Ma questa guida in linea cosa ce l'hanno messa a fare se non mi da
le risposte che cerco
- Calma sono io che non sono capace di scrivere prg
- Ehhh no io le ho provate tutte quindi è Windows-Vb che non vanno
.....
- Mah tentiamo un post su 'it.comp.lang.visual-basic'
..... (dopo una risposta su it.comp.lang.visual-basic)
MA QUANTO SONO RINCOGLIONITO!!!! 
Nel creare la tabella da zero, Access ha prob. messo 'duplicati
impossibili' sul primo campo che ho creato! Ecco perchè mi dava
quell'errore! Bastava solo che leggessi ed interpretassi il mex!
Grazie ancora! Bhè se non altro sono così approdato su iclv-b; e nel
frattempo ho fatto una bella panoramica su ADO! :-)))
Domandone: è normale che la 'Creazione guidata pacchetti' dia problemi
con la registrazione dei componenenti? Avevo un prob. che ho
individuato sulla DBGrid-Data Control. Per risolvere ha fatto un nuovo
progetto, con una form ed una  DBGrid-Data Control. Ho fatto il setup,
ho installato questo nuovo setup di comodo sul PC di prova e per
miracolo anche il mio vero applicativo ha iniziato a funzionare perchè
evidentemente le registrazioni dei componenti sono andate OK.
Ho chiesto anche ad un paio di  amici-colleghi e mi confermato questi
problemi. Entrambi usano come soluzione l'installazione di VB presso
il PC del Cliente per poi rimuoverlo. In questo modo i componenti
vengono registrati correttamente! Ma è possibile?????


Domandone: è normale che la 'Creazione guidata pacchetti' dia problemi


Non vedo scorrere la tabella ....hai provato con Movenext sul record ?
Come forse hai già letto... ho fatto una gran dormita!!! :-)))
