Boa noite galera.
Andei sumido, pois estava andando por outros caminhos da programação.
Agora um cliente precisa de alterações no sistema que fiz pra ele. só que está dando um pau aqui.
Tenho um form de proposta ao qual o usuário envia ao cliente dele, chega perfeitamente no email.
O problema é que quando vou mexer na estrutura da tabela o access informa que a tabela ainda está aberta mesmo com o form fechado e não rodando em rede, além disso não consigo mexer em propriedades do form e outros. Ou seja, após o envio ele mantém a tabela aberta e buga tudo. Se não enviar email funciona normal.
Eis o código do botão:
Eis o código de envio com CDO
Fico no aguardo.
Obrigado
Andei sumido, pois estava andando por outros caminhos da programação.
Agora um cliente precisa de alterações no sistema que fiz pra ele. só que está dando um pau aqui.
Tenho um form de proposta ao qual o usuário envia ao cliente dele, chega perfeitamente no email.
O problema é que quando vou mexer na estrutura da tabela o access informa que a tabela ainda está aberta mesmo com o form fechado e não rodando em rede, além disso não consigo mexer em propriedades do form e outros. Ou seja, após o envio ele mantém a tabela aberta e buga tudo. Se não enviar email funciona normal.
Eis o código do botão:
- Código:
If IsNull(Me.cliente) Then
MsgBox "Escolha um Cliente.", vbCritical, "Atenção"
ElseIf IsNull(Me.referencia) Then
MsgBox "Digite a Referência da Proposta.", vbCritical, "Atenção"
ElseIf IsNull(Me.prazo_entrega) Then
MsgBox "Informe o Prazo de Entraga.", vbCritical, "Atenção"
ElseIf IsNull(Me.cond_pagamento) Then
MsgBox "Informe a Condição de Pagamento.", vbCritical, "Atenção"
ElseIf IsNull(Me.embalagem) Then
MsgBox "Falta informações da Embalagem.", vbCritical, "Atenção"
ElseIf IsNull(Me.tipo_transporte) Then
MsgBox "Escolha o Tipo de Transporte.", vbCritical, "Atenção"
Else
If MsgBox("Confirma o Envio da Proposta Nº " & Format([id_proposta_gerado], "000000") & vbCrLf _
& "Para " & cliente.Column(1) & vbCrLf & var_tratamento & " " & var_contato & vbCrLf _
& "Valor Total: " & valor_total, vbYesNo + vbQuestion, "Confirma") = vbYes Then
Me.gerada_por = DLookup("USU?RIO", "tbl_sessao")
Me.gerada_em = Now
Me.gerada = True
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Mensagem = [lbl_saudacao] & " " & var_tratamento & " " & var_contato & "." & vbCrLf & vbCrLf _
& "Atendendo a consulta solicitada, apresentamos nossa proposta conforme segue abaixo:" & vbCrLf & vbCrLf _
& "Proposta N: " & [id_proposta_gerado] & vbCrLf & vbCrLf _
& "Referente: " & [referencia] & vbCrLf & vbCrLf _
& "Prazo de Entrega: " & [prazo_entrega] & vbCrLf & vbCrLf _
& "Condições de Pagamento: " & [cond_pagamento] & vbCrLf & vbCrLf _
& "Validade da Proposta: " & [validade_proposta] & vbCrLf & vbCrLf _
& "Tipo de Transporte: " & [tipo_transporte] & vbCrLf & vbCrLf _
& "Em anexo arquivo Completo da Proposta" & vbCrLf & vbCrLf _
& "Ficamos no aguardo e agradecemos antecipadamente sua cotação, atenciosamente." & vbCrLf & vbCrLf _
& gerada_por & vbCrLf _
& "estrelaco@estrelaco.com.br" & vbCrLf & vbCrLf _
& "------------------------------------------------------------------ " & vbCrLf _
& "Esta é uma mensagem automática do Sistema ERP 2018."
Me.texto_mensagem = Mensagem
DoCmd.OpenForm "1-EMAIL_PROGRESSO"
Call Email_CDO2(Me.Remetente, Me.Destinatarios, Me.Assunto, Me.Mensagem)
End If
End If
Eis o código de envio com CDO
- Código:
Public Sub Email_CDO2(Remetente As String, Destinatario As String, _
Assunto As String, Corpo As String, Optional cc As String, _
Optional BCC As String)
On Error Resume Next
Dim iMsg As Object
Dim iConf As Object
Dim strBody As String
Dim Senha As String
Dim assinatura
Dim topom
Dim anexo
Senha = "sua senha"
anexo = Forms!Mensagens!RotaArquivo
' Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SMTP.seudominio.com.br"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "seu@email.com.br"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "sua senha"
.Update
End With
strBody = Corpo
With iMsg
Set .Configuration = iConf
.To = Destinatario
.cc = cc
.BCC = BCC
.From = Remetente
.AddAttachment ("c:\eu.pdf")
.Subject = Assunto
.TextBody = strBody
'.HTMLBody = strBody
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
End Sub
Fico no aguardo.
Obrigado