Probleme de Recordset

Probleme de Recordset - VB/VBA/VBS - Programmation

Marsh Posté le 29-10-2004 à 10:12:37    

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.
Reply

Marsh Posté le 29-10-2004 à 10:12:37   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed