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 :

Accès Base de données Access


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif
    Avatar de vincent magnin
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 209
    Points : 241
    Points
    241
    Par défaut Accès Base de données Access
    Je viens de rencontrer un problème absolument inexplicable, en effet j'ouvre un recordset via procédure publique sur un module, procédure qui ouvre la base de données si elle n'a pas encore été ouverte :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Global bdd As Database
    Global connect As Boolean
    Global rcsniveau As Recordset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        SQL = "Select Niveau_Poste.NumNiveau,Niveau_Poste.NomNiveau From Niveau_Poste;"
        connexion_BDD SQL, rcsniveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub connexion_BDD(ByVal SQL As String, ByRef rcs As Recordset)
     
    If connect = False Then
        Set bdd = OpenDatabase("TAPPPO2006-access97.mdb", False)
    End If
    connect = True
    Set rcs = bdd.OpenRecordset(SQL$)
    If rcs.EditMode = adEditInProgress Or rcs.EditMode = adEditAdd Then
        MsgBox "Impossible d'ouvrir la connexion pour l'instant. La base de données est occupées, veuillez réitérer votre demande plus tard", vbCritical
    End If
     
    End Sub
    Ce code fonctionna tout à fait correctement sur mon premier projet, lors de la réalisation du second j'ai importé le module, et la vb me genère une erreur : "incompatibilité de type" pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rcs = bdd.OpenRecordset(SQL$)
    J'ai bien vérifié mes références... tout est identique, je me suis même "amusé" à retaper mon module completement mais rien ne change...
    Ce qui me rend fou c'est que si j'effectue l'ouverture du recordset et de la bdd sur la procédure privée qui appele la publique du module, ben ça marche !


    Que se passe-t-il ? j'ai un grand besoin d'aide la car je viens d'y passer deux heures sans arriver à régler le probleme :/

  2. #2
    Membre actif
    Avatar de vincent magnin
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 209
    Points : 241
    Points
    241
    Par défaut
    Ben j'ai finalement réussi à résoudre le problème :

    apparemment la chaîne de caractère

    "Dim SQL as String"

    avait un gros problème (merci à celui qui pourrais me dire comment c'est possible)
    j'ai fait cette manip sous le débogueur : SQL=""
    puis j'ai réinitialisé le projet, ait remis la requête et j'ai relancé l'execution et paf ça a remarché .

    vive vb :/

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

Discussions similaires

  1. Problème accès base de données Access
    Par Jesus_Cry dans le forum JDBC
    Réponses: 12
    Dernier message: 01/01/2014, 12h47
  2. Réponses: 3
    Dernier message: 08/10/2009, 06h53
  3. Accès base de données Access oledb
    Par melleb dans le forum MFC
    Réponses: 6
    Dernier message: 11/05/2009, 15h22
  4. Acces Base de donnée Access dans un combobox
    Par freko dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 25/10/2007, 12h10
  5. Réponses: 15
    Dernier message: 25/10/2004, 11h50

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