
DUDA SOBRE CÓDIGO
Publicado por Alberto (5 intervenciones) el 14/05/2009 01:03:24
Hola a todos los expertos en Access,
Quiero agradecer a Jefferson por su gran ayuda.
Tengo un código en el cual, un formulario pide "usuario" y "Id" para poder accesar a otro formulario, pero, este código manda un error el cual dice: "Error N°: 3141 - La instrucción SELECT incluye una palabra reservada, le falta un argumento o está mal escrito, o bien los signos de puntuación no son correctos."
Este código es auxiliado por Jefferson, espero no te moleste Jefferson.
El código es:
Private Sub Comando0_Click()
On Error GoTo Err_Local
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim sql As String
Me.Id = Nz(Me.Id, "")
Set dbs = CurrentDb
sql = "SELECT Usuarios_Consulta.Nombre_usuario, Usuarios_Consulta.Id, FROM Usuarios_Consulta;"
Set rst = dbs.OpenRecordset(sql)
InicioRutina:
With rst
.FindFirst "[Id]= '" & Me.Id & "'"
If .NoMatch Then
MsgBox " El Id del usuario es incorrecto ", vbCritical, "Error"
Else
If rst![Id] = Id Then
If rst![Nombre usuario] = -1 Then
DoCmd.OpenForm "Control de Clientes"
DoCmd.Close acForm, "Inicio de Sesion", acSaveYes
Exit Sub
'//Else
'//MsgBox "Lo Siento..." & vbCrLf & _
'//"pero No estas autorizado para acceder el siguiente modulo." & vbCrLf & _
'//"", vbCritical, "No tienes permisos suficientes"
'//DoCmd.Close acForm, "Clave Autorizar Empleado", acSaveYes
'//Exit Sub
GoTo Cerrar
End If
End If
End If
End With
'//DoCmd.Close acForm, "Clave Autorizar Empleado", acSaveYes
Cerrar:
rst.Close '//Cerrar el Registro
dbs.Close '//Cerrar la base de datos
Set rst = Nothing '// Liberar la memoria
Set dbs = Nothing '// Liberar la memoria
Exit_Local:
Exit Sub
Err_Local:
MsgBox Err.Description, vbCritical, "Error N°: " & Err.Number
Resume Exit_Local
End Sub
Quiero agradecer a Jefferson por su gran ayuda.
Tengo un código en el cual, un formulario pide "usuario" y "Id" para poder accesar a otro formulario, pero, este código manda un error el cual dice: "Error N°: 3141 - La instrucción SELECT incluye una palabra reservada, le falta un argumento o está mal escrito, o bien los signos de puntuación no son correctos."
Este código es auxiliado por Jefferson, espero no te moleste Jefferson.
El código es:
Private Sub Comando0_Click()
On Error GoTo Err_Local
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim sql As String
Me.Id = Nz(Me.Id, "")
Set dbs = CurrentDb
sql = "SELECT Usuarios_Consulta.Nombre_usuario, Usuarios_Consulta.Id, FROM Usuarios_Consulta;"
Set rst = dbs.OpenRecordset(sql)
InicioRutina:
With rst
.FindFirst "[Id]= '" & Me.Id & "'"
If .NoMatch Then
MsgBox " El Id del usuario es incorrecto ", vbCritical, "Error"
Else
If rst![Id] = Id Then
If rst![Nombre usuario] = -1 Then
DoCmd.OpenForm "Control de Clientes"
DoCmd.Close acForm, "Inicio de Sesion", acSaveYes
Exit Sub
'//Else
'//MsgBox "Lo Siento..." & vbCrLf & _
'//"pero No estas autorizado para acceder el siguiente modulo." & vbCrLf & _
'//"", vbCritical, "No tienes permisos suficientes"
'//DoCmd.Close acForm, "Clave Autorizar Empleado", acSaveYes
'//Exit Sub
GoTo Cerrar
End If
End If
End If
End With
'//DoCmd.Close acForm, "Clave Autorizar Empleado", acSaveYes
Cerrar:
rst.Close '//Cerrar el Registro
dbs.Close '//Cerrar la base de datos
Set rst = Nothing '// Liberar la memoria
Set dbs = Nothing '// Liberar la memoria
Exit_Local:
Exit Sub
Err_Local:
MsgBox Err.Description, vbCritical, "Error N°: " & Err.Number
Resume Exit_Local
End Sub
Valora esta pregunta


0