LISTA DE PRESENCA ATRAVES DE CODIGO DE BARRAS
Tenho um banco de dados do qual gerei credenciais com codigos de barras.
Estou tendo dificuldades em, ao ler o codigo, efetuar uma lista com a presença dos participantes, ou entao colocar presença para o participante em algum campo do bd.
Alguma sugestao?
Estou tendo dificuldades em, ao ler o codigo, efetuar uma lista com a presença dos participantes, ou entao colocar presença para o participante em algum campo do bd.
Alguma sugestao?
colega crie um form paa gravar estas presenças
uma tabela de presença com data,Numero,Nome , horaEntrada, Hora Saida
entà o a pessoa passa o código no leitor e automaticamente grave os dados no banco.
resultado se estiver garvado estava presente.
pronto
uma tabela de presença com data,Numero,Nome , horaEntrada, Hora Saida
entà o a pessoa passa o código no leitor e automaticamente grave os dados no banco.
resultado se estiver garvado estava presente.
pronto
Mas como faço para manter numa mesma linha as entradas e saidas da mesma pessoa por mais de um dia?
Vamos lá
Eu consigo imaginar duas formas para este controle, e não precisa ser na mesma linha.
a primeira forma seria esta,
Campo Presença
Data, Registro, Nome, Hora, Situacao
então poderia colocar dois Option butons, um de entrada e um de saida
o aluno ao entrar mudaria o para o option button entrar e salvaria no banco algo assim
20/10/2009 - 1234 - Marcelo - 07:30 - Entrada
20/10/2009 - 1234 - Marcelo - 12:00 - Saida
e assim por diante, sem limites
porém eu particularmente acho que poderiam haver alguns erros por esquecimento, como acontece com os cartoes de ponto em que
o funcionario sempre bate saida encima de entrada, fazendo aquela lambança.
eu porém fiz da seguinte maneira
apenas os campos
Data, Registro, Nome , Hora
estranho somente um campo de hora e como saber qual é a entrada e qual a saida, vou explicar
o controle é feito por pares, ou seja na mesma data poderão haver apenas numeros pares de registros
ex:
2 registro (01 de entrada, 01 de saida)
ou 04 registros(01 entrada, 01 saida, 01 entrada, 01 Saida)
se houverem numeros impares quer dizer que o aluno entrou e não saiu ainda.
ex: 03 registros( 01 entrada, 01 Saida, 01 Entrada)
sei que é confuso mas é uma forma facil para se controlar o fluxo automaticamente.
exemplo pratico
Eu chego na esocla e passo meu cartão com código de barras, automáticamente será salvo
20/10/2009 - 1234 - Marcelo - 07:30
saio pro almoço e passo o cartão de novo e grava novamente
20/10/2009 - 1234 - marcelo - 12:00
volto do almoço
20/10/2009 - 1234 - Marcelo - 14:00
e acaba o periodo paso mais uma vez
20/10/2009 - 1234 - Marcelo - 17:30
entà o eu quero saber minha frequencioa do dia vinte, basta criar uma query simples
Select Count(Registro) As Controle From Presenca Where data = #20/10/2009#
então controle vai ser igual a 04
entedeu basta fazer isto e pronto.
se ainda houver duvida faço um exemplo pra vc.
até
Eu consigo imaginar duas formas para este controle, e não precisa ser na mesma linha.
a primeira forma seria esta,
Campo Presença
Data, Registro, Nome, Hora, Situacao
então poderia colocar dois Option butons, um de entrada e um de saida
o aluno ao entrar mudaria o para o option button entrar e salvaria no banco algo assim
20/10/2009 - 1234 - Marcelo - 07:30 - Entrada
20/10/2009 - 1234 - Marcelo - 12:00 - Saida
e assim por diante, sem limites
porém eu particularmente acho que poderiam haver alguns erros por esquecimento, como acontece com os cartoes de ponto em que
o funcionario sempre bate saida encima de entrada, fazendo aquela lambança.
eu porém fiz da seguinte maneira
apenas os campos
Data, Registro, Nome , Hora
estranho somente um campo de hora e como saber qual é a entrada e qual a saida, vou explicar
o controle é feito por pares, ou seja na mesma data poderão haver apenas numeros pares de registros
ex:
2 registro (01 de entrada, 01 de saida)
ou 04 registros(01 entrada, 01 saida, 01 entrada, 01 Saida)
se houverem numeros impares quer dizer que o aluno entrou e não saiu ainda.
ex: 03 registros( 01 entrada, 01 Saida, 01 Entrada)
sei que é confuso mas é uma forma facil para se controlar o fluxo automaticamente.
exemplo pratico
Eu chego na esocla e passo meu cartão com código de barras, automáticamente será salvo
20/10/2009 - 1234 - Marcelo - 07:30
saio pro almoço e passo o cartão de novo e grava novamente
20/10/2009 - 1234 - marcelo - 12:00
volto do almoço
20/10/2009 - 1234 - Marcelo - 14:00
e acaba o periodo paso mais uma vez
20/10/2009 - 1234 - Marcelo - 17:30
entà o eu quero saber minha frequencioa do dia vinte, basta criar uma query simples
Select Count(Registro) As Controle From Presenca Where data = #20/10/2009#
então controle vai ser igual a 04
entedeu basta fazer isto e pronto.
se ainda houver duvida faço um exemplo pra vc.
até
Blz, entendi perfeitamente.
No caso eu precisaria de entrada e saida. Apenas um par por dia.
Porem como faço isso agora funcionar? Quais os campos coloco nas tabelas e como faço a leitura automatica do codigo para agilizar?
Vc poderia me enviar um exemplo?
No caso eu precisaria de entrada e saida. Apenas um par por dia.
Porem como faço isso agora funcionar? Quais os campos coloco nas tabelas e como faço a leitura automatica do codigo para agilizar?
Vc poderia me enviar um exemplo?
Você já tem uma TABELA para armazenar essa informação?
Se sim, poste a ESTRUTURA aqui no tópico.
Se sim, poste a ESTRUTURA aqui no tópico.
Vamos lá a tabela possuirá a estrutura proposta acima, ou seja:
Nome da Tabela: tabpresenca
campos: Data,Registro,Nome,Hora
leitura automática do código de barra, para teste, coloque um textbox em um novo projeto e na propriedade Change do mesmo cole.
If len(text1.Text) >= 13 then msgbox Text1.text
13 é o quantidade de numeros usados no seu código de barras, não sei qua lé esta quantidade mas basta alterar para o numero correto
bom agora passe o código no leitor, e veja se aparece a msgbox automáticamente
Nome da Tabela: tabpresenca
campos: Data,Registro,Nome,Hora
leitura automática do código de barra, para teste, coloque um textbox em um novo projeto e na propriedade Change do mesmo cole.
If len(text1.Text) >= 13 then msgbox Text1.text
13 é o quantidade de numeros usados no seu código de barras, não sei qua lé esta quantidade mas basta alterar para o numero correto
bom agora passe o código no leitor, e veja se aparece a msgbox automáticamente
Fala Marcelo!!
Esse esquema que vc me passou de ler o codigo funcionou!
O probelma é, como que, ao ler esse codigo, ele busque em outra tabela o nome da pessoa e coloque a data
Esse esquema que vc me passou de ler o codigo funcionou!
O probelma é, como que, ao ler esse codigo, ele busque em outra tabela o nome da pessoa e coloque a data
colega vc sabe fazer buscaem banco de dados conexão etc.
lembra do codigo no evento change o que mudaria seria isto
exemplo
Entendeu
lembra do codigo no evento change o que mudaria seria isto
exemplo
Private Sub Text1_Change()
Dim RS As Recordset
SQL= [Ô]SELECT * FROM tabela WHERE registro = '[Ô] & Text1.Tex & [Ô][ô][Ô]
Set RS = CONN.Execute(SQL)
If Not RS.EOF Then
Text1.Text = RS!Registro
Text2.Text = RS!Nome
Text3.Text = RS!Data
[ô] ....
End If
End Sub
Entendeu
Tópico encerrado , respostas não são mais permitidas