CARTAO PONTO
Aew Pessoal Vbmaniaco xP
To tentando faze um cartão ponto.
Seguinte, toda vz q um usuário se conectar (logar), o programa vai gravar a Hora, Data e ID, até aà blz.
Eu criei varios campos de entrada e saÃda:
Horaentrada, Horasaida, Horaentrada2, Horasaida2, Horaentrada3, Horasaida3
E os campos de Data e ID
Qria q o programa fosse colocando as hrs nos campos, mas não consegui sair do Horaentrada, dá erro de duplicação x/ (creio q está tentando colocar a hr no msmo campo) alguem da uma idéia aeee ;D
Ja tentei isso:
TO usando ADO e access 2k
mas não funcionou x/, vlw pessoal ;D Grato desde já
To tentando faze um cartão ponto.
Seguinte, toda vz q um usuário se conectar (logar), o programa vai gravar a Hora, Data e ID, até aà blz.
Eu criei varios campos de entrada e saÃda:
Horaentrada, Horasaida, Horaentrada2, Horasaida2, Horaentrada3, Horasaida3
E os campos de Data e ID
Qria q o programa fosse colocando as hrs nos campos, mas não consegui sair do Horaentrada, dá erro de duplicação x/ (creio q está tentando colocar a hr no msmo campo) alguem da uma idéia aeee ;D
With RSadd
.AddNew
RSadd!horaentrada = lbl_tempo.Caption
RSadd!Data = lbl_data.Caption
RSadd!ID = IDtemp
RSadd.Update
RSadd.Close
Conexao.Close
End With
Ja tentei isso:
If RSadd!horaentrada <> Empty Then
RSadd!horaentrada2 = lbl_tempo.Caption
TO usando ADO e access 2k
mas não funcionou x/, vlw pessoal ;D Grato desde já
vc está dando um .AddNew, sendo assim um novo registro!
ai quando vc grava da esse erro mesmo, pois já existe aquele ID na tabela.
Só tire o .AddNew, e coloque também o if que vc mesmo citou.
ai quando vc grava da esse erro mesmo, pois já existe aquele ID na tabela.
Só tire o .AddNew, e coloque também o if que vc mesmo citou.
penso assim que a hora entrada deveria ser asim, passou o cartão
Vc salvasse somente!!
horaentrada = format(now, "hh:mm") ' que vai te dar o momento exato no qual o usuario entrou, certo?
"(salvar entrada )"
dataentrada = format(now,"dd\mm\yy")
savartamber o id do funcionario então quando ele for sair o que ocorre!!!
Ele vai passar o codigo e vc faz uma query para buscar os registros do dia com a id do funcionario que acabou de passar o cartão!!!
E salva as informações de saida!!!
"(salvar saida) "
horasaida= format(now,"hh:mm")
datasaida= format(now,"dd\mm\yy")
pronto agora só amanhã!!!
Se não tiver registro de hoje vc escolhe salvar entrada e tiver salvar saida entendeu?
Vc salvasse somente!!
horaentrada = format(now, "hh:mm") ' que vai te dar o momento exato no qual o usuario entrou, certo?
"(salvar entrada )"
dataentrada = format(now,"dd\mm\yy")
savartamber o id do funcionario então quando ele for sair o que ocorre!!!
Ele vai passar o codigo e vc faz uma query para buscar os registros do dia com a id do funcionario que acabou de passar o cartão!!!
E salva as informações de saida!!!
"(salvar saida) "
horasaida= format(now,"hh:mm")
datasaida= format(now,"dd\mm\yy")
pronto agora só amanhã!!!
Se não tiver registro de hoje vc escolhe salvar entrada e tiver salvar saida entendeu?
Mas Adriano, um funcionário pode ter várias entradas e saÃdas no mesmo dia.
Exemplo, saÃda para almoço e reentrada depois do almoço.
Exemplo, saÃda para almoço e reentrada depois do almoço.
Vc pode utilizar o comando abaixo para INSERIR dados, pela 1Âê vez:
Para atualizar (gravar saÃda do funcionário):
Não se esqueça de atentar para a dica do MARCELOHF, é importante.
cSQL = "INSERT INTO Frequencia (Matricula, Data, Entrada) VALUES ('" & Dados.Matricula & _
"', '" & Dados.Data & "', '" & Dados.Entrada & "')"
Para atualizar (gravar saÃda do funcionário):
cSQL = "UPDATE Frequencia SET Saida ='" & Dados.Saida & "' WHERE Matricula ='" & Dados.Matricula & _
"' AND Data ='" & Dados.Data & "'"
Não se esqueça de atentar para a dica do MARCELOHF, é importante.
é, o funcionario vai registrar varias saidas e entradas, mas por enquanto estou só com 3 (entrada e saida).
Eu tava pensando em algo diferente, tipo:
6 Funcionarios, então teriamos 6 linhas no banco de dados...
Tipo o funcionario "A" entrou as 15:00, então sera marcado onde esta a ID "A" o 1º horário de entrada e qndo ele sair (almoço) ser marcado o horario que ele saiu, ond esta a ID dele. Ocuparia menos espaço tb x]
entrada saida entr... sai... ID DATA
15:00 18:00 20:00 22:00 A 21/07/87
sendo tb (axo) muito importante a verificação da DATA, pq qndo por exemplo um func. eskecer de passar o cartão ele não colocaria no msmo dia, aà sim ele criaria um novo registro (+6 de todos os funcionarios). eu consigo só o 1º horario (q convenhamos não é nd dificil xP) mas eu nao consigo passar ao proximo qndo o 1º ja tem registro.... UFA... xega de falar
VLW A TODOS
Eu tava pensando em algo diferente, tipo:
6 Funcionarios, então teriamos 6 linhas no banco de dados...
Tipo o funcionario "A" entrou as 15:00, então sera marcado onde esta a ID "A" o 1º horário de entrada e qndo ele sair (almoço) ser marcado o horario que ele saiu, ond esta a ID dele. Ocuparia menos espaço tb x]
entrada saida entr... sai... ID DATA
15:00 18:00 20:00 22:00 A 21/07/87
sendo tb (axo) muito importante a verificação da DATA, pq qndo por exemplo um func. eskecer de passar o cartão ele não colocaria no msmo dia, aà sim ele criaria um novo registro (+6 de todos os funcionarios). eu consigo só o 1º horario (q convenhamos não é nd dificil xP) mas eu nao consigo passar ao proximo qndo o 1º ja tem registro.... UFA... xega de falar
VLW A TODOS
Alguem?
Cara, vc pode fazer um UPDATE ao invés de inserir qdo ele não está na primeira hora, tipo:
With RSadd
.Close
.Open "SELECT * FROM TABELA WHERE DATA = #" & Format(lbl_data.Caption, "MM/DD/YYYY")
If .EOF = True Then .AddNew
RSadd!horaentrada = lbl_tempo.Caption
RSadd!Data = lbl_data.Caption
RSadd!ID = IDtemp
RSadd.Update
RSadd.Close
Conexao.Close
End With
O código que o Matioli lhe passou não funcionou??
para alterar um registro a única coisa que vc precisa fazer é abrir o recordset no registro desejado, mudar os valores e salvar, exatamente como está no exemplo do Matioli.
Flws...
para alterar um registro a única coisa que vc precisa fazer é abrir o recordset no registro desejado, mudar os valores e salvar, exatamente como está no exemplo do Matioli.
Flws...
Pra dizer a verdade, não entendi muito o código do matioli ='(
Tópico encerrado , respostas não são mais permitidas