Requete sql en vb vers une BdD access
Amandine
-
Amandine -
Amandine -
Bonjour,
je suis débutante en vb, mon probleme est le suivant,
j'ai une base de donnees Access qui s'appelle "Base1.mdb" elle se trouve dans "C:\bourse"
et sur excel j'ai un userform en vb qui contient 4 textbox : "textbox1" à "textbox4" vide par defaut et j'ai un bouton exécuter auquel je veux associer une requte sql de type :
select textbox1, textbox2, textbox3 from table1 where textbox4 = '100' par exemple
pourrier-vous svp m'aider a associer la requete au bouton (Bouton1)
merci
je suis débutante en vb, mon probleme est le suivant,
j'ai une base de donnees Access qui s'appelle "Base1.mdb" elle se trouve dans "C:\bourse"
et sur excel j'ai un userform en vb qui contient 4 textbox : "textbox1" à "textbox4" vide par defaut et j'ai un bouton exécuter auquel je veux associer une requte sql de type :
select textbox1, textbox2, textbox3 from table1 where textbox4 = '100' par exemple
pourrier-vous svp m'aider a associer la requete au bouton (Bouton1)
merci
A voir également:
- Requete sql en vb vers une BdD access
- Vb - Télécharger - Langages
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Access runtime ✓ - Forum Access
- Acer quick access ✓ - Forum PC portable
- Qwerty vers azerty - Guide
15 réponses
Bonjour,
Tu veux dire que tu veux importer les données de ta base de données pour les afficher dans les textbox ?
polux
Tu veux dire que tu veux importer les données de ta base de données pour les afficher dans les textbox ?
polux
Bpnjour,
oui c'est ça polux;
la reponse de ma requete est une ligne donc une variable par colonne et ces variables la que je veux recuperer et les mettre dans les textbox
oui c'est ça polux;
la reponse de ma requete est une ligne donc une variable par colonne et ces variables la que je veux recuperer et les mettre dans les textbox
Bonjour,
Voilà un exemple, à toi de changer les différents nom de champs
Bonne courage pour la suite
;o)
polux
Voilà un exemple, à toi de changer les différents nom de champs
Sub importDonneesAccess()
'Nécessite d 'activer les références: Outils -> Références...
'Microsoft ActiveX Data Objects x.x Library
'et
'Microsoft ADO Ext. x.x for DDL and Security
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim strSQL As String
Set Db = DAO.OpenDatabase("C:\bourse\Base1.mdb", False, False)
strSQL = "SELECT champ1, champ2, champ3, champ4</ita> FROM <ital>[Table1] _
WHERE champ4 = 100"
Set Rs = Db.OpenRecordset(strSQL, DAO.dbOpenSnapshot)
UserForm1.TextBox1 = Rs.Fields("champ1")
UserForm1.TextBox2 = Rs.Fields("champ2")
UserForm1.TextBox3 = Rs.Fields("champ3")
UserForm1.TextBox4 = Rs.Fields("champ4")
Db.Close
End Sub
Bonne courage pour la suite
;o)
polux
Bonjour Polux,
merci pour ta reponse
j'ai repris ton code et je l'ai modifié mais malheureusement il fonctionne pas
voila ce que j'ai mis
mais il bloque a la ligne
merci encore une fois pour ton aide
merci pour ta reponse
j'ai repris ton code et je l'ai modifié mais malheureusement il fonctionne pas
voila ce que j'ai mis
Private Sub btValiderAction_Click()
'Nécessite d 'activer les références: Outils -> Références...
'Microsoft ActiveX Data Objects x.x Library
'et
'Microsoft ADO Ext. x.x for DDL and Security
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim strSQL As String
ISIN = TxISINAction.Text
Set Db = DAO.OpenDatabase("C:\bourse\base1.mdb", False, False)
strSQL = "select isin, nom_societe, secteur, site_web from T_SECTEURS, T_SOCIETES where SECTEURS.CODE_SECTEUR = T_SOCIETES.CODE_SECTEUR AND T_SOCIETES.ISIN = " & ISIN
Set Rs = Db.OpenRecordset(strSQL, DAO.dbOpenSnapshot)
USFRM.TxISINCours = Rs.Fields("ISIN")
USFRM.TxNomCours = Rs.Fields("NOM_SOCIETE")
USFRM.TxSecteurCours = Rs.Fields("SECTEUR")
USFRM.TxSiteCours = Rs.Fields("SITE_WEB")
Db.Close
End Sub
mais il bloque a la ligne
Set Rs = Db.OpenRecordset(strSQL, DAO.dbOpenSnapshot)
merci encore une fois pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
As-tu bien fait ça :
'Nécessite d 'activer les références: Outils -> Références...
'Microsoft ActiveX Data Objects x.x Library
'et
'Microsoft ADO Ext. x.x for DDL and Security
'Nécessite d 'activer les références: Outils -> Références...
'Microsoft ActiveX Data Objects x.x Library
'et
'Microsoft ADO Ext. x.x for DDL and Security
de quel type est ISIN ?
si c'est un numérique il faut faire :
ISIN = Clng(TxISINAction.Text)
Si c'est de l'apha il faut faire dans ta requête (il y avait aussi une erreur sur le nom d'une table):
strSQL = "select isin, nom_societe, secteur, site_web _
from T_SECTEURS, T_SOCIETES where T_SECTEURS.CODE_SECTEUR = T_SOCIETES.CODE_SECTEUR AND T_SOCIETES.ISIN = ' " & ISIN & " ' "
Les champs extrait sont-ils dans la même table ?
Vérifie également quel est le type de champ ISIN ...
;o)
polux
si c'est un numérique il faut faire :
ISIN = Clng(TxISINAction.Text)
Si c'est de l'apha il faut faire dans ta requête (il y avait aussi une erreur sur le nom d'une table):
strSQL = "select isin, nom_societe, secteur, site_web _
from T_SECTEURS, T_SOCIETES where T_SECTEURS.CODE_SECTEUR = T_SOCIETES.CODE_SECTEUR AND T_SOCIETES.ISIN = ' " & ISIN & " ' "
Les champs extrait sont-ils dans la même table ?
Vérifie également quel est le type de champ ISIN ...
;o)
polux
le code ISIN il est de Type : FR0000031122
pour le case "resolu" je la trouve peut etre parce que je suis pas inscrite
pour le case "resolu" je la trouve peut etre parce que je suis pas inscrite
j'ai encore un tit probleme
si je rentre un code ISIN que j'ai deja dans ma base tout fonctionne bien mais si je rentre un code non existant ça bloque dans le code a la ligne
si je rentre un code ISIN que j'ai deja dans ma base tout fonctionne bien mais si je rentre un code non existant ça bloque dans le code a la ligne
USFRM.TxISINCours = Rs.Fields("ISIN")
ben oui, puisque ton recordset est vide ... il faut faire un test avant d'afficher, du genre :
;o)
polux
If IsNull(Rs.Fields(0)) Then
MsgBox "blablabla",vbexclamation,"Erreur base de données"
Exit Sub
End if
;o)
polux
salut
merci polux encore une fois pour ton aide
en fait j'ai integré ton code dans ce que j'avais avant mais ca marche pas
voici le bout de code
si je rentre un ISIN qui n'existe pas ça bloque dans la ligne
merci polux encore une fois pour ton aide
en fait j'ai integré ton code dans ce que j'avais avant mais ca marche pas
voici le bout de code
Set Db = DAO.OpenDatabase("C:\bourso\BdD_Actions.mdb", False, False)
strSQL = "select isin, nom_societe, secteur, site_web from T_secteurs, T_societes where T_SECTEURS.CODE_SECTEUR = T_SOCIETES.CODE_SECTEUR AND T_SOCIETES.ISIN = '" & ISIN & "'"
Set Rs = Db.OpenRecordset(strSQL, DAO.dbOpenSnapshot)
'verification que le code ISIN entré figure bien dans la base de donnée
If IsNull(Rs.Fields(0)) Then
msgbox "Code ISIN non valide", vbExclamation, "Erreur base de données"
Exit Sub
End If
UFESCA1.TxISINCours = Rs.Fields("ISIN")
UFESCA1.TxNomCours = Rs.Fields("NOM_SOCIETE")
UFESCA1.TxSecteurCours = Rs.Fields("SECTEUR")
UFESCA1.lbRsiteCours = Rs.Fields("SITE_WEB")
si je rentre un ISIN qui n'existe pas ça bloque dans la ligne
UFESCA1.TxISINCours = Rs.Fields("ISIN")
re,
Essaies avec ça, je n'ai pas testé et je ne suis plus tout à fait sur de la syntaxe:
Essaies avec ça, je n'ai pas testé et je ne suis plus tout à fait sur de la syntaxe:
UFESCA1.TxISINCours = Rs.Fields(0)
UFESCA1.TxNomCours = Rs.Fields(1)
UFESCA1.TxSecteurCours = Rs.Fields(2)
UFESCA1.lbRsiteCours = Rs.Fields(3)