EXPORTAR DADOS DO BD PARA ARQUIVO TXT.

ALLAN.UNIODONTO 27/11/2006 16:57:38
#186547
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.
USUARIO.EXCLUIDOS 27/11/2006 17:10:21
#186551
Resposta escolhida
Se for só o e-mail (exemplo com ADO):

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
ALLAN.UNIODONTO 27/11/2006 17:34:00
#186563
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?
USUARIO.EXCLUIDOS 27/11/2006 17:35:13
#186565
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...
ALLAN.UNIODONTO 27/11/2006 17:40:03
#186566
O projeto não é meu, estou utilizando pra adaptar... por favor, não sei pq aqui está travando?
USUARIO.EXCLUIDOS 27/11/2006 18:05:27
#186581
Cara, se quiser pegar todos e-mails, use assim:

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
ALLAN.UNIODONTO 27/11/2006 18:09:39
#186582
Matiolli vc é demais, vlw mesmo. Obrigado
Tópico encerrado , respostas não são mais permitidas