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

VBA Access Discussion :

Afficher dans un formulaire les données d'une table MySQL [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 58
    Points : 47
    Points
    47
    Par défaut Afficher dans un formulaire les données d'une table MySQL
    Bonjour

    Je suis en train de migrer mes données de Access vers MySQL.

    J'ai déjà fait des Tests de manipulation de données avec une connection ADO avec le code ci-dessous. Pas de problème!

    Ma question est de savoir comment afficher les données de cette table sur un formulaire, sachant que le formulaire actuelle utilise une table liée à MySQL, mais je ne veux plus utiliser de tables liées

    Merci

    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
    Dim cnn As ADODB.Connection
    Dim StrCnn As String
    Set cnn = New ADODB.Connection
    Set rs = New ADODB.Recordset
     
    StrCnn = "DRIVER={MySQL ODBC 5.1 Driver}; " _
                            & " SERVER=fc-mysql-ory1-101.ory1;" _
                            & " DATABASE=EngToolSQL_dbo;" _
                            & " UID=EngUser;" _
                            & " PWD=EngTool;OPTION=3;"
    cnn.Open StrCnn
     
     
    rs.Open "TWork", StrCnn, adOpenKeyset, adLockOptimistic, adCmdTable
     
    With rs
            .AddNew
            !WorkDescription = "TEST223333"
            !WorkEqID = 99
            !WorkCreationDate = Format$(Now, "dd/mm/yy hh:mm:ss")
            .Update
    End With
     
    ' Close the connection.
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    il faut connecter ton recordset ADO (une fois ouvert) au formulaire.
    Exemple de code d'un formulaire
    Code vba : 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Option Explicit
     
    Dim oCnMySQL As ADODB.Connection
    Dim oRS As ADODB.Recordset
     
    ' -------------------------------------------------------------------
     
    ' Événement "Sur Ouverture" du formulaire
    Private Sub Form_Open(Cancel As Integer)
    ' Ouvrir connexion et recordset sur MySQL
    Call Conn_Ouvrir
     
    ' Affecte recordset ouvert sur MySQL au formulaire
    If (Me.Recordset Is Nothing) And (Not oRS Is Nothing) Then
       Set Me.Recordset = oRS
    End If
    End Sub
     
    ' -------------------------------------------------------------------
     
    ' Événement "Sur Fermeture" du formulaire
    Private Sub Form_Close()
    ' Déconnecte formulaire du recordset ouvert sur MySQL
    Set Me.Recordset = Nothing
    ' Fermer et libérer les objets ADO connectés à MySQL
    Call Conn_Fermer
    End Sub
     
    ' -------------------------------------------------------------------
     
    Private Sub Conn_Ouvrir()
    ' Connexion à base MySQL
    On Error GoTo ErrH
    ' Crée objet Connection
    Set oCnMySQL = New ADODB.Connection
    ' Définit chaîne de connexion
    ' * Le provider MSDASQL (ODBC) étant celui par défaut, on peut l'omettre
    oCnMySQL.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
                                "SERVER=LeServeurMySQL;" & _
                                "DATABASE=BDD;" & _
                                "OPTION=3;" & _
                                "UID=anonymous;PWD="
    ' Ouvre la connexion
    oCnMySQL.Open
    ' Crée et ouvre le recordset
    Set oRS = New ADODB.Recordset
    oRS.CursorLocation = adUseClient
    oRS.Open "SELECT * FROM clientrb", oCnMySQL, adOpenStatic, adLockOptimistic, adCmdText
     
    Sortie:
    Exit Sub
     
    ErrH:
    MsgBox Err.Number & " : " & Err.Description, , "Echec ouverture connexion MySQL"
     
    Call Conn_Fermer
    End Sub
     
    ' -------------------------------------------------------------------
     
    Private Sub Conn_Fermer()
    If Not oRS Is Nothing Then
       If oRS.State <> adStateClosed Then oRS.Close
    End If
    Set oRS = Nothing
     
    If Not oCnMySQL Is Nothing Then
       If oCnMySQL.State <> adStateClosed Then oCnMySQL.Close
    End If
    Set oCnMySQL = Nothing
    End Sub
    A+

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 58
    Points : 47
    Points
    47
    Par défaut
    Merci!

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

Discussions similaires

  1. [AC-2010] Afficher dans un formulaire les données d'une autre table
    Par GéraldineB dans le forum IHM
    Réponses: 4
    Dernier message: 23/02/2015, 09h08
  2. [MySQL] Afficher dans une page web les données d'une table mySQL
    Par Avenir78 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/04/2013, 21h21
  3. [MySQL] Afficher de facon dynamique les données d'une table quelconque
    Par cellk dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/11/2008, 14h06
  4. enregister dans un tableau les données d'une table
    Par warning dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/10/2008, 16h10
  5. [MySQL] afficher les données d'une table mysql
    Par faamugol dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/09/2007, 19h04

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