Access - URGE: Consulta devuelve valores NO numéricos

   
Vista:

URGE: Consulta devuelve valores NO numéricos

Publicado por Jorge Valero (28 intervenciones) el 23/01/2016 06:27:37
Amigos:

Tengo un problema que me ocurre esporádicamente en las siguientes condiciones:
1.- En un subformulario (en el Pié) tengo la suma de una variable con formato de Moneda o Estándar. En el formulario principal tengo un campo llamado LaSuma (con el mismo formato que la variable que estoy sumando), que recoge esa suma.

- Si al hacer la consulta en el subformulario se generaron uno o dos renglones con información, lo que tengo en LaSuma es un número "útil".

- Si la consulta genera en el subformulario 3 o más renglones lo que se genera en LaSuma es algo que se ve como número pero que no sirve para hacer operaciones ni comparaciones de > = o < en un If

2.- Algo similar me sucede esporádicamente con algunos Select
- En un combo con varios campos, al referirme a ellos en el código de una subrutina los valores numéricos no siempre se guardan como tales, por ejemplo:
En un combo llamado Campo1 hay un Select que lee cuatro variables y la cuarta es un número. En el código escribo:
Me.Num1=Me.Campo1.Column(3)
Al tratar de usar Me.Num1 en una operación aritmética me lo toma como cero y no funcionan los If's.

SOLICITUD: He probado con NZ, con la función Val(), con el expediente del On Error GoTo, con Me.LaSuma.Value y no me ha funcionado nada.

También he probado a poner +0 ó *1 al hacer la asignación a otro campo (Me.Num1=Me.Campo1.Column(3)*1) y algunas veces funciona, pero no siempre.

¿Alguna sugerencia que me puedan dar, por favor?
Tengo perdido en esto varios días y no le doy.
Y me urge entregar un trabajo.
Gracias de antemano,
Jorge Valero
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

Consulta devuelve valores NO numéricos

Publicado por Enrique Heliodoro (1663 intervenciones) el 23/01/2016 09:39:18
Al único que le urge es a ti .... se lo eliminaría del titulo.

Como paso inicial, comenzaría por crear una base de datos en blanco y copiar a ella 'los objetos útiles' de la actual, con el fin de eliminar errores ocultos.

Aprecio que no se toca el tema de la compilación (un error de compilación sin resolver, puede volver incongruente a cualquier aplicación)

Para mas detalles (y dado que 'se ha intentado con todo') o eso parece que se intenta transmitir, lo mejor es enviar un ejemplo de lo que realmente existe (quizás al créalo se aprecie el fallo ... y se de sin mas por resuelto el problema).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consulta devuelve valores NO numéricos

Publicado por Jorge (28 intervenciones) el 25/01/2016 03:34:45
Gracias por tu respuesta Enrique:
Revisé lo de la compilación y creo que no tengo problema por ese lado.
Creó que descubrí cual es el problema:
- Cuando se hace una consulta el subformulario genera N renglones con la información que ha de sumar,
- Al acabar de meter los datos doy un requery al subformulario para que se actualice,
- Cuando son muchos los renglones que se generan en el subformulario, al programa le "lleva tiempo" terminar el requery y cuando pregunto por la información para utilizarla, aún no termina de calcular la suma y me devuelve el valor cero (como si no hubiera dato en el registro de la suma)
Pregunta:
¿Se puede hacer algo para que pregunte por la suma hasta que concluya el requery? [PEDIR QUE AGUARDE HASTA QUE TERMINE EL REQUERY y entonces procesar la siguiente instrucción del programa]
En un caso, pude hacer que buscara la información en el subformulario después de dar clic en el siguiente campo de mi formulario, pero no siempre tengo esa facilidad.
Agradeceré tu comentario,
Jorge Valero.
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

Consulta devuelve valores NO numéricos

Publicado por Enrique Heliodoro (1663 intervenciones) el 25/01/2016 10:12:12
Si se programa de una forma correcta, los datos se solicitaran cuando estén disponibles (nunca antes), convendría revisar los procesos.

Insisto que sin una muestra no se puede enjuiciar un comportamiento activo, solo se puede elucubrar (que es una forma 'suave' de perder el tiempo).
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