Erreur d'execution (OpenRecordSet)

Erreur d'execution (OpenRecordSet) - VB/VBA/VBS - Programmation

Marsh Posté le 18-04-2003 à 14:49:48    

bonjour a tous,
 
m'étant mis depuis peu au vb, j'ai un probleme a l'execution d'une de mes fonctions.
je vous mets les bouts de code:
 
 
 
Function coutCompo(id As String) As Double
    requete = "select * from composant where code_com='" & id & "';"
        Set rec2 = bd.OpenRecordset(requete, dbOpenSnapshot)
 
        If (rec2.Fields("prix" ) <= 0) Then
            Dim val As Double
            val = 0
            requete2 = "select code_com_2, [quantité] from est_compose_1 where code_com_1='" & id & "';"
            Set rec3 = bd.OpenRecordset(requete2, dbOpenSnapshot) <--------------- l'éditeur me dit que l'erreur est ici
            Do While Not rec3.EOF
                val = val + coutCompo(rec.Fields("code_com_2" ))
                rec.MoveNext
            Loop
                coutCompo = val
                Exit Function
        End If
    End Function
 
libellé de l'erreur: erreur 3061: trop peu de parametres, 1 attendu.
 
sachant qu'une des lignes du dessus est quasiment pareille que celle ou l'erreur se produit, je vois pas trop.

Reply

Marsh Posté le 18-04-2003 à 14:49:48   

Reply

Marsh Posté le 18-04-2003 à 15:18:01    

Même si l'erreur se produit sur cette ligne là, il y 90% de chances qu'elle trouve son origine dans la ligne précédente où tu construis ta requête.  L'as-tu testée dans Access?  A première vue, je n'y vois pas d'erreur.
 
Je note pour ceux qui me suivent que ce code exploite le moteur DAO.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 18-04-2003 à 15:23:59    

affiche ta requête SQL.
 
A priori, cette erreur est liée à une erreur dans la requête, même si à première vue je vois pas trop où est l'erreur.
 
id contient quoi ?

Reply

Marsh Posté le 21-04-2003 à 17:46:09    

Comme l'a souligné drasche, tu utilise DAO. A ta place j'obterais pour ADO (c'est le mieux). Peut-être que le problème vient de là.

Reply

Marsh Posté le 22-04-2003 à 22:34:02    

essaie de remplacer dbOpenSnapshot par dbOpenRecordset.
normalement, ça devrait régler le problème (mais ça devrait marcher quand même comme tu l'as mis !!).


Message édité par couitchy le 22-04-2003 à 22:34:39
Reply

Sujets relatifs:

Leave a Replay

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