[VBA] : Lire un RecordSet
Résolu
jeate
Messages postés
15
Statut
Membre
-
jeate -
jeate -
Bonjour,
J'aimerais prendre les éléments de mon recordSet et les mettre dans une string et c'est pour ça que j'utilise la méthode GetString mais cela ne marche pas. Qqn pourrait me dire pk ou me conseiller une autre méthode ?
Voici mon code :
Public Function EmailToSend_Click()
Set cdb = CurrentDb()
Dim SqlSelectRecepients As String
SqlSelectRecepients = "SELECT myTableId.mySpalteEmail FROM myTableId;"
Set rst_SqlSelectRecepients = cdb.OpenRecordset(SqlSelectRecepients)
' ERREUR ICI : "cet objet ne gère pas cette propriété"
txt = rst_SqlSelectRecepients.GetString(adClipString)
J'aimerais prendre les éléments de mon recordSet et les mettre dans une string et c'est pour ça que j'utilise la méthode GetString mais cela ne marche pas. Qqn pourrait me dire pk ou me conseiller une autre méthode ?
Voici mon code :
Public Function EmailToSend_Click()
Set cdb = CurrentDb()
Dim SqlSelectRecepients As String
SqlSelectRecepients = "SELECT myTableId.mySpalteEmail FROM myTableId;"
Set rst_SqlSelectRecepients = cdb.OpenRecordset(SqlSelectRecepients)
' ERREUR ICI : "cet objet ne gère pas cette propriété"
txt = rst_SqlSelectRecepients.GetString(adClipString)
A voir également:
- Recordset vba excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
5 réponses
Salut,
on peut procéder autrement, en parcourant le recordset et en récupérant les valeurs des champs (avec ! indiquant que l'on parle d'un champ)
Ca irait comme ça ?
on peut procéder autrement, en parcourant le recordset et en récupérant les valeurs des champs (avec ! indiquant que l'on parle d'un champ)
Dim Rs As Recordset Dim toto as String Set Rs = CurrentDb.OpenRecordset("Table1", dbOpenTable, dbReadOnly) Rs.MoveFirst While Not Rs.EOF With Rs toto = !champ1 MsgBox toto & !champ2 End With Rs.MoveNext Wend Rs.Close
Ca irait comme ça ?
Salut! Alors je ne comprends pas très bien ta question...
De plus, un bouton qui fait deux choses à la fois, ça me paraît pas très clair comme tu l'as expliqué. Quand tu clique une fois, il fait l'action X et quand tu cliques deux fois, il fait l'action Y par exemple?
De plus, un bouton qui fait deux choses à la fois, ça me paraît pas très clair comme tu l'as expliqué. Quand tu clique une fois, il fait l'action X et quand tu cliques deux fois, il fait l'action Y par exemple?
Salut blux !
D'abord, merci de bien vouloir m'aider !
Ben écoute, j'ai essayé ta méthode, mais je reçois toujours l'erreur "Invalid argument" à la ligne :
Set Rs = CurrentDb.OpenRecordset("tblEmail", dbOpenDynaset, dbReadOnly)
Pourtant, ma table tblEmail existe et n'est pas vide (elle contient 3 champs dans la colonne Email)
Saurais-tu pk ça plante ?
D'abord, merci de bien vouloir m'aider !
Ben écoute, j'ai essayé ta méthode, mais je reçois toujours l'erreur "Invalid argument" à la ligne :
Set Rs = CurrentDb.OpenRecordset("tblEmail", dbOpenDynaset, dbReadOnly)
Pourtant, ma table tblEmail existe et n'est pas vide (elle contient 3 champs dans la colonne Email)
Saurais-tu pk ça plante ?
Oui, j'avais essayé, bien pensé qd m !
Et je vous remercie de votre aide, c très gentil !
Entre-temps, g fait un peu différemment et g trouvé la solution, la voici :
Private Sub Commande53_Click()
Set cdb = CurrentDb()
Dim SqlSelectRecepients As String
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
SqlSelectRecepients = "SELECT tblEmail.Email FROM tblEmail;"
Set rst_SqlSelectRecepients = cdb.OpenRecordset(SqlSelectRecepients)
Do Until rst_SqlSelectRecepients.EOF 'Reihe auslesen
myEmail = rst_SqlSelectRecepients!Email
MonMessage.To = MonMessage.To + " " & myEmail & ", "
rst_SqlSelectRecepients.MoveNext
Loop
rst_SqlSelectRecepients.Close
MonMessage.Subject = "Refeering"
MonMessage.Display
Set MonOutlook = Nothing
End Sub
Et je vous remercie de votre aide, c très gentil !
Entre-temps, g fait un peu différemment et g trouvé la solution, la voici :
Private Sub Commande53_Click()
Set cdb = CurrentDb()
Dim SqlSelectRecepients As String
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
SqlSelectRecepients = "SELECT tblEmail.Email FROM tblEmail;"
Set rst_SqlSelectRecepients = cdb.OpenRecordset(SqlSelectRecepients)
Do Until rst_SqlSelectRecepients.EOF 'Reihe auslesen
myEmail = rst_SqlSelectRecepients!Email
MonMessage.To = MonMessage.To + " " & myEmail & ", "
rst_SqlSelectRecepients.MoveNext
Loop
rst_SqlSelectRecepients.Close
MonMessage.Subject = "Refeering"
MonMessage.Display
Set MonOutlook = Nothing
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question