SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Mellileo en Miércoles 30 de Abril de 2003, 22:01

Título: Re: Campos de una BD con valores Null
Publicado por: Mellileo en Miércoles 30 de Abril de 2003, 22:01
Hola...

Tengo un problema con un código que debe cargar un registro de una BD de Access, pero el problema es que algunos de los campos del registro contienen valores Nulos (Null) y me generan un error.

Cómo hago para validar que si un campo tiene valor Null lo iguale a otra cosa?  :question:

Para mejor claridad anexo código.

lMutacionEstablecimientos = True
  mNulo = Null
  With frmPropietarios.datEstablecimientos.Recordset
    txtNit = .Fields("Nit")
    txtRazonSocial = .Fields("Razon_Social")
    txtDireccion = .Fields("Direccion")
    If .Fields("Grupo_Codigo") = Null Then
      txtGrupo = ""
    Else
      txtGrupo = .Fields("Grupo_Codigo")
    End If
    cmbUso.Text = .Fields("Uso")
    txtActividad = .Fields("Actividad")
    If .Fields("Observaciones") = mNulo Then
      txtObservaciones = ""
    Else
      txtObservaciones = .Fields("Observaciones")
    End If
    txtSolicitud = .Fields("Nro_Solicitud")
    txtFechaSolicitud = .Fields("Fecha_Solicitud")
    If .Fields("Nro_Respuesta") = Null Then
      txtRespuesta = ""
    Else
      txtRespuesta = .Fields("Nro_Respuesta")
    End If
    txtFechaRespuesta = .Fields("Fecha_Respuesta")
    frmPropietarios.datEstablecimientos.Recordset.Edit
  End With

Agradecería cualquier ayuda...

LEO!
Título: Re: Campos de una BD con valores Null
Publicado por: J.M.Movilla en Jueves 1 de Mayo de 2003, 00:45
Por ejemplo puedes usar este truquito:

With frmPropietarios.datEstablecimientos.Recordset
txtNit = .Fields("Nit") & " "
txtRazonSocial = .Fields("Razon_Social") & " "
txtDireccion = .Fields("Direccion") & " "
If .Fields("Grupo_Codigo") = Null Then
txtGrupo = " " ' NO PONGAS "", SINO " "
Else
txtGrupo = .Fields("Grupo_Codigo")
End If
cmbUso.Text = .Fields("Uso") & " "
txtActividad = .Fields("Actividad") & " "
If .Fields("Observaciones") = mNulo Then
txtObservaciones = " " ? IDEM
Else
txtObservaciones = .Fields("Observaciones")
End If
txtSolicitud = .Fields("Nro_Solicitud") + 0 '(En los campos numéricos... Este sería de texto, así que:  & " ")

etc. etc.

En los campos de fecha puedes sustituir por Date si es nulo...

Saludos y que te sirva de solución
Título: Campos de una BD con valores Null
Publicado por: Majuhemo en Viernes 2 de Mayo de 2003, 16:46
Hola:
en ves de:

If .Fields("Grupo_Codigo") = Null Then
txtGrupo = ""
Else
txtGrupo = .Fields("Grupo_Codigo")
End If

que usas 5 lineas lo puedes hacer en 1:

txtGrupo = iif(IsNull(.Fields("Grupo_Codigo")),"",.Fields("Grupo_Codigo"))

Saludos;