Menu

  • slider04-vb6sqlhd
  • slider01-vb6sqlhd
  • slider01-vb6sqlhd
  • slider01-vb6sqlhd
  • slider01
  • slider01
  • slider01
  • slider01

Suscríbete a Aprende-Viendo 5.0

Content

Error 3704 en el curso VB6 VT11

0
Ronald, primero que nada lo felicito por tan excelente tutorial, ahora la pregunta...

estoy elaborando un pequeño proyecto de prueba ( y para mi aprendizaje) siguiendo su totorial, en el VT11, se me presenta un problema al ejecutar el cmdOk.
Se supone que el procedimiento Usuario es cargado en el form load al ejecutar el programa y dentro de este se valida que la tabla o este abierta para poder ingresar.

Al momento que ejecuto el programa y una vez que este valida los campos User y Pass entra en el Recordset y actualiza la tabla. alli se detiene y muestra el error 3704 te dejo mi codigo tanto en los modulos con en el form. Espero puedas ayudarme a entender lo que sucede.


**** ModuleDeclare***

Public Conex As New ADODB.Connection
Public Rs As New ADODB.Recordset

***ModuleSentencias***

Public Sub main() 'creando rutina de conexion

With Conex 'variable de conexion a la base de datos
.CursorLocation = adUseClient
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Mlab.mdb;Persist Security Info=False"
LoginForm.Show
End With
End Sub


Public Sub Usuario1() 'verifica el estado de la tabla y si esta abierta la cierra
With Rs
If Rs.State = 1 Then
Rs.Close
Rs.Open " select * from usuario", Conex, adOpenStatic, adLockOptimistic
End If
End With

End Sub

******Form*****



Private Sub cmdcerrar_Click()
Unload Me
End Sub

Private Sub CmdOk_Click()
'validamos que las cajas de texto no esten vacias
If txtuser = "" Then
MsgBox " Ingrese Nombre de Usuario", vbInformation, "AViso": txtuser.SetFocus: Exit Sub

Else
If txtpass = "" Then
MsgBox " Ingrese Clave de Usuario", vbInformation, "AViso": txtpass.SetFocus: Exit Sub
End If
End If
'vamos a la conexion con la base de datos
With Rs
.Requery 'actualiza la tabla
.Find "id='" & Trim(txtuser.Text) & "'" ' realiza la busqueda comparando ID con txtuser
If .EOF Then 'si llego al final del registro y no se encuentro nada en la tabla
MsgBox " Usuario no Registrado", vbInformation, "Aviso" 'envio mensaje de error
txtuser.Text = ""
Exit Sub ' y dejo de ejecutar este sub
Else ' si no
If !clave = Trim(txtpass.Text) Then ' si la clave es igual al txtpass
NewUserForm.Show ' llamo al siguiente formulario
Unload Me
Else
MsgBox "Clave Incorrecta", vbInformation, "Aviso" 'sino lo es envio este mensaje
txtpass.Text = ""
Exit Sub
End If
End If
End With
End Sub


Private Sub Form_Load()
Usuario1 'llama al procedimiento usuario creado en el modulo sentencia
End Sub


Gracias de antemano y espero poder contar con su apoyo en lo sucesivo

[email protected]
       
  •  
    Respuesta de Jose Ramirez el Miércoles, Octubre 21 2015, 04:50 PM · Ocultar · #1
    Hola amigo, el error esta acá:
    ublic Sub Usuario1() 'verifica el estado de la tabla y si esta abierta la cierra
    With Rs
    If Rs.State = 1 Then
    Rs.Close
    Rs.Open " select * from usuario", Conex, adOpenStatic, adLockOptimistic
    End If
    End With

    End Sub

    debes ponerlo así

    ublic Sub Usuario1() 'verifica el estado de la tabla y si esta abierta la cierra
    With Rs
    If .State = 1 Then Rs.Close
    .Open " select * from usuario", Conex, adOpenStatic, adLockOptimistic
    End With

    End Sub

    porque?

    ahi seria algo asi, si el estado del recordset esta abierto que lo cierre para abrirlo nuevamente, pero como lo tienes encerrado todo dentro de un (if) nunca lo va a abrir porque el estado inicial es cerrado.

    saludos..
Agregar Tu Respuesta
Por favor registrese o ingrese para poder publicar su respuesta.

Agradesco tu Paciencia. Muchas Gracias por la espera! Somos Aprende Viendo 5.0

Grupo AprendeViendo & Ronald López agradecen a todos sus fieles seguidores por la larga espera. Basados en nuestro nuevo concepto, Grupo Aprendeviendo les ofrece un sin fin de posibilidades en sus largas horas de adiestramiento y soluciones de problemas tanto empresariales como cotidianos. Sigamos siendo un portal de enseñanza de virtual gratuito y más que eso!

Copyright © 2006 - 2014 - Grupo AprendeViendo & Ronald López. Todos los Derechos Reservados

Grupo AprendeViendo a sido desarrollado por Ronald López - Kalizron. Esta prohibida su reproducción total o parcial sin previa autorización de parte de sus autores. Ronald López Bahamonde - Resolución: 1024-768 - Aviso Legal - Términos de Uso

Log In or Register

fb iconLog in with Facebook