Récupérer données dans Access pour aller dans des TextBox

Bonjour,

Je souhaiterais importer des données d'Access (d'une colonne d'une table) et que ces données s'affiche dans des TextBox de mon formulaire.

Pouvez-vous m'aider s'il-vous-plait ?

Bonjour,

voyez de ce coté si cela peut vous aider : https://forum.excel-pratique.com/viewtopic.php?f=10&t=102322

@ bientôt

LouReeD

Bonjour,

J'ai regardé les liens que vous avez mit et malheureusement je n'y arrive toujours pas.

J'arrive à connecter Excel et Access, j'ai compris le fonctionnement de SELECT mon seul soucis c'est de faire apparaître une donnée d'une colonne dans le TextBox1.

Re,

Puisque tu sembles travailler avec Excel 2016, regarde du côté de Récupérer et transformer (Power Query).

Ruban, Données, Récupérer et transformer, Nouvelle requête, A partir d'une base de données...

Cdlt.

Bonjour,

Malheureusement je n'ai pas le droit de procéder de cette façon. Il faut que je fasse que des codes.

Voilà mon code :

Sub CommandButton3_Click()
    Const cCnxString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" 
    Const cDBName = "C:\Users\loic\Desktop\projet vba\2017_ProjectClient.accdb"

    Dim dbs As ADODB.Connection
.
    Set dbs = CreateObject("ADODB.Connection")
    dbs.Open cCnxString & cDBName

    dbs.Execute "SELECT  telephone " _
        & "FROM clients  " _
        & "WHERE ID=2;"
dbs.close
End Sub

Pouvez vous seulement me dire ce que je dois rajouter comme ligne de code pour l'afficher dans un textbox s'il vous plait ? je suis vraiment dans la panade, depuis 1 semaine j'essaye de trouver le moyen mais je n'y arrive pas.

Bonjour,

Dans le cas d'un Select un simple execute ne suffit pas.

Il faut créer un objet Recordset pour y placer le résultat de la requête puisque tu en attend un retour

Ici un exemple dans lequel requete est ta chaine de requête, Cnx est un objet ADODB.Connection et T un variant :

Dim Cnx As Object, Rst As Object
Dim T as Variant, requete as String

    ' ...
    Set Rst = CreateObject("ADODB.Recordset")
    Rst.Open requete, Cnx, 3

    If Not Rst.RecordCount = 0 Then
        ReDim T(Rst.Fields.Count - 1, Rst.RecordCount - 1)
        Rst.MoveFirst
        T = Rst.GetRows
    End If

Ce code te permet donc de récupérer la ou les valeurs dans le tableau T.

Il te suffit ensuite de pointer sur celle(s) qui t'intéresse, par exemple

T(1,1) pointera sur la donnée de la ligne 1, colonne 1

Dnas ton cas, ce sera du genre : UserformTruc.Textbox1.value = T(1,1)

Bonjour,

Merci beaucoup pierrep56 pour votre aide.

Cependant j'ai une erreur au niveau de la ligne suivante :

UserForm1.TextBox1.Value = T(1, 1)

L'erreur qui apparaît est : Erreur d'exécution '9' : L’indice n’appartient pas à la sélection (voir fichier joint)

Pouvez-vous m'aider s'il-vous-plait ?

Voici mon code au complet :

Sub CommandButton3_Click()
Dim BDD As String
Dim Cnx As Object, Rst As Object
Dim T As Variant, requete As String
    BDD = "C:\Users\loic\Desktop\M2 BF\projet vba\2017_ProjectClientaccdb"     ' A renseigner utilement
    requete = " SELECT DISTINCT telephoneFROM Clients WHERE ID=2"
    Set Cnx = CreateObject("ADODB.Connection")
    Cnx.Open "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & BDD
    Set Rst = CreateObject("ADODB.Recordset")
    Rst.Open requete, Cnx, 3
    If Not Rst.RecordCount = 0 Then
        ReDim T(Rst.Fields.Count - 1, Rst.RecordCount - 1)
        Rst.MoveFirst
        T = Rst.GetRows
    End If
 UserForm1.TextBox1.Value = T(1, 1)
End Sub

Pouvez-vous m'aider s'il-vous-plait ? Je ne comprends pas l'erreur

projet vba clients erreur

telephone FROM et non telephoneFROM cf espace

J'ai remis l'espace entre telephone FROM mais j'ai toujours l'erreur sur la ligne :

UserForm1.TextBox1.Value = T(1,1)

Voilà une démo fonctionnelle, débrouille-toi avec ça, il y a des Select, Update, Insert, bref tout ce qu'il faut.

113demo.zip (44.06 Ko)
Rechercher des sujets similaires à "recuperer donnees access aller textbox"