Ir para conteúdo

Arquivado

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

duarte69

Erro no Login

Recommended Posts

Boas, sou novo por aqui e preciso de uma ajudita.

 

Estou a fazer um programa em VB6 em que é necessário efectuar Login para aceder ao programa, já andei a ver no fórum e não encontrei a resposta a este erro, mas encontrei como se faz a ligação http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Aqui está o código:

 

CODE
Private Sub Command1_Click()

 

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

 

 

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\ATI(pen)\MDB\projectotecnologico.mdb;Persist Security Info=False"

cn.Open

 

sql = "SELECT * FROM Trabalhadores WHERE n_funcionário = '" & userid.Text & "' and password = '" & upass.Text & "'"

rs.Open sql, cn

If rs.EOF Then

MsgBox "erro"

Else

...

end if

 

rs.Close

cn.Close

End Sub

O programa está a dar erro na linha a negrito, o erro é o seguinte: "Tipo de dados incorrecto na expressão de critérios"

 

O que está mal feito? Podem ajudar?

 

Cumps

Compartilhar este post


Link para o post
Compartilhar em outros sites

a variavel cn na linha tem que estar antes da variavel contendo a consulta.

 

 

eu aconselharia tu a fazer assim .

Private Sub cmdlogar_Click()
	If txtlogin.Text = " " Then
		MsgBox "Digite o Login"
		txtlogin.SetFocus
		Exit Sub
	End If
If txtsenha.Text = " " Then
		MsgBox "Digite a senha"
		txtsenha.SetFocus
	Exit Sub
End If

Set rs = con.Execute("select *from logins where usuario='" & txtlogin.Text & "'")
If rs.EOF Then
		MsgBox "Login Inválido"
		txtlogin.Text = " "
		txtsenha.Text = ""
		txtlogin.SetFocus
	Exit Sub
End If

codigo = rs("codigo")
If rs("senha") = txtsenha.Text Then
		MDIForm1.Show
		Unload Me
	Else
		MsgBox "Senha Inválida"
		txtsenha.Text = ""
		txtsenha.SetFocus
End If
	Set rs = Nothing
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas, desde já agradeço a ajuda, só agora e que tive tempo pa experimentar, mas deu erro ='(

Já estou a desesperar, mandaram-m um código igual ao meu primeiro que estava a trabalhar. Pode ser algum problema de instalação do VB??

 

O código que eu agora tenho é o seguinte:

 

CODE
Private Sub Command1_Click()

 

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

 

If userid.Text = " " Then

MsgBox "Digite o Login"

userid.SetFocus

Exit Sub

End If

If upass.Text = " " Then

MsgBox "Digite a senha"

upass.SetFocus

Exit Sub

End If

 

 

Set rs = con.Execute("select * from Trabalhadores where n_funcionário='" & userid.Text & "'")

If rs.EOF Then

MsgBox "Login Inválido"

userid.Text = " "

upass.Text = ""

userid.SetFocus

Exit Sub

End If

 

codigo = rs("codigo")

If rs("password") = upass.Text Then

 

...

 

Else

MsgBox "Senha Inválida"

upass.Text = ""

upass.SetFocus

End If

Set rs = Nothing

End Sub

Dá erro na linha a Negrito, diz "Object required"

 

Preciso disto a trabalhar porque é para um trabalho da escola, é importante.

 

Cumps

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se tu perceber a variavel que tu criou esta como cnn e tu colocou con, porem esse não é o problema. So para tu saber mesmo

 

vamos ao erro.

 

Geralmente quando da esse erro tu esta escrevendo o nome de um objeto errado, talvez o textbox, ou entao o campo no BD esta diferente do que consta ai no codigo.

 

Tu criou no BD o campo Codigo?

 

Quase certo que o problema seja de escrita mesmo.

 

tu não criou a função no modulo não neh?

 

Tu inseriu as referencias necessarias?

 

Se quiser me add no msn inaces_mode@hotmail.com para eu t ajudar melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas, já te adicionei, o meu mail é andreduarte_fa@hotmail.com.

 

Tipo, eu acho que fiz td bem, até porque uma colega minha enviou-me o código dela a trabalhar (igual ao meu) e quando eu meti no meu pc não deu, poderá ser da instalação do VB??

 

Cumps

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas, sou novo por aqui e preciso de uma ajudita.

 

Estou a fazer um programa em VB6 em que é necessário efectuar Login para aceder ao programa, já andei a ver no fórum e não encontrei a resposta a este erro, mas encontrei como se faz a ligação http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Aqui está o código:

 

CODE
Private Sub Command1_Click()

 

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

 

 

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\ATI(pen)\MDB\projectotecnologico.mdb;Persist Security Info=False"

cn.Open

 

sql = "SELECT * FROM Trabalhadores WHERE n_funcionário = '" & userid.Text & "' and password = '" & upass.Text & "'"

rs.Open sql, cn

If rs.EOF Then

MsgBox "erro"

Else

...

end if

 

rs.Close

cn.Close

End Sub

O programa está a dar erro na linha a negrito, o erro é o seguinte: "Tipo de dados incorrecto na expressão de critérios"

 

O que está mal feito? Podem ajudar?

 

Cumps

Olha só, o que você fez aqui não é para dar erro não, está correto.

 

Me diga uma coisa, a coluna n_funcionario por acaso não é uma coluna numérica?? Se sim, o problema é somente este, pois você está colocando aspas simples entre o numero que recebe, e se tratando de uma coluna declarada com inteiro, o uso das aspas é incorreto, ficando assim:

 

sql = "SELECT * FROM Trabalhadores WHERE n_funcionário = " & userid.Text & " and password = '" & upass.Text & "'"

 

Tenta ai e avisa.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Já estava a desesperar, isto é para um projecto da escola, vou ter uma nota no final do ano que vai ser só desde projecto, tava a ver a minha vida a andar pa trás, lol.

 

Obrigado mesmo, a todos os que ajudaram.

 

eheh, já trabalha http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Cumps

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas, surgiu outro problema, que eu pensava que conseguia resolver http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

É o seguinte, quero acrescentar à SQL duas condições, o campo "estado" (campo de valor Sim/Não) e outro campo com os mesmos valores têm que ter valor verdadeiro.

 

A SQL é a seguinte: WHERE (estado = True) and (password = [introduza Pass]) and (n_funcionário = [introduza nº de Funcionario]);

 

Como passo para VB? Penso que o meu problema está no uso de " e ' .

 

Cumps e mais uma vez obrigado. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.