IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

erreur d'exécution 424


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 107
    Par défaut erreur d'exécution 424
    me familiarisant avec datareport et adodc j'execute le code suivant qui me génère le message d'erreur: erreur d'execution 424 un objet est requis suivant après un clic sur le bouton command1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub Command1_Click()
    Dim q As Integer
    Dim intctrl As Integer
    Dim x As Integer
    Dim z As Integer
    x = 0
    q = 0
    z = 0
     With dr
     .Hide
    ' Set dr.DataSource = rs
    Set .DataSource = rs
    '.DataSource = rs
      .DataMember = " "
      With .Sections("section1").Controls
       For intctrl = 1 To .Count
        If TypeOf .Item(intctrl) Is RptLabel Then
         .Item(intctrl).Caption = rs.Fields(q).Name & " : "
         q = q + 1
        End If
       If TypeOf .Item(intctrl) Is RptTextBox Then
        .Item(intctrl).DataMember = ""
        .Item(intctrl).DataField = ""
        z = z + 1
       End If
       Next intctrl
     End With
     .Refresh
     .Show
     End With
    End Sub
    j'avoue que j'ai pris compros grande chose en allant sur l'aide.
    c'est la l'instruction qui est souligné en jaune
    voici le code que je mets au chargement de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub Form_Load()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim cmD As New ADODB.Command
    Command1.Caption = " show report"
    cn.Open "provider=microsoft.jet.oledb.4.0;data source=c:\program files\microsoft visual studio\vb98\nwind.mdb;"
     
    With cmD
     .ActiveConnection = cn
     .CommandType = adCmdText
     .CommandText = "select nom,prénom from employés"
     .Execute
    End With
    With rs
     .ActiveConnection = cn
     .CursorLocation = adUseClient
     .Open cmD
     End With
    End Sub
    merci de me signifier ce qui coince

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    ce qui coince, la portée de ta variable rs tu la declares dans Form_Load puis tente de l'utiliser dans Command1_Click, declares la au tout debut de ton formulaire sous Otion Explicit

    Motif de l'edit: dr est declaré ou, il y en a peut être d'autres, ajoutes Option Explicit au tout debut de ton formulaire, le debugeur te signalera tout de suite les variables non declarées ou hors de portées.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 107
    Par défaut
    après avoir déclaré rs sous l'option explicit, a l'execution après le clic sur command1, j'ai le message d'erreur suivant:erreur d'execution 8577, les arguments sont d etype incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres
    j'ai le bout de code qui est souligné
    dr n'est déclaré nul part c'est le nom du datereport à travers la propieté name de la fenetre de proprieté

  4. #4
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Quand une instruction commence avec un point, c'est qu'on se refère a l'objet déclaré avec With Objet , l'extrait de code que tu donnes ne permet pas de savoir de quel objet tu demandes le refresh.

    Deplus que veux tu dire exactement avec
    après avoir déclaré rs sous l'option explicit
    Option explicit est une directive expliquant au compilateur qu'aucune variable ne doit être utilisée si elle n'est pas explicitement déclarée. Ce doit être ta premiere ligne de code, elle ne doit pas se trouver ni dans une sub , ni une fonction, les déclarations de variables de niveau feuille sont déclarées après.

    Exemple de code avec la directive Option Explicit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
    Dim MaVarialbleDeNiveauFeuille As String
    Private Sub Form_Load()
      MaVarialbleDeNiveauFeuille = "Essais"
    End Sub
    Private Sub Command1_Click()
      MsgBox MaVarialbleDeNiveauFeuille
    End Sub
    Je pense qu'une petite révision sur la portée des variables dans vb te ferais le plus grand bien

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 107
    Par défaut
    le code fait reference au datareport nommé dr qui est utilisé avec le premier with
    Aussi pour l'option explicit ,voici comment je l'utilise,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Explicit
    Dim rs As New ADODB.Recordset
    Dim cn As New ADODB.Connection
    Dim cmD As New ADODB.Command
    je crois l'avoir compris

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 107
    Par défaut
    en fait avec ce message erreur 8577 lorsque je cilc sur l'aide, j'ai une boite de dialogue qui me dit impossible d'afficher l'aide ce qui ne me donne pas un debut de solution au blocage

Discussions similaires

  1. Erreur d'exécution '424', objet requis
    Par JPierreM dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2012, 14h07
  2. Erreur d'exécution '424'
    Par YassDumb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/02/2012, 12h46
  3. Erreur d'exécution 424: Objet introuvable
    Par raph_13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/10/2011, 23h12
  4. Erreur d'exécution '424':objet requis
    Par argaz01 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/06/2010, 15h02
  5. [OL-2003] Erreur d'exécution '424' : Objet requis
    Par ptitemeuh dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 25/05/2010, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo