Inconveniente desarrollo Access
Hola como esta mi pregunta es la siguiente resulta que en un formulario tengo un texto1 y un botón, deseo que en los otros textos que tengo dentro del mismo formulario me muestre los registros correspondientes al registro insertado en el primer texto (Texto1)
Esto me sirve cuando en el texto inserto registros numéricos (En la tabla el campo esta definido como tipo Numérico)...
Pero cuando inserto registros de texto (en un campo definido como texto)me sale error en el código desarrollado en VBA que dice
"Error de sintaxis"Falta operador en la expresión de consulta Fallecidos.Nombre=Nombre del fallecido
El código que tengo es el siguiente:
Sub EjecucionFall1()
Dim strSQL5, VariableName4 As String
Dim Db5 As Database
Dim Rs5 As Recordset
Dim sResult5 As String
Set Db5 = CurrentDb
Dim z1, z2, z3, z4 As Integer
Dim z5 As Integer
strSQL5 = "SELECT * FROM Fallecidos Where Fallecidos.Nombre =" & [Forms]![Consulta por fallecidos]![Nombre] & ";"
'''''Ojo nov 5 2008
If strSQL5 = Null Or [Forms]![Consulta por fallecidos]![Nombre] = "" Then
z1 = MsgBox("No hay registros disponibles con el nombre que usted inserto", vbCritical, "DIRECTORIO CLIENTELA")
End If
'If Rs4 = Nothing Then
' z5 = MsgBox("Digite valor", vbCritical, "DIRECTORIO CLIENTELA")
'End If
Set Rs5 = Db5.OpenRecordset(strSQL5, dbOpenDynaset)
If strSQL5 = "" Or [Form_Consulta por fallecidos]![Nombre] = "" Then
z2 = MsgBox("No hay registros disponibles con el nombre que usted inserto", vbCritical, "DIRECTORIO CLIENTELA")
End If
If Rs5.RecordCount = 0 Then
z3 = MsgBox("No hay registros disponibles con el nombre que usted inserto", vbCritical, "DIRECTORIO CLIENTELA")
Exit Sub
End If
If Rs5.RecordCount > 0 Then
Rs5.MoveFirst
sResult5 = Rs5.Fields(0)
Else
sResult5 = 0
End If
[Forms]![Consulta por fallecidos]![Nombrefallecido] = Rs5!Nombre
[Forms]![Consulta por fallecidos]![Nombrefamiliar] = Rs5!Nombre_Familiar
[Forms]![Consulta por fallecidos]![Direccion] = Rs5!Direccion
[Forms]![Consulta por fallecidos]![Numerotelefonico] = Rs5!Numero_Telefonico
[Forms]![Consulta por fallecidos]![Ubicacionparque] = Rs5!Ubicacion_Parque
[Forms]![Consulta por fallecidos]![Observaciones] = Rs5!Observaciones
'[Forms]![Consulta por fallecidos]![Fechafallecimiento] = Rs4!Fecha_fallecimiento
[Form_Consulta por fallecidos]![Fechafallecimiento] = Rs5!FechaFalleciimiento
'VariableName = Rs!Nombre
'por lo contrario abre un loop y dentro de el colocas otra condicion para cuando quieras que te lea el campo, asi:
Rs5.MoveFirst
Do While Not Rs5.EOF
'VariableName = Rs!FieldName
Nombrefallecido = Rs5!Nombre
Nombre_Familiar = Rs5!Nombre_Familiar
Direccion = Rs5!Direccion
Numerotelefonico = Rs5!Numero_Telefonico
Ubicacionparque = Rs5!Ubicacion_Parque
Observaciones = Rs5!Observaciones
'Fechafallecimiento = Rs4!Fechafallecimiento
Rs5.MoveNext
Loop
Rs5.Close
Db5.Close
End Sub
Gracias !
Att. Hernán Camilo Martínez V.
Esto me sirve cuando en el texto inserto registros numéricos (En la tabla el campo esta definido como tipo Numérico)...
Pero cuando inserto registros de texto (en un campo definido como texto)me sale error en el código desarrollado en VBA que dice
"Error de sintaxis"Falta operador en la expresión de consulta Fallecidos.Nombre=Nombre del fallecido
El código que tengo es el siguiente:
Sub EjecucionFall1()
Dim strSQL5, VariableName4 As String
Dim Db5 As Database
Dim Rs5 As Recordset
Dim sResult5 As String
Set Db5 = CurrentDb
Dim z1, z2, z3, z4 As Integer
Dim z5 As Integer
strSQL5 = "SELECT * FROM Fallecidos Where Fallecidos.Nombre =" & [Forms]![Consulta por fallecidos]![Nombre] & ";"
'''''Ojo nov 5 2008
If strSQL5 = Null Or [Forms]![Consulta por fallecidos]![Nombre] = "" Then
z1 = MsgBox("No hay registros disponibles con el nombre que usted inserto", vbCritical, "DIRECTORIO CLIENTELA")
End If
'If Rs4 = Nothing Then
' z5 = MsgBox("Digite valor", vbCritical, "DIRECTORIO CLIENTELA")
'End If
Set Rs5 = Db5.OpenRecordset(strSQL5, dbOpenDynaset)
If strSQL5 = "" Or [Form_Consulta por fallecidos]![Nombre] = "" Then
z2 = MsgBox("No hay registros disponibles con el nombre que usted inserto", vbCritical, "DIRECTORIO CLIENTELA")
End If
If Rs5.RecordCount = 0 Then
z3 = MsgBox("No hay registros disponibles con el nombre que usted inserto", vbCritical, "DIRECTORIO CLIENTELA")
Exit Sub
End If
If Rs5.RecordCount > 0 Then
Rs5.MoveFirst
sResult5 = Rs5.Fields(0)
Else
sResult5 = 0
End If
[Forms]![Consulta por fallecidos]![Nombrefallecido] = Rs5!Nombre
[Forms]![Consulta por fallecidos]![Nombrefamiliar] = Rs5!Nombre_Familiar
[Forms]![Consulta por fallecidos]![Direccion] = Rs5!Direccion
[Forms]![Consulta por fallecidos]![Numerotelefonico] = Rs5!Numero_Telefonico
[Forms]![Consulta por fallecidos]![Ubicacionparque] = Rs5!Ubicacion_Parque
[Forms]![Consulta por fallecidos]![Observaciones] = Rs5!Observaciones
'[Forms]![Consulta por fallecidos]![Fechafallecimiento] = Rs4!Fecha_fallecimiento
[Form_Consulta por fallecidos]![Fechafallecimiento] = Rs5!FechaFalleciimiento
'VariableName = Rs!Nombre
'por lo contrario abre un loop y dentro de el colocas otra condicion para cuando quieras que te lea el campo, asi:
Rs5.MoveFirst
Do While Not Rs5.EOF
'VariableName = Rs!FieldName
Nombrefallecido = Rs5!Nombre
Nombre_Familiar = Rs5!Nombre_Familiar
Direccion = Rs5!Direccion
Numerotelefonico = Rs5!Numero_Telefonico
Ubicacionparque = Rs5!Ubicacion_Parque
Observaciones = Rs5!Observaciones
'Fechafallecimiento = Rs4!Fechafallecimiento
Rs5.MoveNext
Loop
Rs5.Close
Db5.Close
End Sub
Gracias !
Att. Hernán Camilo Martínez V.
1 respuesta
Respuesta de smanero
1