Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gutelo

Ler Gravar Txt/ Registro de Ponto

Recommended Posts

Ola,

Pessoal sou novato no forum e preciso de uma ajuda, trabalho numa empresa onde tenho que verificar o arquivo de ponto que é em .txt como fasso para ler este arquivo gravar no banco consultar por funcionario e por data????

O arquivo TXT é assim

nd hora data registro

+0011 0813 26022008 2600992901

+0011 0941 26022008 2600466101

+0011 0948 26022008 2600275501

+0011 0958 26022008 2600138501

+00111010260220082600018101

+00111013260220082600023101

+00111028260220082600182401

+00111203260220082600806801

+00111204260220082600464601

+00111220260220082600373472

+00111224260220082600904101

+00111225260220082600376046

+00111225260220082600806801

+00111235260220082600373472

+00111235260220082600904101

+00111244260220082600902501

+00111254260220082600902501

+00111259260220082600464601

 

por favor me ajude!!!!!

 

Gutelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

para abrir o arquivo txt

Dim s As String

Open "c:\teste.txt" For Input As #1
While (Not (EOF(1)))
	Line Input #1, x ' "copia" a linha
	s = s & x
Wend
MsgBox s

Para separar as informações (nd,hora,data,registro) você pode utilizar a função Mid()

 

MsgBox Mid("abacaxi",1,3) 'exibe "aba"

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já conseguir ler o arquivo conforme abaixo, mais não conseguir grava-lo no banco preciso desta ajuda

Open "c:\detalhe\Março.txt " For Input As #1
	'Do Until EOF(1)
	
	Line Input #1, Linha
	RSCod = Mid(Linha, 1, 5)
	RsHorario = Mid(Linha, 6, 4)
	RsData = Mid(Linha, 10, 8)
	RsReg = Mid(Linha, 19, 26)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual conexão ta usando?

O que exatamente não está conseguindo fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisamos saber qual o Banco e que componente de acesso está usando.

 

é legal cirar um type para o arquivo que você vai gravar, e depois ir gravando os subtipos

 

type file_arquivoPonto
  nd as string * 2
  hora as string * 3
  data as string *10
  registro as string * 5
end type

Montava as strings dentro dos tipos e depois mandava gravar o subtipo, fica mais estruturado e fácil de entender, além de evitar um possível estouro de buffer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou o banco access 2000, não estou conseguindo gravar no banco, consigo ler o arquivo txt, só não consigo inserir no banco para eventuais consultas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como tinha dito.

 

Depois de separar seu arquivo é só gravar com os types corretos

 

'Se estiver usando DAO 3.6, que para access eu acho melhor
dim ws as workspace
dim db as database
dim rs as recordset

set ws = workspace(0)
set db = ws.opendatabase(<caminho do banco>)
set rs = db.openrecordset(<nomedatabela>, dbOpenTable)

ws.begintrans
rs.addnew
rs(<campo>) = file_arquivoPonto.nd
...
ws.comittrans

rs.close: set rs = nothing
db.close: set db = nothing
ws.close: set ws = nothing

Fazendo isto não tem erro...qualquer dúvida posta ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.