LOGIN COM ACUMULADOR
galera tem tenho u progrma com login e gostaria fazer um acompanhamento de quantas vezes o ususio logou.
alguem tem um fonte desse tipo?
alguem tem um fonte desse tipo?
Amigo Ayres....
Crie um campo numérico no cadastro de clientes, para acumular os logins.
Depois, onde você faz a verificação do Login, no caso de ser
verdadeira, soma o campo mais um.
Espero ter ajudado.....
Crie um campo numérico no cadastro de clientes, para acumular os logins.
Depois, onde você faz a verificação do Login, no caso de ser
verdadeira, soma o campo mais um.
Espero ter ajudado.....
Tenho um aplkicado que grava por IP, não sei se ajuda.
Mais isso não é comlicado de fazer, segue o codigo.
Crie uma tabela com os seguintes campos :
TAB_CONTROLE
Usuario text
Qtd_login integer
dat_ultimo_acesso date
crie as variaveis :
public rs as recordset
public db as database
- Validar Usuario/Login
se validação estiver ok
sqlaux = "SELECT * FROM TAB_CONTROLE WHERE USUARIO='" & txtUsuario.text & "'"
'
' o db já deve estar setado.
'
set rs = db.openrecordset(sqlaux)
if rs.eof then
rs.addNew
rs!USUARIO = TXTUSUARIO.TEXT
rs!qtd_login = 1
rs!dat_ultimo_acesso = date
rs.update
else
rs.edit
rs!qtd_login = rs!qtd_login + 1
rs!dat_ultimo_acesso = date
rs.update
end if
rs.close
Mais isso não é comlicado de fazer, segue o codigo.
Crie uma tabela com os seguintes campos :
TAB_CONTROLE
Usuario text
Qtd_login integer
dat_ultimo_acesso date
crie as variaveis :
public rs as recordset
public db as database
- Validar Usuario/Login
se validação estiver ok
sqlaux = "SELECT * FROM TAB_CONTROLE WHERE USUARIO='" & txtUsuario.text & "'"
'
' o db já deve estar setado.
'
set rs = db.openrecordset(sqlaux)
if rs.eof then
rs.addNew
rs!USUARIO = TXTUSUARIO.TEXT
rs!qtd_login = 1
rs!dat_ultimo_acesso = date
rs.update
else
rs.edit
rs!qtd_login = rs!qtd_login + 1
rs!dat_ultimo_acesso = date
rs.update
end if
rs.close
Sem complicações... é um login como qualquer outro, apenas adicione na tabela onde ficam as informações do usuário um campo Numérico chamado 'Acessos'
A lógica é, cada vez que o usuário acessar o form de login e a senha dele estiver correta entre na tabela e atualize o n.º de acessos, é como um contador pessoal e automático...
(Veja este exemplo bobo)
--------------------------------------------------------------------------------------------------
If Senha = txtsenha and Usuario = txtusuario then
'Se a senha for correta
Dim Cnn as New Adodb.Connection
Dim Rst as New Adodb.Recordset
Cnn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\banco.mdb;"
Set Rst.ActiveConnection = Cnn
sql = "UPDATE Login SET Login.Acessos = [Acessos]+1
WHERE (((Login.Nome)='" & txtusuario & "'));"
Rst.open sql, Cnn, adOpenDynamic, adLockOptimistic
Set rst = Nothing
Cnn.Close
Set cnn = Nothing
else
'Se não for
Msgbox "Senha inválida"
End if
--------------------------------------------------------------------------------------------------
Como disse é apenas um lógica, para você ter uma idéia do que fazer, e lembre-se nada de abrir recordset como KeySet USE e ABUSE da INSTRUÇÃO SQL 'UPDATE' é bem mais rápido e não ativa as travas do BD.
Até breve...
A lógica é, cada vez que o usuário acessar o form de login e a senha dele estiver correta entre na tabela e atualize o n.º de acessos, é como um contador pessoal e automático...
(Veja este exemplo bobo)
--------------------------------------------------------------------------------------------------
If Senha = txtsenha and Usuario = txtusuario then
'Se a senha for correta
Dim Cnn as New Adodb.Connection
Dim Rst as New Adodb.Recordset
Cnn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\banco.mdb;"
Set Rst.ActiveConnection = Cnn
sql = "UPDATE Login SET Login.Acessos = [Acessos]+1
WHERE (((Login.Nome)='" & txtusuario & "'));"
Rst.open sql, Cnn, adOpenDynamic, adLockOptimistic
Set rst = Nothing
Cnn.Close
Set cnn = Nothing
else
'Se não for
Msgbox "Senha inválida"
End if
--------------------------------------------------------------------------------------------------
Como disse é apenas um lógica, para você ter uma idéia do que fazer, e lembre-se nada de abrir recordset como KeySet USE e ABUSE da INSTRUÇÃO SQL 'UPDATE' é bem mais rápido e não ativa as travas do BD.
Até breve...
galera tentei adpatar o codigo mas tem erro ainda alguem pode me ajudar
Private Sub Command1_Click()
Dim CONN As Adodb.Connection
Dim rss As Adodb.Recordset
Set CONN = New Adodb.Connection
Set rss = New Adodb.Recordset
CONN.Open ("db1")
Dim consulta As String
Dim sql As String
consulta = "SELECT * FROM Senhas WHERE Nome='" & Text1.Text & "' AND Senha='" & Text2.Text & "'"
rss.Open consulta, CONN, 1, 2
If rss.EOF Then
MsgBox "Usuário / Senha inválida", vbCritical, "Acesso Negado"
Exit Sub
Else
user = Text1.Text
sql = "UPDATE Login SET db1.contador = [contador]+1 WHERE (((db1.Nome)='" & Text1.Text & "'));"
Set rss = Nothing
CONN.Close
Set CONN = Nothing
Unload Me
main.Show
End If
End Sub
Private Sub Command1_Click()
Dim CONN As Adodb.Connection
Dim rss As Adodb.Recordset
Set CONN = New Adodb.Connection
Set rss = New Adodb.Recordset
CONN.Open ("db1")
Dim consulta As String
Dim sql As String
consulta = "SELECT * FROM Senhas WHERE Nome='" & Text1.Text & "' AND Senha='" & Text2.Text & "'"
rss.Open consulta, CONN, 1, 2
If rss.EOF Then
MsgBox "Usuário / Senha inválida", vbCritical, "Acesso Negado"
Exit Sub
Else
user = Text1.Text
sql = "UPDATE Login SET db1.contador = [contador]+1 WHERE (((db1.Nome)='" & Text1.Text & "'));"
Set rss = Nothing
CONN.Close
Set CONN = Nothing
Unload Me
main.Show
End If
End Sub
Private Sub Command1_Click()
Dim CONN As Adodb.Connection
Dim rss As Adodb.Recordset
Set CONN = New Adodb.Connection
Set rss = New Adodb.Recordset
CONN.Open ("db1")
Dim consulta As String
Dim sql As String
consulta = "SELECT * FROM Senhas WHERE Nome='" & Text1.Text & "' AND Senha='" & Text2.Text & "'"
rss.Open consulta, CONN, 1, 2
If rss.EOF Then
MsgBox "Usuário / Senha inválida", vbCritical, "Acesso Negado"
Exit Sub
Else
user = Text1.Text
CONN.execute "UPDATE Login SET db1.contador = [contador]+1 WHERE (((db1.Nome)='" & Text1.Text & "'));"
Set rss = Nothing
CONN.Close
Set CONN = Nothing
Unload Me
main.Show
End If
End Sub
Dim CONN As Adodb.Connection
Dim rss As Adodb.Recordset
Set CONN = New Adodb.Connection
Set rss = New Adodb.Recordset
CONN.Open ("db1")
Dim consulta As String
Dim sql As String
consulta = "SELECT * FROM Senhas WHERE Nome='" & Text1.Text & "' AND Senha='" & Text2.Text & "'"
rss.Open consulta, CONN, 1, 2
If rss.EOF Then
MsgBox "Usuário / Senha inválida", vbCritical, "Acesso Negado"
Exit Sub
Else
user = Text1.Text
CONN.execute "UPDATE Login SET db1.contador = [contador]+1 WHERE (((db1.Nome)='" & Text1.Text & "'));"
Set rss = Nothing
CONN.Close
Set CONN = Nothing
Unload Me
main.Show
End If
End Sub
amigo, é só vc fazer um contador na tabela e somar 1 ou então gravar num arquivo Ini...
Tente ser o mais detalhado possÃvel...
Por exemplo... qual foi o erro?
Por exemplo... qual foi o erro?
apresnta
run time erro '-2147217904
parametros insuficientes. eram esperados 2
e qd vou debugar erro esta na linha CONN.Execute "UPDATE .....
Private Sub Command1_Click()
Dim CONN As Adodb.Connection
Dim rss As Adodb.Recordset
Set CONN = New Adodb.Connection
Set rss = New Adodb.Recordset
CONN.Open ("db1")
Dim consulta As String
Dim sql As String
consulta = "SELECT * FROM Senhas WHERE Nome='" & Text1.Text & "' AND Senha='" & Text2.Text & "'"
rss.Open consulta, CONN, 1, 2
If rss.EOF Then
MsgBox "Usuário / Senha inválida", vbCritical, "Acesso Negado"
Exit Sub
Else
user = Text1.Text
CONN.Execute "UPDATE Senhas SET Senhas.contador = [contador]+1 WHERE (((Senhas.Nome)='" & Text1.Text & "'));"
Set rss = Nothing
CONN.Close
Set CONN = Nothing
Unload Me
main.Show
End If
End Sub
run time erro '-2147217904
parametros insuficientes. eram esperados 2
e qd vou debugar erro esta na linha CONN.Execute "UPDATE .....
Private Sub Command1_Click()
Dim CONN As Adodb.Connection
Dim rss As Adodb.Recordset
Set CONN = New Adodb.Connection
Set rss = New Adodb.Recordset
CONN.Open ("db1")
Dim consulta As String
Dim sql As String
consulta = "SELECT * FROM Senhas WHERE Nome='" & Text1.Text & "' AND Senha='" & Text2.Text & "'"
rss.Open consulta, CONN, 1, 2
If rss.EOF Then
MsgBox "Usuário / Senha inválida", vbCritical, "Acesso Negado"
Exit Sub
Else
user = Text1.Text
CONN.Execute "UPDATE Senhas SET Senhas.contador = [contador]+1 WHERE (((Senhas.Nome)='" & Text1.Text & "'));"
Set rss = Nothing
CONN.Close
Set CONN = Nothing
Unload Me
main.Show
End If
End Sub
Tópico encerrado , respostas não são mais permitidas