Procedur en visual basic 6.0

ordynho Messages postés 35 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 22 octobre 2009 - 12 janv. 2008 à 18:50
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 12 janv. 2008 à 22:58
Salut!

Pour avoir un jeu d'enregistrement de la table "ARticle" de ma base de donnees, j ai cree un objet commande  "comArticle" dans l environnement "deFacture".
Ensuite j ai ecris une la procedure suivante dans un module.
------
Private Sub SUIVANT(Byref parmCommande As Recordset)
   parCommande.Movenext
End Sub
-----

Puis j 'ai appele la procedure "SUIVANT" dans le code du bouton "cmdSuivant" dont le code est:
-----
Private Sub cmdSuivant_Click()
Dim varCommande As Reccordset

   Set varCommande = deFacture.rscomArticle
   SUIVANT(varCommande)
End Sub
-----

Mais a l execution il ya un message d erreur qui dit: "Type incompatible"
Je ne comprend pas cette erreur.
Je demande donc votre aide pour resourdre le probleme.
Merci de me repondre.

Ordinho

L'homme nest rien sans les autres...

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 janv. 2008 à 19:16
Salut
Relis attentivement ces deux lignes, tu pourras corriger une erreur. Est-ce elle qui te génère celle dont tu parles, je ne sais pas :
   Private Sub SUIVANT(Byref parmCommande As Recordset)
      parCommande.Movenext

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 janv. 2008 à 19:21
salut,

perso ce qui me gêne le plus c'est Dim varCommande As Reccordset ^^
++
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 janv. 2008 à 19:22
mais le m est beau aussi Jack ;)
0
ordynho Messages postés 35 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 22 octobre 2009
12 janv. 2008 à 20:41
Excusez moi! comme je ne suis pas actuellement sur mon ordinateur de travail, je n ai pas fait du copier/coller.
Je vous redonne les deux procedures:
----
Private Sub SUIVANT(Byref parCommande As Recordset)
   parCommande.Movenext
End Sub
-----
-----
Private Sub cmdSuivant_Click()
Dim varCommande As Recordset

   Set varCommande = deFacture.rscomArticle
   SUIVANT(varCommande)
End Sub
-----

En faite mon probleme c est comment creer et appeler une procedure parametrée avec un objet "command"
Merci!

Ordinho

L'homme nest rien sans les autres...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 janv. 2008 à 20:54
beh comme tu l'as fait c'est presque bon...
c'est à dire que si la méthode ou le membre rscomArticle est bien de type Recordset, alors la procédure SUIVANT sera bien acceptée

pourquoi "presque" alors?

parce qu'en VB6, on ne met de parenthèses que quand on attend un retour ou qu'il y a call
donc pas SUIVANT(varCommande)
mais soit
CallSUIVANT(varCommande)
soit
SUIVANT varCommande 'plus de parenthèse

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
12 janv. 2008 à 22:58
D'accord avec PCPT pour la syntaxe des parenthèses

Mais aurais-tu des références qui pointent sur ADO ET DAO dans ton projet ?
Si oui, enlève celle qui ne sert pas ou mets devant tes déclarations celui des deux que tu veux utiliser.

ex:
Dim varCommande As DAO.Recordset

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous