Sentencia monstruosa RESUELTO
Publicado por Lorien (15 intervenciones) el 28/04/2015 10:47:22
TEMA CERRADO
¿Tan monstruosa es esta sentencia que visualBasic no la traga ni aun sin valores nulos?
¿Que estoy haciendo mal?
=====
If Not [filtrohistoria].Value Is Null Then
=====
Para mas informacion, dire que el error que me da es el 424, y lo da aun sin valores nulos implicados.
Error en tiempo de ejecucion.
Si quito el bucle if y no meto valores nulos no hay ningun problema, pero si los meto me da el error 94 que ya conocereis, error de valores nulos (Null), por lo tanto ese bucle if deberia ser el control de errores, no el error en si
Esto ya es personal, ¿estoy haciendo algo mal?, ¿esta ese bucle tan simple mal programado y no me he dado ni cuenta?
Señores, señoras, tema resuelto. El problema era el Is, el cual habia que sustituir por un =. En uno de mis momentos de desquiciada cambie el = por un Is pensando que solucionaria el asunto y ya se quedo asi para siempre. Os dejo el codigo solucionado son todas las posibilidades cerradas:
Valor ya existente en la BBDD
Valor nuevo
Valor Null
CODIGO:
=====
Private Sub comprobarhistoria_Click()
Dim sql As String
Dim rs As recordset
If Not [filtrohistoria].Value = Null Then
sql = "select historia from PACIENTE where historia = " & CStr([filtrohistoria].Value) & ""
Set rs = CurrentDb.OpenRecordset(sql)
If str_resultado(rs) = "ERROR" Then
MsgBox "Paciente nuevo, introduzca datos personales", vbOKOnly, "Paciente nuevo"
Else
sql = "select fecha_nacimiento from PACIENTE where historia = " & [filtrohistoria].Value
Set rs = CurrentDb.OpenRecordset(sql)
[nuevofechan].Value = str_resultado(rs)
sql = "select descripcion from SEXO where cod_sexo = (select cod_sexo from PACIENTE where historia = " & [filtrohistoria].Value & ")"
Set rs = CurrentDb.OpenRecordset(sql)
[nuevosexo].Value = str_resultado(rs)
End If
Else
MsgBox "Introduzca un numero de historia", vbOKOnly, "Comprobacion erronea"
End If
End Sub
=====
¿Tan monstruosa es esta sentencia que visualBasic no la traga ni aun sin valores nulos?
¿Que estoy haciendo mal?
=====
If Not [filtrohistoria].Value Is Null Then
=====
Para mas informacion, dire que el error que me da es el 424, y lo da aun sin valores nulos implicados.
Error en tiempo de ejecucion.
Si quito el bucle if y no meto valores nulos no hay ningun problema, pero si los meto me da el error 94 que ya conocereis, error de valores nulos (Null), por lo tanto ese bucle if deberia ser el control de errores, no el error en si
Esto ya es personal, ¿estoy haciendo algo mal?, ¿esta ese bucle tan simple mal programado y no me he dado ni cuenta?
Señores, señoras, tema resuelto. El problema era el Is, el cual habia que sustituir por un =. En uno de mis momentos de desquiciada cambie el = por un Is pensando que solucionaria el asunto y ya se quedo asi para siempre. Os dejo el codigo solucionado son todas las posibilidades cerradas:
Valor ya existente en la BBDD
Valor nuevo
Valor Null
CODIGO:
=====
Private Sub comprobarhistoria_Click()
Dim sql As String
Dim rs As recordset
If Not [filtrohistoria].Value = Null Then
sql = "select historia from PACIENTE where historia = " & CStr([filtrohistoria].Value) & ""
Set rs = CurrentDb.OpenRecordset(sql)
If str_resultado(rs) = "ERROR" Then
MsgBox "Paciente nuevo, introduzca datos personales", vbOKOnly, "Paciente nuevo"
Else
sql = "select fecha_nacimiento from PACIENTE where historia = " & [filtrohistoria].Value
Set rs = CurrentDb.OpenRecordset(sql)
[nuevofechan].Value = str_resultado(rs)
sql = "select descripcion from SEXO where cod_sexo = (select cod_sexo from PACIENTE where historia = " & [filtrohistoria].Value & ")"
Set rs = CurrentDb.OpenRecordset(sql)
[nuevosexo].Value = str_resultado(rs)
End If
Else
MsgBox "Introduzca un numero de historia", vbOKOnly, "Comprobacion erronea"
End If
End Sub
=====
Valora esta pregunta


0