LISTA DE PRESENCA ATRAVES DE CODIGO DE BARRAS

GCLOPES 20/10/2009 21:34:46
#325874
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?
MARCELO.TREZE 20/10/2009 21:46:57
#325876
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

GCLOPES 20/10/2009 22:13:35
#325883
Mas como faço para manter numa mesma linha as entradas e saidas da mesma pessoa por mais de um dia?
MARCELO.TREZE 20/10/2009 22:35:40
#325888
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é
GCLOPES 20/10/2009 23:04:51
#325893
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?
TECLA 21/10/2009 08:02:56
#325899
Você já tem uma TABELA para armazenar essa informação?
Se sim, poste a ESTRUTURA aqui no tópico.
MARCELO.TREZE 21/10/2009 08:09:38
#325902
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

GCLOPES 21/10/2009 16:48:02
#325976
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
MARCELO.TREZE 21/10/2009 17:04:58
#325982
colega vc sabe fazer buscaem banco de dados conexão etc.

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