VB y sus recordsets con Access

Mi situación es la siguiente, en realidad son dos preguntas, espero me puedas ayudar, me corre bastante prisa.
1.- Tengo un frm de Visual que representa los datos de 5 tablas relacionadas de access. Muchos de los datos de esas tablas no son obligatorios, es más, hay muy pocos campos que sean obligatorios cubrir. Bien pues cuando desde el frm de VB hago T2FNactox. Text= Rs ("T2FNacto"), si la fecha no está cubierta en la B.D. Me da el siguiente error:
Error '94' en tiempo de ejecución:Uso no válido de null.
Cómo puedo solucionar eso, porque son muchísimos campos como para andar preguntando si cada uno es null y si no es null asignarlo al txt del frm. ¿Tienes otra solución más efectiva?, muchas gracias!.
2- Para representar los datos de esas 5 tablas en un solo frm de VB, ¿qué me aconsejas?, Utilizar un solo recordset y jugar con el bookmark, ¿o mejor utilizar varios recordsets uno para cada tabla?. Que es mejor a nivel de rapidez, ¿consumo de recursos..?
Muchísimas gracias, y espero tu respuesta es un tema que me corre prisa.

2 Respuestas

Respuesta
1
Para la primer pregunta me generaría una rutina que me permita verificar si cualquier dato viene nulo para que despliegue el valor requerido. Por lo cual no te salvas de andar verificando en todos los campos de tu consulta. La segunda sería implementar bien la relación de datos que quieres traer para que se presente en un solo recordset, tengo consultas que traen datos de unas cinco a diez tablas en un solo recordset y no tengo problemas para presentarlos en la pantalla.
e-mail: [email protected]
Respuesta
1
Te respondo los siguiente
1. En access hay dos formas de tratar los nombres de los campos una es por nombre y la otra es por posición
La que tu haces dentro del VB es por nombre.. pero tambiense puede hacer la validación por la posición que ocupa el campo dentro de una tabla y así no referenciarla por su nombre y esto se hace así:
Puedes encontrar el numero de campos de una tabla con
num_campos = rst.Fields.Count - 1
y Puedes barrer todo el registro de una tabla con:
For i = o To num_campos
rst.Fields(i).Value
Next
Entonces dentro de ese bucle for puedes preguntar por cada campo de tu recordset si es null o n sin necesidad de conocer el nombre del campo.
2. Es mejor tener un solo acceso a la DB mediante un solo recordset, ( mientras menos accesos a la base de datos tengas, más rápidos serán tus procesos).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas