• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Zeant

[vb5] Exportar dados com o VB

9 mensagens neste tópico

Boas pessoal,

Eu tenho uma base dados em access e tou a gravar e a buscar os dados com o VB, agora tenho necessidade e  exportar alguns dados de uma tabela que tenho criado na minha base de dados em accesso para um ficheiro de texto. Não o sei fazer e a unica coisa que eu encontro mais parecido é exportar dados para o excel mas eu quero é para um ficheiro de texto.

Pessoal se alguem sober como é  ajude pk eu ja tou farto de  :wallbash: com isto, consigo mesmo fazer.....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

O programa ja é muito antigo, ainda esta feito em VB 5...

Eu precisso mesmo desta cena....Obrigado :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas cá vai 1 rotina :

Function CopyFile (src As String, dst As String) As Single

Static Buf$

Dim BTest!, FSize!

Dim Chunk%, F1%, F2%

Const BUFSIZE = 1024

'This routine will copy a file While providing a means

'To support a percent gauge.  Ex. your display routine

'Is called "PercentDone" And accepts the values 0-100.

'Error support Is provided.

'

'A larger BUFSIZE Is best, but Do Not attempt To exceed

'64 K (60000 would be fine)

'

'The size of the copied file Is returned On success

'0 Is returned On failure

  If Dir(src) = "" Then MsgBox "File not found": Exit Function

  If Len(Dir(dst)) Then

      If MsgBox(UCase(dst) & Chr(13) & Chr(10) & "File exists. Overwrite?", 4) <> 6 Then Exit Function

      Kill dst

  End If

  On Error GoTo FileCopyError

  F1 = FreeFile

  Open src For Binary As F1

  F2 = FreeFile

  Open dst For Binary As F2

  FSize = LOF(F1)

  BTest = FSize - LOF(F2)

  Do

      If BTest < BUFSIZE Then

        Chunk = BTest

      Else

        Chunk = BUFSIZE

      End If

      Buf = String(Chunk, " ")

      Get F1, , Buf

      Put F2, , Buf

      BTest = FSize - LOF(F2)

      ' __Call percent display here__

      'PercentDone ( 100 - Int(100 * BTest/FSize) )

  Loop Until BTest = 0

  Close F1

  Close F2

  CopyFile = FSize

  Exit Function

FileCopyError:

  MsgBox "Copy Error!"

  Close F1

  Close F2

  Exit Function

End Function

'For usage

'You would use it as:

ProgressBar1.Value = CopyFile (Which_File, To_Where)

até +

programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dúvidas é na secção de dúvidas, e deve ser sempre indicada a versão do vb em tag no subject do post. :P

Moved.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Caro programadorvb6,

a onde é que a rotina vai gravar o ficheiro texto??

zeant

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Declaras uma variavel para os campos da bd. Ex: Dim Campo(0 to 10) as string

Declaras uma variavel para o ficheiro em que queres gravar. Ex: Dim Ficheiro as string

Numa fase de desenvolvimento tens de incrementar os campos da bd para a variavel Campo(Array), Incrementas a Variavel Ficheiro com a localização pertendida. Na fase final crias um ciclo ou não, mas tens de qualquer maneira tens de fazer: Open Ficheiro for Input as #1. Depois tens de escrever o texto da variavel no Ficheiro: Print #1, Campo(Array).

Quando estiver com o meu computador a 100% posso fazer-te isso ou pelo menos tentar...depois de o fazer envio para o meu servidor http://goustserver.no.sapo.pt . Vai vendo, depois podes descarregar quando quiseres.

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Amigo programador , não sei se este exemplo te ajuda , mas tenta ..

deixo-te então este exemplo

Espero te ter ajudado..!

cump.

programadorvb6

Ps : não é de minha autoria . ( só funciona se tiveres acess 2000)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Caro amigo progamador,

Obrigado pelo exemplo, mas para o que eu pertendia é um pouco complexo....

Dpois de algum tempo eu safei-me....deixo aqui o meu codigo para que possa ser utilizado por mais alguem....

    Dim sDados As String 'variavel com os dados dos registos da tabela

    Dim fnum As Integer

   

   'A título de exemplo, colocamos algo nesta variavel

    sDados = "Isto é um teste"

    'obter um número de ficheiro disponivel

    fnum = FreeFile()

   'criar o ficheiro de saída

    Open "c:\FicheiroTeste.txt" For Output As #fnum

    'escrever dados no ficheiro

    Print #fnum, sDados

    'fechar ficheiro

    Close #fnum

Caso a variavel leve  mais do que um registo como foi o meu casso, tera que ser feito um LOOP na zona do PRINT....

Obrigado e fica aqui também uma possivel ajuda...

Cumprimentos...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora