Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vba et sql

8 réponses
Avatar
Michel
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une variable.

C'est la recuperation dans une variable qui me pose probleme. J'arrive a
creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO :MAILADR " & _

"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.

8 réponses

Avatar
Léila
Bonjour.
Et avec ?
Dim Txt As String
Txt = DLookup("MAILADR", "Table_Reporting_E_Mail", "Reporting='176103Rep1'")
MsgBox (Txt)


Michel wrote:
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une
variable.
C'est la recuperation dans une variable qui me pose probleme.
J'arrive a creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO :MAILADR
" & _
"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.


Avatar
Michel
hello,

non ca ne marche pas, ca me met la syntax sql dans la variable... Ca ne me
rencoie pas le resultat....

@+
Michel.


"Léila" a écrit dans le message de news:
OI%23H%
Bonjour.
Et avec ?
Dim Txt As String
Txt = DLookup("MAILADR", "Table_Reporting_E_Mail",
"Reporting='176103Rep1'")
MsgBox (Txt)


Michel wrote:
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une
variable.
C'est la recuperation dans une variable qui me pose probleme.
J'arrive a creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO :MAILADR
" & _
"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.






Avatar
Léila
Je n'ai peut-être pas bien saisi ce que tu veux faire exactement. Chez moi
par exemple, j'ai mis le code sur un bouton de commande dans un formulaire
et lorsque je clique dessus, j'ai bien le résultat recherché dans un MsgBox.
Chez toi, comment est-ce exactement? a quel moment voudrais-tu obtenir ce
MsgBox?

Michel wrote:
hello,

non ca ne marche pas, ca me met la syntax sql dans la variable... Ca
ne me rencoie pas le resultat....

@+
Michel.


"Léila" a écrit dans le message de news:
OI%23H%
Bonjour.
Et avec ?
Dim Txt As String
Txt = DLookup("MAILADR", "Table_Reporting_E_Mail",
"Reporting='176103Rep1'")
MsgBox (Txt)


Michel wrote:
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une
variable.
C'est la recuperation dans une variable qui me pose probleme.
J'arrive a creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO
:MAILADR " & _
"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.






Avatar
Eric
Bonjour,

Quelque chose comme ça, en utilisant la variable-objet rst,
conviendrait ?

Dim rst As Dao.Recordset
Dim db as Database
Dim strSQL as String
strSQL ="SELECT E_Mail from Table_Reporting_E_Mail WHERE Reporting =
'176103Rep1';"
Set rstÛ.Openrecordset(strSQL)
While not rst.EOF
debug.print rst(0) ' ou autre traitement
rst.Movenext
Wend
Set rst=Nothing
Set db=Nothing


Michel a écrit :
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une variable.

C'est la recuperation dans une variable qui me pose probleme. J'arrive a
creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO :MAILADR " & _

"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
Michel
hello,

Merci de ton aide mais ce n'est pas tout a fait ce que je voulais.
@+
Michel.


"Léila" a écrit dans le message de news:

Je n'ai peut-être pas bien saisi ce que tu veux faire exactement. Chez moi
par exemple, j'ai mis le code sur un bouton de commande dans un formulaire
et lorsque je clique dessus, j'ai bien le résultat recherché dans un
MsgBox. Chez toi, comment est-ce exactement? a quel moment voudrais-tu
obtenir ce MsgBox?

Michel wrote:
hello,

non ca ne marche pas, ca me met la syntax sql dans la variable... Ca
ne me rencoie pas le resultat....

@+
Michel.


"Léila" a écrit dans le message de news:
OI%23H%
Bonjour.
Et avec ?
Dim Txt As String
Txt = DLookup("MAILADR", "Table_Reporting_E_Mail",
"Reporting='176103Rep1'")
MsgBox (Txt)


Michel wrote:
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une
variable.
C'est la recuperation dans une variable qui me pose probleme.
J'arrive a creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO
:MAILADR " & _
"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.










Avatar
Michel
hello,
Merci bcp pour ton aide c'est plus ou moins la voie que je voulais.
voici le code que j'utilise
@+
Michel.


Dim db As Dao.Database, rst As Dao.Recordset
Dim strSQL As String
Dim Result_EMail As String
Dim Result_Sujet_EMail As String
Dim Result_Fichier As String

Set db = CurrentDb()

On Error Resume Next

'Recuperation E-Mail
strSQL = "SELECT E_Mail from Table_Reporting_E_Mail WHERE Reporting ='" &
Me.NumFond_Reporting.Value & "'"
Set rst = db.OpenRecordset(strSQL)
While Not rst.EOF
Result_EMail = rst(0) & ";" & Result_EMail
'Debug.Print rst(0)
rst.MoveNext
Wend
Set rst = Nothing
'Set db = Nothing
rst.Close




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

Bonjour,

Quelque chose comme ça, en utilisant la variable-objet rst,
conviendrait ?

Dim rst As Dao.Recordset
Dim db as Database
Dim strSQL as String
strSQL ="SELECT E_Mail from Table_Reporting_E_Mail WHERE Reporting =
'176103Rep1';"
Set rstÛ.Openrecordset(strSQL)
While not rst.EOF
debug.print rst(0) ' ou autre traitement
rst.Movenext
Wend
Set rst=Nothing
Set db=Nothing


Michel a écrit :
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une variable.

C'est la recuperation dans une variable qui me pose probleme. J'arrive a
creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO :MAILADR "
& _

"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
Eric
Bonsoir,

Je mettrai rst.Close avant Set rst = Nothing car tu n'as pas de message
d'erreur à cause du On error
D'autre part, je libèrerai la variable-objet db par Set db = Nothing
alors que tu as mis cette ligne en commentaire, à moins que la
procédure, par la suite, utilise db et que la variable est libérée à la fin.

Comme tu l'as remarqué j'avais oublié la ligne : Set db = CurrentDb()

Bonne continuation

Michel a écrit :
hello,
Merci bcp pour ton aide c'est plus ou moins la voie que je voulais.
voici le code que j'utilise
@+
Michel.


Dim db As Dao.Database, rst As Dao.Recordset
Dim strSQL As String
Dim Result_EMail As String
Dim Result_Sujet_EMail As String
Dim Result_Fichier As String

Set db = CurrentDb()

On Error Resume Next

'Recuperation E-Mail
strSQL = "SELECT E_Mail from Table_Reporting_E_Mail WHERE Reporting ='" &
Me.NumFond_Reporting.Value & "'"
Set rst = db.OpenRecordset(strSQL)
While Not rst.EOF
Result_EMail = rst(0) & ";" & Result_EMail
'Debug.Print rst(0)
rst.MoveNext
Wend
Set rst = Nothing
'Set db = Nothing
rst.Close




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

Bonjour,

Quelque chose comme ça, en utilisant la variable-objet rst,
conviendrait ?

Dim rst As Dao.Recordset
Dim db as Database
Dim strSQL as String
strSQL ="SELECT E_Mail from Table_Reporting_E_Mail WHERE Reporting =
'176103Rep1';"
Set rstÛ.Openrecordset(strSQL)
While not rst.EOF
debug.print rst(0) ' ou autre traitement
rst.Movenext
Wend
Set rst=Nothing
Set db=Nothing


Michel a écrit :
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une variable.

C'est la recuperation dans une variable qui me pose probleme. J'arrive a
creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO :MAILADR "
& _

"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

-----------------------------------------------------------------------------
Less Spam Better enjoyable experience
Visit : news://spacesst.com
Avatar
Michel
Coucou,
oui effectivement le code continue...
tout ce que tu as dis je l'ai fais apres.....
Un grand merci pour ton aide
@+
Michel.


"Eric" a écrit dans le message de news:
%23GPUhVQ%
Bonsoir,

Je mettrai rst.Close avant Set rst = Nothing car tu n'as pas de message
d'erreur à cause du On error
D'autre part, je libèrerai la variable-objet db par Set db = Nothing alors
que tu as mis cette ligne en commentaire, à moins que la procédure, par la
suite, utilise db et que la variable est libérée à la fin.

Comme tu l'as remarqué j'avais oublié la ligne : Set db = CurrentDb()

Bonne continuation

Michel a écrit :
hello,
Merci bcp pour ton aide c'est plus ou moins la voie que je voulais.
voici le code que j'utilise
@+
Michel.


Dim db As Dao.Database, rst As Dao.Recordset
Dim strSQL As String
Dim Result_EMail As String
Dim Result_Sujet_EMail As String
Dim Result_Fichier As String

Set db = CurrentDb()

On Error Resume Next

'Recuperation E-Mail
strSQL = "SELECT E_Mail from Table_Reporting_E_Mail WHERE Reporting ='"
& Me.NumFond_Reporting.Value & "'"
Set rst = db.OpenRecordset(strSQL)
While Not rst.EOF
Result_EMail = rst(0) & ";" & Result_EMail
'Debug.Print rst(0)
rst.MoveNext
Wend
Set rst = Nothing
'Set db = Nothing
rst.Close




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

Bonjour,

Quelque chose comme ça, en utilisant la variable-objet rst,
conviendrait ?

Dim rst As Dao.Recordset
Dim db as Database
Dim strSQL as String
strSQL ="SELECT E_Mail from Table_Reporting_E_Mail WHERE Reporting =
'176103Rep1';"
Set rstÛ.Openrecordset(strSQL)
While not rst.EOF
debug.print rst(0) ' ou autre traitement
rst.Movenext
Wend
Set rst=Nothing
Set db=Nothing


Michel a écrit :
Bonjour a tout le monde,

j'essais de faire une requete sql en vba, et je n'y arrive pas :o(

Le but : rechercher dans la colonne "Reporting" de la table
"Table_Reporting_E_Mail", tous les records egal a "176103Rep1" et me
retourner le resultat de la colonne "ReportingE_Mail" dans une
variable.

C'est la recuperation dans une variable qui me pose probleme. J'arrive
a creer, updater ou supprimer des records d'une table....

voila mon code :

Dim MAILADR As String

Set db = CurrentDb()

Set rst = db.OpenRecordset("Table_Reporting_E_Mail")

On Error Resume Next

CurrentDb.Execute "SELECT Table_Reporting_E_Mail.E_Mail INTO :MAILADR
" & _

"from Table_Reporting_E_Mail " & _

"WHERE Reporting = ""176103Rep1"";"

'ou

Dim strSQL As String

strSQL = "SELECT * INTO :MAILADR FROM Table_Reporting_E_Mail from
Table_Reporting_E_Mail WHERE Reporting = '176103Rep1'"

DoCmd.RunSQL strSQL

MsgBox MAILADR

Merci d'avance...
Michel.


--
A+
Eric
http://www.mpfa.info/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr