Bonjour,
Ca fait un moment que j'ai pas fais de VB et là je suis sur une modif d'un programme.
Je rencontre un probleme lorsque je lance le code qui crée une requète mise à jour et qui essaie de l'exécuter. L'appelle de la procédure "Exe_Requete" marche tres bien dans les preniers cas mais pas dans le dernier:
....
Requete = "SELECT Produit_Id From Produits Where Produit_Famille = " + List_Carac.TextMatrix(1, 1) + ";"
Exe_Requete Requete, Data_AA
'Set AA = CtrlDonnees.Recordset
Requete = "SELECT MAX(Caracteristique_Id) FROM Famille_Caracteristiques"
Exe_Requete Requete, Data_BB
'Set BB = CtrlDonnees.Recordset
Data_AA.Recordset.MoveFirst
For i = 1 To List_Carac.Rows - 2
If List_Carac.TextMatrix(i, 3) = "1" Then
While Not (Data_AA.Recordset.EOF)
Requete = "INSERT INTO Produit_Caracteristiques (PCaracteristique_Produit, PCaracteristique_Caracteristique) VALUES (" & Data_AA.Recordset.Fields(0) & ", " & Data_BB.Recordset.Fields(0) & " );"
Exe_Requete Requete, Data_CC
Data_AA.Recordset.MoveNext
Wend
End If
Next
....
Public Sub Exe_Requete(Requete As Variant, CtrlDonnees As Adodc, Optional FaireMaj As Boolean = True)
Dim TmpRecord As ADODB.Recordset
Set TmpRecord = New ADODB.Recordset
TmpRecord.CursorType = adOpenKeyset
TmpRecord.LockType = adLockOptimistic
TmpRecord.Open Requete, DB_Connection, , , adCmdText
If (FaireMaj) Then
Set CtrlDonnees.Recordset = TmpRecord
End If
End Sub
Merci d'avance.
---------------
Loïc.