Convidado 2/7/2011, 13:11
Bem amigos.. solucionei da seguinte forma:
Private Sub BtnEnviar_Click()
Parametros_de_Inicializacao "SysPen.par"
Dim strDestinatarios
Dim strTitulo
Dim strMensagemCorpoDoEmail
Dim strEnderecos As String
Dim stremail
Dim StrEnvio
Dim db As Database
Dim dbBanco As Database
Dim StrPathLocal As String
Dim NomeBD As String
Dim StrMensagem As String
Dim ws As DAO.Workspace
Dim Contador As Long
Dim rst As Recordset
NomeBD = "Syspen_be_Local.accdb"
StrMensagem = Me.txtMensagem
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(DirBancoDados & "\Syspen_Be_Local.accdb", False, False, "MS Access;PWD=senha")
'String com path para conexão com a base de dados.
StrPathLocal = DirBancoDados & NomeBD
' Conecta ao banco de dados
Set dbBanco = OpenDatabase(StrPathLocal)
Set rst = db.OpenRecordset("select count(Selecionado) as Tot from Contatos where Selecionado=-1")
Contador = rst!tot
If Contador = 0 Then
MsgBox Contador
MsgBox "Não foi selecionado e-mail para o envio" & vbCrLf & _
"Cancelando a operação!", vbCritical, "Atenção"
Exit Sub
Else
strEnderecos = "SELECT Contatos.[IDContato], Contatos.[OrgaoPublico]," _
& "Contatos.[Contato], Contatos.[email], Contatos.[Função]," _
& "Contatos.[Endereço], Contatos.[Cidade], Contatos.[Estado]," _
& "Contatos.[CEP], Contatos.[Pais], Contatos.[Telefone]," _
& "Contatos.[Fax], Contatos.[Selecionado] From Contatos IN '" & StrPathLocal & "'" _
& " WHERE Selecionado = -1;"
Set rst = CurrentDb.OpenRecordset(strEnderecos)
Do Until rst.EOF
stremail = strDestinatarios & rst("email")
strDestinatarios = Left(stremail, Len(stremail)) & ";"
MsgBox stremail
rst.MoveNext
Loop
StrEnvio = Left(strDestinatarios, Len(strDestinatarios) - 1)
strTitulo = "teste"
strMensagemCorpoDoEmail = StrMensagem
On Error Resume Next
DoCmd.SendObject , , , StrEnvio, , , strTitulo, strMensagemCorpoDoEmail, True, False
rst.Close
Set rst = Nothing
End If
End Sub
Saudações