OVH Cloud OVH Cloud

Syntaxe requête

6 réponses
Avatar
Pascal
bonsoir
bon sang je n'arrive pas à construire ma requête :
dim rs as recordset
Set rs = CurrentDb().OpenRecordset("SELECT * FROM TblClients WHERE adresse
email <> """" & " )

je recherche tous les champs adresse email non vide de la table tbClients
adresse email est de type texte


merci de votre aide
Pascal

6 réponses

Avatar
3stone
Salut,

"Pascal"
| bon sang je n'arrive pas à construire ma requête :
| dim rs as recordset
| Set rs = CurrentDb().OpenRecordset("SELECT * FROM TblClients WHERE adresse
| email <> """" & " )
|
| je recherche tous les champs adresse email non vide de la table tbClients
| adresse email est de type texte

Where Not isnull([adresse_email])

Note: "" est une chaîne vide, ce qui est différent de Null ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Pascal
Merci 3 stone,
cela fonctionne bien évidement
ai un petit soucis, j'ai repris sur ton site
pour le mail de masse le code que tu proposes, j'ai coché la référence
Microsoft CDO for Windows 2000 librairy
mais à l'excécution j'ai une erreur : La valeur de Configuration Send Using
est invalide, je sais j'abuse
voici le code
----------------------------------
'envoi un mail a tous les client possédant une adresse EMail
Dim Message As New CDO.Message
Dim rs As Recordset
Set rs = CurrentDb().OpenRecordset("SELECT * FROM TblClients Where Not
isnull([adresse email])")

While Not rs.EOF And Not rs.BOF
'-----------------------------------
'Code repris sur le site de 3Stone
'Déclaration précoce ("Early Binding")
'Cocher la référence à Microsoft CDO for Exchange 2000 librairy
'ou Microsoft CDO for Windows 2000 librairy

With Message
.From = Me.AdresseLogex"
.To = rs.Fields("Adresse Email") 'le destinataire
.Subject = Me.MailSujet 'sujet du mail
mes = mes & "Bonjour " & [Form_Menu
LOGEX].DénominationContact & " " & [Form_Menu LOGEX].Contact & "," & vbCrLf
mes = mes & Me.MailBody & vbCrLf
mes = mes & vbCrLf & Me.MailFormulePolitesse & vbCrLf &
Me.MailSignature
.TextBody = mes 'Le corps du message
.Send **********erreur se produit ici*****************
End With
rs.MoveNext
Wend

Set Message = Nothing
Avatar
ze Titi
Hello Pascal !

Sur la même page que celle où tu as trouvé ton code, il y a une
deuxième version pour contourner ce genre de problème. Il te faut alors
spécifier le serveur SMTP à l'endroit où il est paramétré.

En ce jour mémorable du lundi 26/02/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Merci 3 stone,
cela fonctionne bien évidement
ai un petit soucis, j'ai repris sur ton site
pour le mail de masse le code que tu proposes, j'ai coché la référence
Microsoft CDO for Windows 2000 librairy
mais à l'excécution j'ai une erreur : La valeur de Configuration Send Using
est invalide, je sais j'abuse
voici le code
----------------------------------
'envoi un mail a tous les client possédant une adresse EMail
Dim Message As New CDO.Message
Dim rs As Recordset
Set rs = CurrentDb().OpenRecordset("SELECT * FROM TblClients Where Not
isnull([adresse email])")

While Not rs.EOF And Not rs.BOF
'-----------------------------------
'Code repris sur le site de 3Stone
'Déclaration précoce ("Early Binding")
'Cocher la référence à Microsoft CDO for Exchange 2000 librairy
'ou Microsoft CDO for Windows 2000 librairy

With Message
.From = Me.AdresseLogex"
.To = rs.Fields("Adresse Email") 'le destinataire
.Subject = Me.MailSujet 'sujet du mail
mes = mes & "Bonjour " & [Form_Menu
LOGEX].DénominationContact & " " & [Form_Menu LOGEX].Contact & "," & vbCrLf
mes = mes & Me.MailBody & vbCrLf
mes = mes & vbCrLf & Me.MailFormulePolitesse & vbCrLf &
Me.MailSignature
.TextBody = mes 'Le corps du message
.Send **********erreur se produit ici*****************
End With
rs.MoveNext
Wend

Set Message = Nothing


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Pascal
Merci ze titi,
mais, je fais comment pour connaître le serveur SMTP et le port ?
A+
Pascal


"ze Titi" a écrit dans le message de news:

Hello Pascal !

Sur la même page que celle où tu as trouvé ton code, il y a une deuxième
version pour contourner ce genre de problème. Il te faut alors spécifier
le serveur SMTP à l'endroit où il est paramétré.

En ce jour mémorable du lundi 26/02/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :
Merci 3 stone,
cela fonctionne bien évidement
ai un petit soucis, j'ai repris sur ton site
pour le mail de masse le code que tu proposes, j'ai coché la référence
Microsoft CDO for Windows 2000 librairy
mais à l'excécution j'ai une erreur : La valeur de Configuration Send
Using est invalide, je sais j'abuse
voici le code
----------------------------------
'envoi un mail a tous les client possédant une adresse EMail
Dim Message As New CDO.Message
Dim rs As Recordset
Set rs = CurrentDb().OpenRecordset("SELECT * FROM TblClients Where Not
isnull([adresse email])")

While Not rs.EOF And Not rs.BOF
'-----------------------------------
'Code repris sur le site de 3Stone
'Déclaration précoce ("Early Binding")
'Cocher la référence à Microsoft CDO for Exchange 2000 librairy
'ou Microsoft CDO for Windows 2000 librairy

With Message
.From = Me.AdresseLogex"
.To = rs.Fields("Adresse Email") 'le destinataire
.Subject = Me.MailSujet 'sujet du mail
mes = mes & "Bonjour " & [Form_Menu
LOGEX].DénominationContact & " " & [Form_Menu LOGEX].Contact & "," &
vbCrLf
mes = mes & Me.MailBody & vbCrLf
mes = mes & vbCrLf & Me.MailFormulePolitesse & vbCrLf &
Me.MailSignature
.TextBody = mes 'Le corps du message
.Send **********erreur se produit ici*****************
End With
rs.MoveNext
Wend

Set Message = Nothing


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info





Avatar
ze Titi
Concernant le port, ne te pose pas de question, utilise la variable
cdoSendUsingPort.
Pour ton serveur SMTP, tu peux trouver ça dans les propriétés de ton
compte mail dans ton lecteur de messagerie préféré.

Function GetSMTPServerConfig() As Object
Dim Cdo_Config As New CDO.Configuration
Dim Cdo_Fields As Object
Set Cdo_Fields = Cdo_Config.Fields
With Cdo_Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "smtp.free.fr"
.Update
End With
Set GetSMTPServerConfig = Cdo_Config
Set Cdo_Config = Nothing
Set Cdo_Fields = Nothing
End Function


En ce jour mémorable du lundi 26/02/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Merci ze titi,
mais, je fais comment pour connaître le serveur SMTP et le port ?
A+
Pascal


"ze Titi" a écrit dans le message de news:

Hello Pascal !

Sur la même page que celle où tu as trouvé ton code, il y a une deuxième
version pour contourner ce genre de problème. Il te faut alors spécifier le
serveur SMTP à l'endroit où il est paramétré.

En ce jour mémorable du lundi 26/02/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :
Merci 3 stone,
cela fonctionne bien évidement
ai un petit soucis, j'ai repris sur ton site
pour le mail de masse le code que tu proposes, j'ai coché la référence
Microsoft CDO for Windows 2000 librairy
mais à l'excécution j'ai une erreur : La valeur de Configuration Send
Using est invalide, je sais j'abuse
voici le code
----------------------------------
'envoi un mail a tous les client possédant une adresse EMail
Dim Message As New CDO.Message
Dim rs As Recordset
Set rs = CurrentDb().OpenRecordset("SELECT * FROM TblClients Where Not
isnull([adresse email])")

While Not rs.EOF And Not rs.BOF
'-----------------------------------
'Code repris sur le site de 3Stone
'Déclaration précoce ("Early Binding")
'Cocher la référence à Microsoft CDO for Exchange 2000 librairy
'ou Microsoft CDO for Windows 2000 librairy

With Message
.From = Me.AdresseLogex"
.To = rs.Fields("Adresse Email") 'le destinataire
.Subject = Me.MailSujet 'sujet du mail
mes = mes & "Bonjour " & [Form_Menu
LOGEX].DénominationContact & " " & [Form_Menu LOGEX].Contact & "," &
vbCrLf
mes = mes & Me.MailBody & vbCrLf
mes = mes & vbCrLf & Me.MailFormulePolitesse & vbCrLf &
Me.MailSignature
.TextBody = mes 'Le corps du message
.Send **********erreur se produit ici*****************
End With
rs.MoveNext
Wend

Set Message = Nothing


-- Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info



Avatar
Pascal
hello Ze titi,
je te fais le retour, c'est un minimum
je te remercie pour ton aide ainsi que 3stone pour son code
ceal fonctionne merveilleusement et tout en transparence....génial
Merci encore
Pascal


"ze Titi" a écrit dans le message de news:

Concernant le port, ne te pose pas de question, utilise la variable
cdoSendUsingPort.
Pour ton serveur SMTP, tu peux trouver ça dans les propriétés de ton
compte mail dans ton lecteur de messagerie préféré.

Function GetSMTPServerConfig() As Object
Dim Cdo_Config As New CDO.Configuration
Dim Cdo_Fields As Object
Set Cdo_Fields = Cdo_Config.Fields
With Cdo_Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "smtp.free.fr"
.Update
End With
Set GetSMTPServerConfig = Cdo_Config
Set Cdo_Config = Nothing
Set Cdo_Fields = Nothing
End Function