EXPORTAR DADOS DO BD PARA ARQUIVO TXT.
Eu sei que já existem tópicos falando deste assunto, porém, nenhum resolveu meu problema. Tenho uma agenda com bd access. Nela eu tenho um datagrid que me mostra todos os meus clientes com seus respectivos email's. Quero colocar um botão onde após acionado, exporte para um arquivo texto, todos os email's contidos no BD, separados apenas por ";"(ponto e vÃrgula). Agradeço antecipadamente pela ajuda.
Se for só o e-mail (exemplo com ADO):
Se usar DAO, é só mudar a segunda linha:
Qualquer dúvida poste...flw
Dim EMails As string, f as integer
rst.Open "SELECT EMail FROM SuaTabela"
Do While Not rst.EOF
EMails = EMails & rst("EMail") & "; "
Loop
f = FreeFile
Open "C:\Arquivo.txt" For Output As #f
Print #f, EMails;
Close #f
rst.Close
Se usar DAO, é só mudar a segunda linha:
Set rst = Cn.OpenRecordset("SELECT EMail FROM SuaTabela")
Qualquer dúvida poste...flw
obrigado Matioli. Mas, não sei o que está acontecendo, pois o sistema está travando. Posso te enviar o projeto pra vc dar uma olhada?
Citação:ALLAN_UNIODONTO escreveu:
obrigado Matioli. Mas, não sei o que está acontecendo, pois o sistema está travando. Posso te enviar o projeto pra vc dar uma olhada?
Travando onde?
Manda aà q eu vejo...
O projeto não é meu, estou utilizando pra adaptar... por favor, não sei pq aqui está travando?
Cara, se quiser pegar todos e-mails, use assim:
Agora, se quiser pegar apenas os e-mails listados no grid:
O arquivo será salvo como EMails.txt na pasta de seu sistema...flw
Private Sub Command1_Click()
re.Close
Dim EMails As String, F As Integer
re.Open "SELECT EMail FROM tblagenda"
Do While Not re.EOF
EMails = EMails & re("EMail") & "; "
re.MoveNext
Loop
F = FreeFile
Open App.Path & "\EMails.txt" For Output As #F
Print #F, EMails;
Close #F
MsgBox "E-Mails enviados com sucesso para o arquivo: " & vbCrLf & App.Path & "\EMails.txt", vbInformation
End Sub
Agora, se quiser pegar apenas os e-mails listados no grid:
Private Sub Command1_Click()
Dim EMails As String, F As Integer, i As Integer
For i = gridagenda.FixedRows To gridagenda.Rows - 1
EMails = EMails & gridagenda.TextMatrix(i, 4) & "; "
Next i
F = FreeFile
Open App.Path & "\EMails.txt" For Output As #F
Print #F, EMails;
Close #F
MsgBox "E-Mails enviados com sucesso para o arquivo: " & vbCrLf & App.Path & "\EMails.txt", vbInformation
End Sub
O arquivo será salvo como EMails.txt na pasta de seu sistema...flw
Matiolli vc é demais, vlw mesmo. Obrigado
Tópico encerrado , respostas não são mais permitidas