Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1153 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  encore une erreur a la con

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

encore une erreur a la con

n°408280
hao
Posté le 26-05-2003 à 17:28:16  profilanswer
 

bonjour a tous,
 
j'ai (encore) un petit probleme avec un bout de code en vba, auquel j'arrive pas a trouver de solution
 
il me donne comme erreur: erreur 424: objet requis
 
je vous met le code en entier, mais c'est plutot vers le debut que ca plante
 
 
----------------------------------
Dim idc As String
Dim req As String
Dim total As Double
Dim bd As Database
Dim rec1 As Recordset
Dim rec2 As Recordset
Dim rec3 As Recordset
Dim rec4 As Recordset
----------------------------------
Sub main()
    Set db = CurrentDb
    db.Execute ("update composant set prixRec=null" )
    Set rec1 = db.OpenRecordset("select * from composant", dbOpenSnapshot)
     
    Do While Not rec1.EOF
        fixerPrixRec (rec1.Fields("code_com" ))
        rec1.MoveNext
    Loop
End Sub
------------------------------
  Function fixerPrixRec(id As String) As Double
    req = "select * from composant where code_com='" & id & "'"
    Set rec2 = db.OpenRecordset(req, dbOpenSnapshot)    
<--------- c'est ici qu'il me sort l'erreur
    req = "select * from est_compose_1 where code_com_1='" & id & "'"
    Set rec3 = db.OpenRecordset(req, dbOpenSnapshot)
     
    If (IsNull(rec3)) Then
        db.Execute ("update composant set prixRec=prix where code_com='" & id & "'" )
        fixerPrixRec = rec3.Fields("prix" )
        Exit Function
    Else
        total = 0
        total = total + rec2.Fields("prix" )
        Do While Not rec3.EOF
            idc = rec3.Fields("code_com_2" )
            Set rec4 = db.OpenRecordset("select * from composant where code_com='" & idc & "'", dbOpenSnapshot)
            If IsNull(rec4.Fields(prixRec)) Then
                total = total + fixerPrixRec(idc)
            Else
                total = total + rec4.Fields("prixRec" )
            End If
            rec3.MoveNext
        Loop
        db.Execute ("update composant set prixRec='" & total & "';" )
        fixerPrixRec = total
        Exit Function
    End If
End Function
-------------------------
     
 
 
si quelqu'un pouvait me trouver ca ca m'arrangerait pas mal :)            
         
         
         

mood
Publicité
Posté le 26-05-2003 à 17:28:16  profilanswer
 

n°408290
drasche
Posté le 26-05-2003 à 17:30:39  profilanswer
 

c'est tout con effectivement, ta variable db est déclarée dans Main, réduisant sa visibilité à la seule fonction Main.  Tu ne peux donc pas l'employer dans la fonction qui suit car db est une variable qui lui est inconnue.


---------------
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)
n°408317
cvb
Posté le 26-05-2003 à 18:04:34  profilanswer
 

Ecris en noire, c'est mieux !   :p

n°408518
couitchy
Posté le 26-05-2003 à 22:09:27  profilanswer
 

tu as confondu bd et db
donc vb ne sort pas d'erreur mais la base n'est ouverte que dans main


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  encore une erreur a la con

 

Sujets relatifs
[MFC VC++6] Erreur de link... [résolu]d'ou peut venir cette erreur?
Mysql table crashé erreur 138[HTML] erreur bizzare !
Debutant , mais ou est mon erreur ?c quoi cette erreur ?
Un message d'erreur qui emêche l'utilisation de MySql sur mon pcj'ai une erreur et je n'en trouve pas la cause ...
Erreur, impossible de mettre une $var dans un tableau...C'est quoi cette erreur??
Plus de sujets relatifs à : encore une erreur a la con


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR