Bonjour,
J'ai réalisé un formulaire (UserForm) Fiche Client avec des champs
TexBox. Mes données sont dans une base SQL Serveur.
Je souhaite remplir les champs nom, prénom, adresses, .... de mon
formulaire à l'aide
d'1 requête SQL
Sub RemplirFormulaire()
ReqFicheClient = "SELECT Client.Id, Client.RaisonSociale, .... FROM
Client INNER JOIN .... WHERE Client.Id = "Toto") "
connstring = "ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
A partir de là je sèche ..............
Comment remplir le champs NOM de mon formulaire avec le champs
Client.Id par exemple ?
Mon problème est le passage de l'exécution de la requête vers
l'affichage dans un formulaire.
Merci de votre aide
Bonjour,
J'ai réalisé un formulaire (UserForm) Fiche Client avec des champs
TexBox. Mes données sont dans une base SQL Serveur.
Je souhaite remplir les champs nom, prénom, adresses, .... de mon
formulaire à l'aide
d'1 requête SQL
Sub RemplirFormulaire()
ReqFicheClient = "SELECT Client.Id, Client.RaisonSociale, .... FROM
Client INNER JOIN .... WHERE Client.Id = "Toto") "
connstring = "ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
A partir de là je sèche ..............
Comment remplir le champs NOM de mon formulaire avec le champs
Client.Id par exemple ?
Mon problème est le passage de l'exécution de la requête vers
l'affichage dans un formulaire.
Merci de votre aide
Bonjour,
J'ai réalisé un formulaire (UserForm) Fiche Client avec des champs
TexBox. Mes données sont dans une base SQL Serveur.
Je souhaite remplir les champs nom, prénom, adresses, .... de mon
formulaire à l'aide
d'1 requête SQL
Sub RemplirFormulaire()
ReqFicheClient = "SELECT Client.Id, Client.RaisonSociale, .... FROM
Client INNER JOIN .... WHERE Client.Id = "Toto") "
connstring = "ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
A partir de là je sèche ..............
Comment remplir le champs NOM de mon formulaire avec le champs
Client.Id par exemple ?
Mon problème est le passage de l'exécution de la requête vers
l'affichage dans un formulaire.
Merci de votre aide
Bonjour Serge,
Si tu utilises un lien ODBC, je ne vois pas comment tu peux faire si tu ne
passes pas par la réception du résultat de ta
requête dans une plage de cellules. De là, Tu ajoutes quelques lignes de
code à la fin de l'exécution du code pour
transférer les données reçues dans la plage de cellules de la feuille de
calcul vers les champs de ton formulaire.
Si c'est possible de passer une requête pour définir les valeurs
retournées, je ne crois pas que l'on puisse manier "un
recordset" sans passer par l'intermédiaire d'une feuille de calcul. Avec
ADO ou DAO, il est possible de créer un
recordset et à partir de celui-ci extraire les valeurs désirées.
Voici un exemple avec ODBC :
'----------------------------------
Sub ImportAccessFromExcel()
'Pour obtenir une connexion avec une base de donnée
'Excel, Access ou .... avec ODBC
'Établir la connexion via le panneau de configuration.
Dim connstring As String
Dim sqlstr As String
sqlstr = "SELECT Client.Id, Client.RaisonSociale, .... FROM Client
INNER JOIN .... WHERE Client.Id = "Toto") "
'chaine de connection
connstring = _
"ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
With ActiveSheet.QueryTables.Add(Connection:=connstring, _
Destination:¬tiveCell, Sql:=sqlstr)
.FieldNames = False
'les noms de champ de la source de données
'n'apparaissent pas en en-tête de colonnes
.BackgroundQuery = False 'La macro attend la fin du transfert.
.Refresh
End With
'Et tu peux ajouter quelques lignes pour transférer le résultat
'vers tes textbox.
Userform1.textbox1 = range("A1")
' etc...
End Sub
'----------------------------------
Salutations!
"Serge" <serge.g8[NO-SPAM]@laposte.net> a écrit dans le message de news:
cpmnd8$1iq3$
Bonjour,
J'ai réalisé un formulaire (UserForm) Fiche Client avec des champs
TexBox.
Mes données sont dans une base SQL Serveur.
Je souhaite remplir les champs nom, prénom, adresses, .... de mon
formulaire à l'aide
d'1 requête SQL
Sub RemplirFormulaire()
ReqFicheClient = "SELECT Client.Id, Client.RaisonSociale, .... FROM Client
INNER JOIN .... WHERE Client.Id = "Toto") "
connstring = "ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
A partir de là je sèche ..............
Comment remplir le champs NOM de mon formulaire avec le champs Client.Id
par
exemple ?
Mon problème est le passage de l'exécution de la requête vers l'affichage
dans un formulaire.
Merci de votre aide
Bonjour Serge,
Si tu utilises un lien ODBC, je ne vois pas comment tu peux faire si tu ne
passes pas par la réception du résultat de ta
requête dans une plage de cellules. De là, Tu ajoutes quelques lignes de
code à la fin de l'exécution du code pour
transférer les données reçues dans la plage de cellules de la feuille de
calcul vers les champs de ton formulaire.
Si c'est possible de passer une requête pour définir les valeurs
retournées, je ne crois pas que l'on puisse manier "un
recordset" sans passer par l'intermédiaire d'une feuille de calcul. Avec
ADO ou DAO, il est possible de créer un
recordset et à partir de celui-ci extraire les valeurs désirées.
Voici un exemple avec ODBC :
'----------------------------------
Sub ImportAccessFromExcel()
'Pour obtenir une connexion avec une base de donnée
'Excel, Access ou .... avec ODBC
'Établir la connexion via le panneau de configuration.
Dim connstring As String
Dim sqlstr As String
sqlstr = "SELECT Client.Id, Client.RaisonSociale, .... FROM Client
INNER JOIN .... WHERE Client.Id = "Toto") "
'chaine de connection
connstring = _
"ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
With ActiveSheet.QueryTables.Add(Connection:=connstring, _
Destination:¬tiveCell, Sql:=sqlstr)
.FieldNames = False
'les noms de champ de la source de données
'n'apparaissent pas en en-tête de colonnes
.BackgroundQuery = False 'La macro attend la fin du transfert.
.Refresh
End With
'Et tu peux ajouter quelques lignes pour transférer le résultat
'vers tes textbox.
Userform1.textbox1 = range("A1")
' etc...
End Sub
'----------------------------------
Salutations!
"Serge" <serge.g8[NO-SPAM]@laposte.net> a écrit dans le message de news:
cpmnd8$1iq3$1@biggoron.nerim.net...
Bonjour,
J'ai réalisé un formulaire (UserForm) Fiche Client avec des champs
TexBox.
Mes données sont dans une base SQL Serveur.
Je souhaite remplir les champs nom, prénom, adresses, .... de mon
formulaire à l'aide
d'1 requête SQL
Sub RemplirFormulaire()
ReqFicheClient = "SELECT Client.Id, Client.RaisonSociale, .... FROM Client
INNER JOIN .... WHERE Client.Id = "Toto") "
connstring = "ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
A partir de là je sèche ..............
Comment remplir le champs NOM de mon formulaire avec le champs Client.Id
par
exemple ?
Mon problème est le passage de l'exécution de la requête vers l'affichage
dans un formulaire.
Merci de votre aide
Bonjour Serge,
Si tu utilises un lien ODBC, je ne vois pas comment tu peux faire si tu ne
passes pas par la réception du résultat de ta
requête dans une plage de cellules. De là, Tu ajoutes quelques lignes de
code à la fin de l'exécution du code pour
transférer les données reçues dans la plage de cellules de la feuille de
calcul vers les champs de ton formulaire.
Si c'est possible de passer une requête pour définir les valeurs
retournées, je ne crois pas que l'on puisse manier "un
recordset" sans passer par l'intermédiaire d'une feuille de calcul. Avec
ADO ou DAO, il est possible de créer un
recordset et à partir de celui-ci extraire les valeurs désirées.
Voici un exemple avec ODBC :
'----------------------------------
Sub ImportAccessFromExcel()
'Pour obtenir une connexion avec une base de donnée
'Excel, Access ou .... avec ODBC
'Établir la connexion via le panneau de configuration.
Dim connstring As String
Dim sqlstr As String
sqlstr = "SELECT Client.Id, Client.RaisonSociale, .... FROM Client
INNER JOIN .... WHERE Client.Id = "Toto") "
'chaine de connection
connstring = _
"ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
With ActiveSheet.QueryTables.Add(Connection:=connstring, _
Destination:¬tiveCell, Sql:=sqlstr)
.FieldNames = False
'les noms de champ de la source de données
'n'apparaissent pas en en-tête de colonnes
.BackgroundQuery = False 'La macro attend la fin du transfert.
.Refresh
End With
'Et tu peux ajouter quelques lignes pour transférer le résultat
'vers tes textbox.
Userform1.textbox1 = range("A1")
' etc...
End Sub
'----------------------------------
Salutations!
"Serge" <serge.g8[NO-SPAM]@laposte.net> a écrit dans le message de news:
cpmnd8$1iq3$
Bonjour,
J'ai réalisé un formulaire (UserForm) Fiche Client avec des champs
TexBox.
Mes données sont dans une base SQL Serveur.
Je souhaite remplir les champs nom, prénom, adresses, .... de mon
formulaire à l'aide
d'1 requête SQL
Sub RemplirFormulaire()
ReqFicheClient = "SELECT Client.Id, Client.RaisonSociale, .... FROM Client
INNER JOIN .... WHERE Client.Id = "Toto") "
connstring = "ODBC;DSN=odbc_base;UID=xxxxx;PWD=yyy;Database=VENTE"
A partir de là je sèche ..............
Comment remplir le champs NOM de mon formulaire avec le champs Client.Id
par
exemple ?
Mon problème est le passage de l'exécution de la requête vers l'affichage
dans un formulaire.
Merci de votre aide