VB6 plusieurs enregistrement à la fois

zorenka Messages postés 2 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 1 octobre 2002 - 30 sept. 2002 à 12:08
zorenka Messages postés 2 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 1 octobre 2002 - 1 oct. 2002 à 15:38
j'arrive pas insert plusieurs enregistrement à la fois dans ma BD sous ACCESS. Il veut bien ligne par ligne, mais pas tout. J'ai plus que 30 option. Je coule.

Private Sub cmdValider_Click()

Dim ligne As String
Dim code As String
Dim titre As String
Dim etatcivil As String
Dim rs As New ADODB.Recordset
Dim i%
If txtSociete.Text "" Or txtNom.Text "" Or txtAdresse.Text = "" Or txtCP.Text = "" Or cmbVersion.Text = "" Then
MsgBox "Vous devez remplir des champs"
End If

If optMadame.Value Then

etatcivil = "Mme"

End If

If optMlle.Value Then

etatcivil = "Mlle"
End If

If optMonsieur.Value Then

etatcivil = "Mr"

End If

Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
'rs.Open sql, cnAuto, adOpenKeyset, adLockOptimistic, adCmdText

cn.Open

Do While Not rs.EOF

If opt11.Value Then

code = fgInternet.TextMatrix(1, 0)
titre = fgInternet.TextMatrix(1, 1)


If opt12.Value Then

code = fgInternet.TextMatrix(2, 0)
titre = fgInternet.TextMatrix(2, 1)

Set rs = New ADODB.Recordset

cn.BeginTrans
rs.Open ("insert into AtelierValide values ('" & code & "','" _
& cmbVersion.Text & "', '" & titre & "', '" & txtSociete.Text & "', '" _
& etatcivil & "', '" & txtNom.Text & "', '" & txtDate.Text & "')"), cn

End If

End If

rs.MoveNext
'cn.Close

Loop

Dim rep

rep = MsgBox("Confirmez-vous la validation?", vbYesNo + vbDefaultButton2 + vbQuestion, "Confirmation de la transaction")

If rep = vbYes Then
cn.CommitTrans

Else
cn.RollbackTrans

End If

End Sub

2 réponses

PatriceVB Messages postés 562 Date d'inscription dimanche 16 décembre 2001 Statut Modérateur Dernière intervention 26 décembre 2007
30 sept. 2002 à 23:20
Essaye en utilisant un objet adodb.command et non un recordset peut etre que tu auras un meilleur résultat, mais j'en suis pas sûr.
Si ça marche pas, réponds à ce message, je lirai ton code avec plus d'attention
@+
0
zorenka Messages postés 2 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 1 octobre 2002
1 oct. 2002 à 15:38
Merci Patrice! j'ai trouvé la solution. Declaration de tableau.

Dim cod(40, 1) As String
Dim x As Integer
Dim y As Integer
Dim opt As String
y = 0




If opt9.Value Then

cod(y, 0) = flgridWindows.TextMatrix(1, 0)
cod(y, 1) = flgridWindows.TextMatrix(1, 1)
y = y + 1

End If

If opt10.Value Then

cod(y, 0) = flgridWindows.TextMatrix(2, 0)
cod(y, 1) = flgridWindows.TextMatrix(2, 1)
y = y + 1

End If

etc.

tous les enregistrements rentrent das BD. Merci. A +.Zorenka.
0
Rejoignez-nous