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 91, je ne vois pas sa raison


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Erreur d'exécution 91, je ne vois pas sa raison
    Bonjour,
    En réalisant un projet industriel je suis amené à concevoir une application avec laquelle je ferai le reste du projet. Sauf que mon domaine est loin de tout ce qui est informatique (je suis mécanicien). Ma question peut être banale alors
    pour connecter l'application à une base de données j'ai procédé comme suit :
    Dans le module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Compare Text 'ne tient pas compte des majuscules et miniscules
    Option Explicit    ' oblige à déclarer les variables du programme
    Public base As Database
    Public cmde As Recordset
    Public phase, phase_r As Double
    Public aj As Boolean
     
    Public Sub ouvrir()
     
    Set base = OpenDatabase("C:\Users\acer\Desktop\Stage AIC-Métallurgie\commandes_AIC_2000.mdb")
    Set cmde = base.OpenRecordset("Commande", dbOpenDynaset) ' j'ouvre la table en mode mise à jour
     
    End Sub
    dans la feuille du projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub tenter_Click()
     
    With FormAIC
     
    cmde.AddNew   ' il semble que l'erreur est obtenue à ce niveau 
    cmde!nbre_de_phases = FormAIC.nb_phases
    cmde!tonnage_commande = FormAIC.cmd_tonnage    'defini asrecordset!nom en BD = nom en propriétés à l interface
    cmde!taux_commande = FormAIC.cmd_horaire
    cmde!délai_commande = FormAIC.cmd_délai
    cmde.Update
     
    End With
     
    End Sub
    j'obtiens l'erreur d'execution 91 "variable objet ou variable bloc with non définie" et c'est la ligne 5 qui se met en jaune après cliquer sur le boutton. J'obtiens le même message si j'efface les lignes with FormAIC et End with qui n'ont aucune utilité le cas échéant.

    N'hésitez pas de m'aider par vos critiques

    Merci

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 175
    Points
    17 175
    Par défaut
    Salut

    As tu ouverts la base de données et initialisé le RecordSet ?
    Passes tu par la procédure Public Sub ouvrir() ?

    Pour le vérifier, lances le projet avec la touche F8, cela te permettra de vérifier si tu passes par cette procédure, si oui, continues par des appuis successifs de la touche F8 pour voir quelle est la succession de tes lignes de code.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci bcp M.Francis c'est très gentil de votre part de répondre le jour même.

    l'ouverture de la Base de données et l'initialisation du Recordset sont faites dans le module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Sub ouvrir()
    Set base = OpenDatabase("C:\Users\acer\Desktop\Stage AIC-Métallurgie\commandes_AIC_2000.mdb")
    Set cmde = base.OpenRecordset("Commande", dbOpenDynaset) ' j'ouvre la table en mode mise à jour
    End Sub
    Mais en lançant le projet en utilisant F8 il s'avère qu'on passe par la ligne cmde.Addnew avant qu'on passe par public sub ouvrir ( )

    je vais essayer de couper le public sub ouvrir () du module et de le coller dans la feuille du code juste avant la ligne qui beug

    et merci encore

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Enregistrement dans la base de données
    Vous avez raison. Ce qui manquait c'est le call ouvrir () dans la feuille du code. Mais je n'arrive toujours pas à retrouver sur la table d'access ce que je saisis sur l'interface de mon projet. Pourtant l'enregistrement s'effectue sans aucun message d'erreur.

    Sur ma base de données, je ne vois que la ligne que j'ai entrée directement dans access. Cependant, l'indice de cette ligne s'incrémente à chaque fois que j'ajoute un nouvel enregistrement dans mon projet VB. Est ce qu'il s'agit d'un problème d'affichage sur access? avez vous une idée sur le moyen de le résoudre?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    En fait c'était un problème de relations dans acess. C'est Résolu.
    Je remercie Monsieur Francis Millet pour l'aide qu'il m'a présentée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Erreur d'exécution 9 : indice n'appartient pas à la sélection
    Par pétrin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/12/2014, 09h56
  2. Bête erreur de syntaxe mais je ne vois pas
    Par ETVigan dans le forum Langage
    Réponses: 4
    Dernier message: 02/05/2010, 18h37
  3. erreur de syntaxe, mais je ne vois pas
    Par Argorate dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/08/2006, 12h12
  4. Clé etrangere erreur 150 mais je vois pas l'erreur
    Par HurtMarley dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 03/05/2005, 16h57
  5. Je vois pas d'où vient mon erreur!! Aidez moi SVP
    Par liliboms dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/04/2005, 08h25

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