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 sur connexion a une base de donnée


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Points : 114
    Points
    114
    Par défaut erreur sur connexion a une base de donnée
    bonjour a tous.
    voila je développe une appli de gestion de personnel. donc j'ai une feuille principale et d'autre qui sont appelée depuis la feuille principale grâce aux menu que j'ai personnalisé.
    j'ai crée un module standard dans lequel j'ai mis les objets de connexion( recordset et connection), ainsi que la procédure de connexion a la BD. j'appelle cette procédure au chargement de la feuille principale et au chargement des autre feuilles je fais intervenir des requêtes qui récupèrent des champs dans la BD. le problème est que cela marche pour le 1er formulaire mais pas pour le 2nd.

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim chaine as string
    chaine = "select MODULE.nummod from MODULE;"
    set recset = createobject("adodb.recordset")
    recset.open chaine,conn,3
    lab3.caption = recset(0)
    recset est un objet recordset declaré dans le module standard
    conn est l'objet connection
    et lab3 un label chargé de prendre le resultat de la requête

    mais à la ligne recset.open il ya une erreur:
    la méthode open de l'objet recordset a échoué. je sais pas trop pourquoi. aidez moi s'il vous plaît je dois conclure très vite ceux pourquoi j'ai exposé tout le problème. merci

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Bonjour,

    libères tu ton objet Recordset quand tu n'en as plus besoin avant d'en recréer un nouveau ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set recset = Nothing

  3. #3
    Membre régulier Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Points : 114
    Points
    114
    Par défaut
    non je ne le faisais pas. je vais essayer

  4. #4
    Membre régulier Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Points : 114
    Points
    114
    Par défaut
    je viens de le faire.
    j'ai mis la ligne juste après le remplissage du label : rien même résultat
    j'ai mis la ligne au déchargement de la feuille : rien aussi.
    je ne comprend vraiment pas pourtant sue la 1ere feuille je l'exécute nickel sans problème.

    le code de l'erreur est :
    -2147467259(80004005)
    la méthode open de l'objet recordset a échoué

  5. #5
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Il peut y avoir pas mal de raisons possibles. Quand tu dis que ça marche avec le premier formulaire, c'est toujours le même formulaire que tu essayes en premier ? As tu fais l'essai avec un autre formulaire en premier ?
    Fermes tu bien ton recordset ? Ta connexion avec la BDD reste elle valide ? Ne l'as tu pas fermé ? Si dans ton deuxième formulaire, tu utilises un autre nom pour ton recordset, as tu toujours le problème ?

  6. #6
    Membre régulier Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Points : 114
    Points
    114
    Par défaut
    voila j'ai reessayé avec un nouveau recordset que j'ai déclaré dans le module standard pareille. j'ai aussi essayé de n'ouvrir autre chose que le formulaire concerné mais zero.

  7. #7
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    C'est peut être moi, mais je n'ai rien compris à ta réponse.

  8. #8
    Membre régulier Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Points : 114
    Points
    114
    Par défaut
    je disais que j'ai essayé avec un autre nom de recordset mais c'est le même résultat. aussi ma procedure de connexion ne s'ouvre qu'au démarrage du formulaire principale et ne se referme qu'a la fermeture de celui-ci.
    j'ai essayé d'annuler tout le code de l'autre formulaire et de garder celui de la feuille en question actif mais même résultat.

  9. #9
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 105
    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 105
    Points : 16 627
    Points
    16 627
    Par défaut
    En sachant que la connection est fait comme ceci dans un Module.bas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Public Conn As Object
     
    Public Sub Main()
    Set Conn = CreateObject("adodb.connection")
    StrCnn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source= C:\PersoFrancis\BDpourEssais.mdb" & ";"
    Conn.CursorLocation = 3: Conn.Mode = 2 'Conn.CursorLocation = adUseClient: Conn.Mode = adModeReadWrite
    Conn.Open StrCnn
    If Conn.State = 0 Then
        MsgBox "impossible d'ouvrire la BD", vbInformation
        End
    End If
     Show FrmPerso
    End Sub
    Essayez ce code dans votre Form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Chaine As String
    Dim RecSet As Object
     
    If Conn.State <> 0 Then
        Chaine = "select MODULE.nummod from MODULE;"
        Set RecSet = CreateObject("adodb.recordset")
        RecSet.Open Chaine, Conn, 3, 2 ', adOpenStatic, adLockPessimistic
        If RecSet.State <> 0 Then
            lab3.caption = recset(0)
            Set RecSet = Nothing
        End If
    End If

  10. #10
    Membre régulier Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Points : 114
    Points
    114
    Par défaut
    merci pour votre reponse. mais pouvez vous m'expliquer ce qu'est la propriété
    .state pour l'objet connection et le recordset?

  11. #11
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 105
    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 105
    Points : 16 627
    Points
    16 627
    Par défaut
    Citation Envoyé par MSDN Connection/Recordset
    adStateClosed Valeur utilisée par défaut. Indique que l'objet est fermé.
    adStateOpen Indique que l'objet est ouvert.
    adStateConnecting Indique que l'objet Recordset est en train de se connecter.
    adStateExecuting Indique que l'objet Recordset est en train d'exécuter une commande.
    adStateFetching Indique que les lignes de l'objet Recordset sont en cours d'extraction
    Pour avoir MSDN en français, indispensable

  12. #12
    Membre régulier Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Points : 114
    Points
    114
    Par défaut
    merci pour toutes vos reponses. mon cd pour MSDN est abimé raison pour laquelle je n'ai pas l'installer sur mon poste je compte en télécharger une copie.
    merci beaucoup je pense que si avec tout ça c'est encore pas bon alors c'est moi même que je dois revoir.

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

Discussions similaires

  1. [2008R2] aide urgente sur la connexion d'une base de donnée sql server et phpadmin dans Xampp
    Par mvictorinesonia dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/08/2014, 09h04
  2. Réponses: 3
    Dernier message: 21/04/2012, 12h42
  3. connexion entre une Base de données et Application sur Android
    Par clubist dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 27/11/2009, 12h01
  4. connexion a une base de donné mysql
    Par ithery75 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2005, 20h57
  5. connexion a une base de donnée distante mysql(site internet)
    Par rollernox dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/07/2004, 13h14

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