Bom dia! Tenho um formulario já com o botao de enviar por email... porem ele manda todos os formularios da tabela. eu quero que ele envie somente o atual. Pode ser????
3 participantes
Enviar só o formulario atual
jocaquinha- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1
Registrado : 21/03/2013
- Mensagem nº1
Enviar só o formulario atual
Cláudio Machado- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1636
Registrado : 17/03/2011
- Mensagem nº2
Re: Enviar só o formulario atual
Código do amigo Avelino Sampaio.
ou se preferir, visite o site dele:
http://www.usandoaccess.com.br/dicas/dica8.asp?id=1#inicio
ou se preferir, visite o site dele:
http://www.usandoaccess.com.br/dicas/dica8.asp?id=1#inicio
- Código:
Private Sub Bot_Envia_Email_Click()
Dim strArquivo As String
Dim strLocal As String
Dim objOut As Object
Dim objmail As Object
Dim objAnexo As Object
Const olMailItem = 0
Const olByValue = 1
If IsNull(Me!Id_Orçamento) Then Exit Sub
'---------------------------------------------
'Carregando a coleção do Outlook
'Similar ao abrir o Outlook
'---------------------------------------------
Set objOut = CreateObject("Outlook.application")
'------------------------------------------------------------
'Abrindo o formulário de email para inserir os itens de email
'Similar ao clicar no botão NOVO do Outlook
'------------------------------------------------------------
Set objmail = objOut.CreateItem(olMailItem)
'------------------------------------------------------------
'Abrindo a opção anexo
'Similar ao clicar no botão ANEXO do Outlook
'------------------------------------------------------------
Set objAnexo = objmail.Attachments
'---------------------------------------------------------------------------------
'Indico o nome do arquivo pdf e o local que será gravado
'O local que escolhi para gravar os arquivos de pdf gerados
'é na pasta enviados, aonde se encontra o aplicativo.
'Neste exemplo, gero os nomes dos arquivos, aproveitando o número exclusivo
'do cliente. Então os arquivos vão ficar com o aspecto: rlt1.pdf, rlt2.pdf, ...
'É claro que vc poderá gerar o nome que achar mais conveniente.
'---------------------------------------------------------------------------------
strArquivo = "ORÇAMENTO Nº " & Format(Me!Id_Orçamento, "000000") & ".pdf"
'imprime = MsgBox("Confirma impressão do Orçamento Nº: " & Format(Id_Orçamento, "000000") & Chr(10) + Chr(13) & Txt_Cliente, vbQuestion + vbYesNo, "Imprimir")
strLocal = CurrentProject.path & "\enviados\" & strArquivo
'Salvando alterações no registro
If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
'----------------------------------------------------------------------------
'Abre o relatório filtrado e oculto de acordo com o cliente selecionado.
'----------------------------------------------------------------------------
DoCmd.OpenReport "ORÇAMENTOS_MATERIAIS", acViewPreview, , "ID_ORÇAMENTO = " & Me!Id_Orçamento, acHidden
'----------------------------------------------------------------------------------------
'gero o pdf do relatório através do comando outputto.
'o mecanismo do Access reconhece que o relatório solicitado pelo outputto já está aberto
'e então o outputto usará o relatório já aberto e filtrado.
'-----------------------------------------------------------------------------------------
DoCmd.OutputTo acOutputReport, "ORÇAMENTOS_MATERIAIS", acFormatPDF, strLocal
'-------------------------------------------
'fecha o relatório clientes que está oculto
'-------------------------------------------
DoCmd.Close acReport, "ORÇAMENTOS_MATERIAIS"
'--------------------------------------------------------
'adiciona o arquivo pdf no anexo
'-------------------------------------------------------
objAnexo.Add strLocal, olByValue, 1
'-----------------------------------------------------------------
'Mostra a tela de sáida de email que abrimos
'-----------------------------------------------------------------
objmail.Display
'-------------------------------------------------------
'Tudo já foi entregue ao outlook, então podemos esvaziar
'a memoria do computador usada pelas variáveis
'-------------------------------------------------------
Set objAnexo = Nothing
Set objmail = Nothing
Set objOut = Nothing
.................................................................................
" Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus, morreu de braços abertos."
Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja AQUI.
Não esqueça de clicar no Joinha para agradecer a dica que solucionou seu problema.
Caio- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 301
Registrado : 27/04/2015
- Mensagem nº3
Re: Enviar só o formulario atual
Poderia me ajudar?
Esta dando erro em uma parte, fala que não foi localizado.
Private Sub Bot_Envia_Email_Click()
Dim strArquivo As String
Dim strLocal As String
Dim objOut As Object
Dim objmail As Object
Dim objAnexo As Object
Const olMailItem = 0
Const olByValue = 1
If IsNull(Me!Id_Orçamento) Then Exit Sub
'---------------------------------------------
'Carregando a coleção do Outlook
'Similar ao abrir o Outlook
'---------------------------------------------
Set objOut = CreateObject("Outlook.application")
'------------------------------------------------------------
'Abrindo o formulário de email para inserir os itens de email
'Similar ao clicar no botão NOVO do Outlook
'------------------------------------------------------------
Set objmail = objOut.CreateItem(olMailItem)
'------------------------------------------------------------
'Abrindo a opção anexo
'Similar ao clicar no botão ANEXO do Outlook
'------------------------------------------------------------
Set objAnexo = objmail.Attachments
'---------------------------------------------------------------------------------
'Indico o nome do arquivo pdf e o local que será gravado
'O local que escolhi para gravar os arquivos de pdf gerados
'é na pasta enviados, aonde se encontra o aplicativo.
'Neste exemplo, gero os nomes dos arquivos, aproveitando o número exclusivo
'do cliente. Então os arquivos vão ficar com o aspecto: rlt1.pdf, rlt2.pdf, ...
'É claro que vc poderá gerar o nome que achar mais conveniente.
'---------------------------------------------------------------------------------
strArquivo = "ORÇAMENTO Nº " & Format(Me!Id_Orçamento, "000000") & ".pdf"
'imprime = MsgBox("Confirma impressão do Orçamento Nº: " & Format(Id_Orçamento, "000000") & Chr(10) + Chr(13) & Txt_Cliente, vbQuestion + vbYesNo, "Imprimir")
strLocal = CurrentProject.path & "\enviados\" & strArquivo
'Salvando alterações no registro
If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
'----------------------------------------------------------------------------
'Abre o relatório filtrado e oculto de acordo com o cliente selecionado.
'----------------------------------------------------------------------------
DoCmd.OpenReport "ORÇAMENTOS_MATERIAIS", acViewPreview, , "ID_ORÇAMENTO = " & Me!Id_Orçamento, acHidden
'----------------------------------------------------------------------------------------
'gero o pdf do relatório através do comando outputto.
'o mecanismo do Access reconhece que o relatório solicitado pelo outputto já está aberto
'e então o outputto usará o relatório já aberto e filtrado.
'-----------------------------------------------------------------------------------------
DoCmd.OutputTo acOutputReport, "ORÇAMENTOS_MATERIAIS", acFormatPDF, strLocal
'-------------------------------------------
'fecha o relatório clientes que está oculto
'-------------------------------------------
DoCmd.Close acReport, "ORÇAMENTOS_MATERIAIS"
'--------------------------------------------------------
'adiciona o arquivo pdf no anexo
'-------------------------------------------------------
objAnexo.Add strLocal, olByValue, 1
'-----------------------------------------------------------------
'Mostra a tela de sáida de email que abrimos
'-----------------------------------------------------------------
objmail.Display
'-------------------------------------------------------
'Tudo já foi entregue ao outlook, então podemos esvaziar
'a memoria do computador usada pelas variáveis
'-------------------------------------------------------
Set objAnexo = Nothing
Set objmail = Nothing
Set objOut = Nothing
End Sub
Esta dando erro em uma parte, fala que não foi localizado.
Private Sub Bot_Envia_Email_Click()
Dim strArquivo As String
Dim strLocal As String
Dim objOut As Object
Dim objmail As Object
Dim objAnexo As Object
Const olMailItem = 0
Const olByValue = 1
If IsNull(Me!Id_Orçamento) Then Exit Sub
'---------------------------------------------
'Carregando a coleção do Outlook
'Similar ao abrir o Outlook
'---------------------------------------------
Set objOut = CreateObject("Outlook.application")
'------------------------------------------------------------
'Abrindo o formulário de email para inserir os itens de email
'Similar ao clicar no botão NOVO do Outlook
'------------------------------------------------------------
Set objmail = objOut.CreateItem(olMailItem)
'------------------------------------------------------------
'Abrindo a opção anexo
'Similar ao clicar no botão ANEXO do Outlook
'------------------------------------------------------------
Set objAnexo = objmail.Attachments
'---------------------------------------------------------------------------------
'Indico o nome do arquivo pdf e o local que será gravado
'O local que escolhi para gravar os arquivos de pdf gerados
'é na pasta enviados, aonde se encontra o aplicativo.
'Neste exemplo, gero os nomes dos arquivos, aproveitando o número exclusivo
'do cliente. Então os arquivos vão ficar com o aspecto: rlt1.pdf, rlt2.pdf, ...
'É claro que vc poderá gerar o nome que achar mais conveniente.
'---------------------------------------------------------------------------------
strArquivo = "ORÇAMENTO Nº " & Format(Me!Id_Orçamento, "000000") & ".pdf"
'imprime = MsgBox("Confirma impressão do Orçamento Nº: " & Format(Id_Orçamento, "000000") & Chr(10) + Chr(13) & Txt_Cliente, vbQuestion + vbYesNo, "Imprimir")
strLocal = CurrentProject.path & "\enviados\" & strArquivo
'Salvando alterações no registro
If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
'----------------------------------------------------------------------------
'Abre o relatório filtrado e oculto de acordo com o cliente selecionado.
'----------------------------------------------------------------------------
DoCmd.OpenReport "ORÇAMENTOS_MATERIAIS", acViewPreview, , "ID_ORÇAMENTO = " & Me!Id_Orçamento, acHidden
'----------------------------------------------------------------------------------------
'gero o pdf do relatório através do comando outputto.
'o mecanismo do Access reconhece que o relatório solicitado pelo outputto já está aberto
'e então o outputto usará o relatório já aberto e filtrado.
'-----------------------------------------------------------------------------------------
DoCmd.OutputTo acOutputReport, "ORÇAMENTOS_MATERIAIS", acFormatPDF, strLocal
'-------------------------------------------
'fecha o relatório clientes que está oculto
'-------------------------------------------
DoCmd.Close acReport, "ORÇAMENTOS_MATERIAIS"
'--------------------------------------------------------
'adiciona o arquivo pdf no anexo
'-------------------------------------------------------
objAnexo.Add strLocal, olByValue, 1
'-----------------------------------------------------------------
'Mostra a tela de sáida de email que abrimos
'-----------------------------------------------------------------
objmail.Display
'-------------------------------------------------------
'Tudo já foi entregue ao outlook, então podemos esvaziar
'a memoria do computador usada pelas variáveis
'-------------------------------------------------------
Set objAnexo = Nothing
Set objmail = Nothing
Set objOut = Nothing
End Sub
» [Resolvido]Enviar registro atual do formulário
» [Resolvido]gerar relatório do registro atual e enviar para o email do campo email
» [Resolvido]Enviar por email só 1 registro ( atual ) de um formulário.
» [Resolvido]enviar email somente do cadastro atual do formulario
» [Resolvido]Abrir formulário através de um campo no formulário atual
» [Resolvido]gerar relatório do registro atual e enviar para o email do campo email
» [Resolvido]Enviar por email só 1 registro ( atual ) de um formulário.
» [Resolvido]enviar email somente do cadastro atual do formulario
» [Resolvido]Abrir formulário através de um campo no formulário atual