Access - Expresion que no tiene valor

 
Vista:
sin imagen de perfil
Val: 32
Ha aumentado su posición en 8 puestos en Access (en relación al último mes)
Gráfica de Access

Expresion que no tiene valor

Publicado por Didac (27 intervenciones) el 21/06/2022 14:26:39
Hola a todos!

He creado un codigo en VBA para que pase el valor de un campo de un informe a una tabla de SQL, hasta aqui todo bien, guardo el valor del campo en una varibale, y esta despues se la paso a la tabla de SQL.

Pero el problema lo tengo cuando en ese valor en el informe es vacio, el sistema me retorna un error "Ha especidicado una expresion que no tiene valor", y cuando miro la variable me dice Vacio.

No se como hacer que si ese campo esta vacio me salte a un msgbox, o que no salte error, alguien me puede ayudar.... os dejo adjunto el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
Dim pedido
Dim BF, mystr,
 
 
BF = Report!bfname
 
mystr = Left(BF, 4)
pedido = Report!REFERENCIA
 
   DoCmd.SetWarnings False
DoCmd.RunSQL "Insert Into dbo_control(BF,Fecha,Hora,PE,count)Values('" & mystr & "',DATE(),TIME(),'" & pedido & "','1')"
 DoCmd.SetWarnings True
 
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Eduardo

Expresion que no tiene valor

Publicado por Eduardo (317 intervenciones) el 21/06/2022 16:12:17
Pruebe anteponiendo

1
On Error Resume Next

No obstante, personalmente no llenaría la tabla desde un reporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 32
Ha aumentado su posición en 8 puestos en Access (en relación al último mes)
Gráfica de Access

Expresion que no tiene valor

Publicado por Didac (27 intervenciones) el 21/06/2022 20:48:30
Gracias por la respuesta inclui esa opcion, pero mire si habia alguna alternativa distinta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Expresion que no tiene valor

Publicado por Anonimo (3317 intervenciones) el 21/06/2022 16:52:15
La tabla es una tabla y SQL es un lenguaje para manipular datos (tabla SQL no define nada, a la tabla se accede mediante el lenguaje SQL).

Un valor NULL siempre será un problema (sea en el presente o en un futuro) y Access tiene herramientas para localizarlo y subsanarlo (si es posible).

En base a lo expuesto: si la causa del problema fuera mysrt lo daría antes (al asignarle un valor), por lo que se deduce que la variable problemática seguramente sea 'Pedido' que esta declarada sin tipo y por defecto tomara el Variant (que admite valores de tipo NULL).

Basta condicionar con un IF si el valor en Pedido es un NULL (y así poder abortar el proceso) o la alternativa de darle un valor (que puede ser una cadena vacía o un texto) y continuar con el proceso.

Detectar el valor Null:
1
2
3
...
pedido = Report!REFERENCIA
If IsNull(pedido ) Then  .....' (la opcion de continuar o abortar)

Darle un valor alternativo (una cadena vacía por ejemplo)
1
pedido = Nz(Report!REFERENCIA,"")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 32
Ha aumentado su posición en 8 puestos en Access (en relación al último mes)
Gráfica de Access

Expresion que no tiene valor

Publicado por Didac (27 intervenciones) el 21/06/2022 21:01:33
Probare de esta manera, me interesa que si el valor es Null, me almacene otro tipo de texto, que se lo añadire en el If.

Qualquier cosa os comento

Muchas gracias por vuestras repuestas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Expresion que no tiene valor

Publicado por Anonimo (3317 intervenciones) el 21/06/2022 21:45:46
.... me interesa que si el valor es Null, me almacene otro tipo de texto, que se lo añadire en el If. .....

Se puede hacer con el método de NZ:


pedido = Nz(Report!REFERENCIA,"si el valor es Null, otro tipo de texto")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar