OVH Cloud OVH Cloud

Désespéré avec ADODC

1 réponse
Avatar
SLY
J'ai une table Origine qui contient 10,000 records et j'ai une table
similaire qui a été créé avec Database create table
j'utilise access 2002 avec vb6 sp5

Lorsque je transfert les données de la table origine vers la deuxième table
je perds des records aléatoirement

il faut aussi que je mentionne que ma table origine contient des field qui
sont Null ou vide , mais dans chaque record il y a au moins 1 field qui est
remplie.
de plus elle n'a pas de clé primaire.

quelqu'un aurait-il une idée brillante qui pourrait m'aider à résoudre cette
énigme

Merci à l'avance !



Dim temp As ListItem
Dim Compteur, Unit As Integer
PGBar.Max = C2


Compteur = LV1.ListItems.Count
If Compteur <> 0 Then
For Unit = 1 To Compteur
Set temp = LV1.ListItems.Item(Unit)
If temp.SubItems(1) <> "" Then
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF
If Adodc1.Recordset.Fields("DiskNum") = temp.SubItems(1) Then
AdoNewKit.Recordset.AddNew
AdoNewKit.Recordset.Fields("Position") =
LV1.ListItems.Item(Unit)
AdoNewKit.Recordset.Fields("fabricant") =
Adodc1.Recordset.Fields("fabricant")
AdoNewKit.Recordset.Fields("Titre") =
Adodc1.Recordset.Fields("Titre")
AdoNewKit.Recordset.Fields("chanteur") =
Adodc1.Recordset.Fields("chanteur")
AdoNewKit.Recordset.Fields("Disknum") =
Adodc1.Recordset.Fields("DiskNum")
AdoNewKit.Recordset.Fields("Plage_no") =
Adodc1.Recordset.Fields("plage_no")
AdoNewKit.Recordset.Fields("Langue") =
Adodc1.Recordset.Fields("Langue")
AdoNewKit.Recordset.Fields("Dateadd") = Date
AdoNewKit.Recordset.Update
AdoNewKit.RecordSource = "Insert into Sample(POSITION,
DISKNUM, TITRE, PLAGE_NO, FABRICANT, CHANTEUR, CATEGORIE, LANGUE, DUET)
values ('" & MPOSITION$ & "' , '" & MDISKNUM$ & "' , '" & MTITRE$ & "' , '"
& MPLAGE_NO$ & "' , '" & MFABRICANT$ & "' , '" & MCHANTEUR$ & "' , '" &
MCATEGORIE$ & "' , '" & MLANGUE$ & "' , '" & MDUET$ & "')"
AdoNewKit.Refresh
End If
Adodc1.Recordset.MoveNext
Loop
MsgBox "Position " & Unit & " Item " & temp.SubItems(1)
End If
Next Unit
Else
MsgBox "il n'y a pas d'élément"
End If

1 réponse

Avatar
JeanP
Bonjour

Comment transfères-tu tes records requête SQl, adodc.update, ....).
J'ai déjà eu des problèmes "aléatoire" lorsque une table n'a pas de clé, ces
problèmes ont étés résolus par
l'ajout d'une clé (clé auto).
Bonne chance
Jean
"SLY" a écrit dans le message de news:
8XLeb.82380$
J'ai une table Origine qui contient 10,000 records et j'ai une table
similaire qui a été créé avec Database create table
j'utilise access 2002 avec vb6 sp5

Lorsque je transfert les données de la table origine vers la deuxième


table
je perds des records aléatoirement

il faut aussi que je mentionne que ma table origine contient des field qui
sont Null ou vide , mais dans chaque record il y a au moins 1 field qui


est
remplie.
de plus elle n'a pas de clé primaire.

quelqu'un aurait-il une idée brillante qui pourrait m'aider à résoudre


cette
énigme

Merci à l'avance !



Dim temp As ListItem
Dim Compteur, Unit As Integer
PGBar.Max = C2


Compteur = LV1.ListItems.Count
If Compteur <> 0 Then
For Unit = 1 To Compteur
Set temp = LV1.ListItems.Item(Unit)
If temp.SubItems(1) <> "" Then
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF
If Adodc1.Recordset.Fields("DiskNum") = temp.SubItems(1) Then
AdoNewKit.Recordset.AddNew
AdoNewKit.Recordset.Fields("Position") > LV1.ListItems.Item(Unit)
AdoNewKit.Recordset.Fields("fabricant") > Adodc1.Recordset.Fields("fabricant")
AdoNewKit.Recordset.Fields("Titre") > Adodc1.Recordset.Fields("Titre")
AdoNewKit.Recordset.Fields("chanteur") > Adodc1.Recordset.Fields("chanteur")
AdoNewKit.Recordset.Fields("Disknum") > Adodc1.Recordset.Fields("DiskNum")
AdoNewKit.Recordset.Fields("Plage_no") > Adodc1.Recordset.Fields("plage_no")
AdoNewKit.Recordset.Fields("Langue") > Adodc1.Recordset.Fields("Langue")
AdoNewKit.Recordset.Fields("Dateadd") = Date
AdoNewKit.Recordset.Update
AdoNewKit.RecordSource = "Insert into Sample(POSITION,
DISKNUM, TITRE, PLAGE_NO, FABRICANT, CHANTEUR, CATEGORIE, LANGUE, DUET)
values ('" & MPOSITION$ & "' , '" & MDISKNUM$ & "' , '" & MTITRE$ & "' ,


'"
& MPLAGE_NO$ & "' , '" & MFABRICANT$ & "' , '" & MCHANTEUR$ & "' , '" &
MCATEGORIE$ & "' , '" & MLANGUE$ & "' , '" & MDUET$ & "')"
AdoNewKit.Refresh
End If
Adodc1.Recordset.MoveNext
Loop
MsgBox "Position " & Unit & " Item " & temp.SubItems(1)
End If
Next Unit
Else
MsgBox "il n'y a pas d'élément"
End If