OVH Cloud OVH Cloud

Récupérer les données d'une requête dans un formulaire

12 réponses
Avatar
Eric F
Bonjourn
Depuis un foormulaire, je veux exécuter une requête SQL qui va sélectionner
certaines données d'une table. Je cherche à remplacer les données actuelles
du formulaire par les données renvoyées par la reqûête. J'ai trouvé ceci,
mais j'ai une erreur sur Field : "Erreur de compilation : membre de méthode
ou de données introuvable".

Dim strSql As String
Dim rs As Recordset

strSql = "SELECT * FROM [Comptes effacés] WHERE
(((Comptes_SEL.compte)='" & [Compte] & "'));"
Set rs = MyDataBase.openRecordset(strSql)
client.Text = rs.Field("client")
[Mot de passe].Text = rs.Field("Mot de passe")
serveur .Text = rs.Field("serveur")

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

essaie rs.Fields("client")
ou rs("clients") tout simplement.
il manque le s.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000€
!
http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90


"Eric F" a écrit dans le message de news:
%23LTSL43$
| Bonjourn
| Depuis un foormulaire, je veux exécuter une requête SQL qui va
sélectionner
| certaines données d'une table. Je cherche à remplacer les données
actuelles
| du formulaire par les données renvoyées par la reqûête. J'ai trouvé ceci,
| mais j'ai une erreur sur Field : "Erreur de compilation : membre de
méthode
| ou de données introuvable".
|
| Dim strSql As String
| Dim rs As Recordset
|
| strSql = "SELECT * FROM [Comptes effacés] WHERE
| (((Comptes_SEL.compte)='" & [Compte] & "'));"
| Set rs = MyDataBase.openRecordset(strSql)
| client.Text = rs.Field("client")
| [Mot de passe].Text = rs.Field("Mot de passe")
| serveur .Text = rs.Field("serveur")
|
|
Avatar
Raymond [mvp]
.../...

je verrais mieux
client.Value = rs.Field("client")
que client.Text = rs.Field("client")
ou aussi client = rs.Field("client")
Value étant la propriété par défaut.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000€
!
http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90


"Raymond [mvp]" a écrit dans le message de news:
eazFk73$
| Bonjour.
|
| essaie rs.Fields("client")
| ou rs("clients") tout simplement.
| il manque le s.
Avatar
Eric F
Eric F wrote:
Raymond [mvp] wrote:
.../...

je verrais mieux
client.Value = rs.Field("client")
que client.Text = rs.Field("client")
ou aussi client = rs.Field("client")
Value étant la propriété par défaut.

"Raymond [mvp]" a écrit dans le message de
news: eazFk73$
Bonjour.

essaie rs.Fields("client")
ou rs("clients") tout simplement.
il manque le s.



Avec les deux syntaxe, ça me répond Impossible de trouver le champ
"|" (voir pièce jonte).


Je précise que ça marche si je colle le SQL dans une req Access.



Avatar
Raymond [mvp]
si je pars du principe que ta requête est bonne, que tu mets la bonne valeur
dans MyDataBase, et que tu récupères au moins un enregistrement,

Dim strSql As String
Dim rs As DAO.Recordset
Dim MyDataBase as DAO.Database

strSql = "...."
Set MyDataBase = Currentdb
Set rs = MyDataBase.openRecordset(strSql)
If not rs.EOF then
Me.client = rs.Fields("client")
Me.[Mot de passe] = rs.Fields("Mot de passe")
Me.serveur = rs.Fields("serveur")
end if

doit fonctionner obligatoirement.
qu'est-ce que ça donne ?
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000€
!
http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90


"Eric F" a écrit dans le message de news:
%23ZpNCL4$
| Eric F wrote:
| > Raymond [mvp] wrote:
| >> .../...
| >>
| >> je verrais mieux
| >> client.Value = rs.Field("client")
| >> que client.Text = rs.Field("client")
| >> ou aussi client = rs.Field("client")
| >> Value étant la propriété par défaut.
| >>
| >> "Raymond [mvp]" a écrit dans le message de
| >> news: eazFk73$
| >>> Bonjour.
| >>>
| >>> essaie rs.Fields("client")
| >>> ou rs("clients") tout simplement.
| >>> il manque le s.
| >
| > Avec les deux syntaxe, ça me répond Impossible de trouver le champ
| > "|" (voir pièce jonte).
|
| Je précise que ça marche si je colle le SQL dans une req Access.
|
|
Avatar
Eric F
Raymond [mvp] wrote:
si je pars du principe que ta requête est bonne, que tu mets la bonne
valeur dans MyDataBase, et que tu récupères au moins un
enregistrement,

Dim strSql As String
Dim rs As DAO.Recordset
Dim MyDataBase as DAO.Database

strSql = "...."
Set MyDataBase = Currentdb
Set rs = MyDataBase.openRecordset(strSql)
If not rs.EOF then
Me.client = rs.Fields("client")
Me.[Mot de passe] = rs.Fields("Mot de passe")
Me.serveur = rs.Fields("serveur")
end if

doit fonctionner obligatoirement.
qu'est-ce que ça donne ?



Ca indique Type incompatible, même en mettant la valeur récupérée en dur. Je
préciseque le champ Comptes effacés.num est en numéro auto.
strSql = "SELECT * FROM [Comptes effacés] WHERE ((([Comptes
effacés].num)=5));"

Avatar
Raymond [mvp]
sur quelle ligne ça marque ce message ?

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000€
http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90


"Eric F" a écrit dans le message de news:

| Raymond [mvp] wrote:
| > si je pars du principe que ta requête est bonne, que tu mets la bonne
| > valeur dans MyDataBase, et que tu récupères au moins un
| > enregistrement,
| >
| > Dim strSql As String
| > Dim rs As DAO.Recordset
| > Dim MyDataBase as DAO.Database
| >
| > strSql = "...."
| > Set MyDataBase = Currentdb
| > Set rs = MyDataBase.openRecordset(strSql)
| > If not rs.EOF then
| > Me.client = rs.Fields("client")
| > Me.[Mot de passe] = rs.Fields("Mot de passe")
| > Me.serveur = rs.Fields("serveur")
| > end if
| >
| > doit fonctionner obligatoirement.
| > qu'est-ce que ça donne ?
| >
|
| Ca indique Type incompatible, même en mettant la valeur récupérée en dur.
Je
| préciseque le champ Comptes effacés.num est en numéro auto.
| strSql = "SELECT * FROM [Comptes effacés] WHERE ((([Comptes
| effacés].num)=5));"
|
|
Avatar
Eric F
Raymond [mvp] wrote:
sur quelle ligne ça marque ce message ?

Sur Set rs = MyDataBase.openRecordset(strSql)


Avatar
Raymond [mvp]
tu as bien indiqué DAO dans les déclarations dim ?
à part ça et le contenu de strsql il n'y a pas autre chose.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000€
http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90


"Eric F" a écrit dans le message de news:
%
| Raymond [mvp] wrote:
| > sur quelle ligne ça marque ce message ?
| >
| Sur Set rs = MyDataBase.openRecordset(strSql)
|
|
Avatar
Eric F
Raymond [mvp] wrote:
tu as bien indiqué DAO dans les déclarations dim ?
à part ça et le contenu de strsql il n'y a pas autre chose.


"Eric F" a écrit dans le message de news:
%
Raymond [mvp] wrote:
sur quelle ligne ça marque ce message ?

Sur Set rs = MyDataBase.openRecordset(strSql)




Comment on déclare çà ?



Avatar
Raymond [mvp]
Bonjour.

c'est indiqué dans l'exemple que je t'ai donné dans un message précédent le
25/09.


--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000€
http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90


"Eric F" a écrit dans le message de news:
O9$
| Raymond [mvp] wrote:
| > tu as bien indiqué DAO dans les déclarations dim ?
| > à part ça et le contenu de strsql il n'y a pas autre chose.
| >
| >
| > "Eric F" a écrit dans le message de news:
| > %
| >> Raymond [mvp] wrote:
| >>> sur quelle ligne ça marque ce message ?
| >>>
| >> Sur Set rs = MyDataBase.openRecordset(strSql)
|
| Comment on déclare çà ?
|
|
1 2