Visual Basic - Problema Código Visual Basic

Life is soft - evento anual de software empresarial
 
Vista:

Problema Código Visual Basic

Publicado por ERIK546 (1 intervención) el 11/06/2011 21:15:34
Estoy tratando de realizar un Login, con una base de datos de mi equipo, la cual tiene 2 tablas una llamada: Alumnos y otra llamada Usuarios.
La tabla Usuarios contiene 2 campos llamados usuario y contrasena, las cuales tiene sus campos correspondientes. Con los datos de estos campos (usuario: erik / contrasena: erik), debería aparecer otro formulario que se llama Alumnos.
El formulario con el login (llamado Entrada) contiene: dos etiquetas, dos cajas de texto y dos comandos.
El problema residen en el comando 1 con el caption: Entrar al programa.
Ya que marca error en el código de dicho comando:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub Command1_Click()
Dim usuario As String
Dim contrasena As String
Dim mensaje As String
 
Registro.Data1.Refresh
 
usuario = Text1.Text
contrasena = Text2.Text
 
Do Until Registro.Data1.Recordset.EOF
If Registro.Data1.Recordset.Fields("usuario").Value = usuario And
Registro.Data1.Recordset.Fields("contrasena").Value = contrasena Then
MsgBox "Hola " & usuario & ", ¿Cómo has estado?", vbOKOnly, "Bienvenido al Programa"
 
Entrada.Hide
Alumnos.Show
Exit Sub
 
Else
Registro.Data1.Recordset.MoveNext
End If
 
Loop
 
mensaje = MsgBox("No te Conozco " & usuario & ", Intenta de Nuevo", vbOKOnly, "Atención, Usuario No Autorizado!!!")
 
If (mensaje = 1) Then
Entrada.Show
Text1.Text = ""
Text2.Text = ""
 
Else
End
End If
 
End Sub


La siguiente parte del código es donde marca el error en letras rojas en Visual Basic:
If Registro.Data1.Recordset.Fields("usuario").Value = usuario And
Registro.Data1.Recordset.Fields("contrasena").Value = contrasena Then
Me marca:
Compile error:
Expected: expression

Agradecería mucho su ayuda, ya que no tengo idea de cómo podría solucionarse el error.
Mi correo es [email protected]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2
Ha aumentado su posición en 122 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema Código Visual Basic

Publicado por apacheco (65 intervenciones) el 15/06/2011 14:04:32
Yo trabajo ADO, que es mas comodo.

Prueba esto
dim respuesta as ADODB.Recordset

repuesta = conexionBD.execute(SELECT * FROM usuarios WHERE usuario=%" & Text1.Text & "% AND contrasena = %" & Text2.Text & "& "

(sustituye % por comilla sencilla ya que si las pongo no se iban a ver)

if respuest.EOF then
' TRATAMIENTO DE NO LOCALIZADO. VOLVER A PEDIR CLAVES"
else
' EL USUARIO EXISTE CONTINUAR EL PROCESO
endif

Con esto te evitas el bucle siempre.

ME PARECE QUE ANTES DE BUSCAR DEBERIAS PONER

Registro.Data1.Recordset.MoveFirst (ir al primero)

y luego comenzar desde el principio, porque Refresh, recarga el recordset PERO NO TE SITUA EN EL PRINCIPIO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2
Ha aumentado su posición en 122 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema Código Visual Basic

Publicado por apacheco (65 intervenciones) el 15/06/2011 14:06:08
Perdona hay un error.

LO CORRECTO ES

repuesta = conexionBD.execute(SELECT * FROM usuarios WHERE usuario=%" & Text1.Text & "% AND contrasena = %" & Text2.Text & "% "

ya sabes que los campos alfanumericos van entre comillas simples/sencillas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Código Visual Basic

Publicado por Paz (1 intervención) el 30/11/2011 02:25:15
La siguiente parte del código es donde marca el error en letras rojas en Visual Basic:
If Registro.Data1.Recordset.Fields("usuario").Value = usuario And_ (aqui falta el guion bajo _ para separacion de linea)
Registro.Data1.Recordset.Fields("contrasena").Value = contrasena Then
Me marca:
Compile error:
Expected: expression
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Código Visual Basic

Publicado por JOSE (1 intervención) el 16/10/2012 00:25:09
me sale el siguiente error ayudame por fa Registro.Data1.Refresh error "424"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar