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 :

Access et MSFlexGrid


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut Access et MSFlexGrid
    Salut a tous

    Je suis débutant sur Vb6 . Je vous demande de m'aider

    J'ai chercher mais je trouve des méthodes difficiles ,

    j'ai une base de données avec ACCESS 2007 , et je veux tous simplement afficher mes données des tables dans un interface VB

    je crois que je dois utiliser MSFlexgrid mais je ne sais pas comment

    je dois absolument le faire rapidement pour une application , c'est tres urgent
    je vous remercie infiniment
    j'espere trouver des reponses , et je vous rappele que c'est ma premiere participation dans ce magnifique Forum .

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 136
    Points : 127
    Points
    127
    Par défaut
    Si tu trouves que l'utilisation d'une msflexgrid est trop compliqué pour toi, tu peux toujours choisir d'afficher un seul enregistrement à la fois (sans utilisation d'une msflexgrid). Ensuite, avec les boutons précédent et suivant, l'utilisateur pourra parcourir les différents enregistrements. Si tu veux plus d'aide, on aimerait bien voir le bout de code que tu as essayé de faire. Si tu lis les règlements du forum, on est là pour t'aider et non pas programmer à ta place.

    bonne champ!

  3. #3
    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 180
    Points
    17 180
    Par défaut
    -anas-, bienvenue sur DVP
    Dans chaque forum il y a un bouton "Recherche dans ce forum", en y entrant le titre de ta demande, tu obtiendras 22 réponses, qui te permettrons de trouver la solution à ton problème, écris un bout de code, et si tu as des difficultés, reviens dans cette discussion nous les soumettres, nous pourront t'aider a finaliser.
    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 ← ← 👈

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut
    Merci pour vos réponses

    j'ai cherché et le probleme c'est que je trouve des façons differentes
    je crois selon les versios de Microsoft.Jet.OLEDB.......
    et d'access

    j'utilise access 2007 et Microsoft.Jet.OLEDB.4.0

    peu être je dois utiliser un datagrid !!

    dans un module.bas j'ai ce code la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'Définition du connection
    Public cn As New ADODB.Connection
    'Définition du curseur
    Public rs As New ADODB.Recordset
    dans la form j'ai essayé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    cn.ConnectionString = ""
    cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    cn.Open App.Path & "\base\Gestion des Stagiaires.mdb"
    '----executer requete
    rs.Open "SELECT * from comptes ", cn, 3, 3
     
    Set DataGrid1.DataSource = rs
    DataGrid1.Refresh
    Il bloque sur la ligne de cn.ConnectionString = ""
    Cette operation n'est pas autorisé si l'objet est ouvert

    Je vous rappele , je suis encore debutant sur Vb
    Svp , essayer de m'expliquer un peu comment sa marche
    et me trouver une solution , parceque je n'ai plus de temps

    je vous remercie .

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 136
    Points : 127
    Points
    127
    Par défaut
    Je tiens à te féliciter pour le bel essai que tu as fait. Je te suggère à la place d'utiliser ceci (tu y étais presque) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'chaine de connnexion à la base de données
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\base\Gestion des Stagiaires.mdb"
    cn.Open
    'définition du type de recordset
    rs.CursorType = ADODB.CursorTypeEnum.adOpenKeyset
    rs.LockType = ADODB.LockTypeEnum.adLockOptimistic
    'tu peux maintenant faire des requêtes avec ton recordset
    Quand tu as terminé avec ton recordset et ta connexion à la base de données, il est important de les fermer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rs.close 'fermeture recordset
    cn.close 'fermeture connexion avec la base de données
    Bonne continuité!

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut
    Merci pr ta reponse et ton interêt

    J'ai esasyé ceci , mais toujours le même msg d'erreur ds la même ligne

  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
    Cela signifie que probablement, ailleurs dans ton programme tu as déjà fait un "cn.Open" sans faire de "cn.Close"
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut
    Vous avez raison ; donc c'est vrai , j'ai fermé avec cn.close

    mnt la form s'ouvre sans erreurs , mais je n'ai toujours pas pu remplir le datagrid avec les informations de la table , il est vide

    Merci

  9. #9
    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
    Mets nous ici le code complet que tu as maintenant de la définition de la connexion à l'ouverture de la base et au remplissage du datagrid.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut
    Daccord
    voila j'ai ce code dans un module .bas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'Définition du connection
    Public cn As New ADODB.Connection
    'Définition du curseur
    Public rs As New ADODB.Recordset
    Et ceci dans la form :
    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
     
    Private Sub Form_Load()
     
    '-----connexion base de donnée ACCESS-----------
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\base\Gestion des Stagiaires.mdb"
    cn.Open
     
    'définition du type de recordset
    rs.CursorType = ADODB.CursorTypeEnum.adOpenKeyset
    rs.LockType = ADODB.LockTypeEnum.adLockOptimistic
     
    '----execute requete
    rs.Open "SELECT * from comptes ", cn, 3, 3
     
    '-----Remplir le datagrid
    Set DataGrid1.DataSource = rs
    DataGrid1.Refresh
     
    rs.Close
    cn.Close
    End Sub
    Merci beaucoup pour votre aide

  11. #11
    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
    Si tu fermes ton recordset, tu as peu de chance de remplir ton DataGrid...
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  12. #12
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut
    J'ai enlevé la ligne rs.close mais toujours rien

    Est ce que c'est la methode pour remplir le datagrid ??
    sinon comment on le remplit ?

  13. #13
    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
    Va voir ce tutoriel (désolé d'insister mais les tutos sont là pour ça, pensez à aller les voir un peu svp) :

    http://vb.developpez.com/bidou/recor...il#LVIII-F-2-a

    On y explique la manip avec Jet 4.0
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  14. #14
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut
    Merci OhMonBato

    bon voila ce que j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Set Cnn1 = New ADODB.Connection
    Cnn1.CursorLocation = adUseServer
    Cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\user\jmarc\bd6.mdb ;User Id=Admin; Password="
    Set MonRs = New ADODB.Recordset
    MonRs.CursorLocation = adUseServer
    MonRs.ActiveConnection = Cnn1
    MonRs.Properties("IrowsetIdentity") = True
    MonRs.Open "reqAdresse", , adOpenKeyset, adLockPessimistic, adCmdTable
    Set DataGrid1.DataSource = MonRs
    je l'ai essayée et il marche pas
    C'est ce que je voulé dire , de differentes et difficiles méthodes

    Mnt j'ai mis ce code la , il n'ya pas d'erreur mais le datagrid est vide

    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
     
    Private Sub Form_Load()
     
     Dim req As String
     
     req = "SELECT * FROM comptes"
    '-----connexion base de donnée ACCESS-----------
    cn.CursorLocation = adUseServer
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\base\Gestion des Stagiaires.mdb"
     
    'définition du type de recordset
    rs.CursorLocation = adUseServer
    rs.ActiveConnection = cn
    rs.Properties("IrowsetIdentity") = True
     
    '----execute requete
    rs.Open req, cn, adOpenKeyset, adLockPessimistic
     
    '-----Remplir le datagrid
    Set DataGrid1.DataSource = rs
     
    cn.Close
    End Sub

  15. #15
    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
    Remplace le code à partir de ta ligne de remarque par ça stp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'définition du type de recordset
    With Monrs
            .ActiveConnection = cn
            .CursorLocation = adUseServer
            .CursorType = adOpenKeyset
            .LockType = adLockOptimistic
            .Properties("IRowsetIdentity") = True 
            .Open req, , , , adCmdText
    End With
     
    '-----Remplir le datagrid
    Set DataGrid1.DataSource = rs
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  16. #16
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 40
    Points
    40
    Par défaut
    Je sais pas koi dire , mais vous êtes GeniaL
    donc le probleme c'est dans la configuration du recordset et ses proprietes
    desolé pour le dérangement , parceque j'été trop pressé
    mais je vous promets dés que j'auré du temps , je vais lire les tutoriels même si c'est dificile
    Je vous remercie

  17. #17
    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
    Quand on est pressé, une solution, la recherche sur Google, là imaginons que l'on tape "datagrid Jet 4.0" puisque ton problème était en relation avec le Datagrid, le deuxième lien amène là :

    http://support.microsoft.com/kb/224192/fr

    C'est la portion de code que j'ai copié dans mon message précédent.
    En attendant, prendre la résolution de lire les tutos est une TRES bonne chose, car c'est vraiment une mine de renseignements.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

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

Discussions similaires

  1. Msflexgrid -> Access
    Par enibris dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/02/2006, 17h04
  2. Data, MSFlexGrid, Connexion ACCESS
    Par Mamoudou Ly dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/12/2005, 10h42
  3. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  4. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18
  5. Réponses: 3
    Dernier message: 22/05/2002, 09h37

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