Acceso a Datos 06: Acceso a campos y ABC DAO Simple

Antes que empiecen a pensar otra cosa, les recuerdo que vamos por PASOS, mas adelante veremos ADO y bases relacionales, pero creo que aquí viene información interesante para todos.

Para los que no recuerden las diferencias básicas, habíamos dicho antes que DAO era bueno para labores en un solo lugar, su principal ventaja es ser fácil de entender, pero si hay una maquina fuera, por ejemplo, en otra ciudad, es un poco lento de ejecución.

Si bien originalmente DAO era rápido, le faltaba cierta conectividad. En su versión original, nosotros usábamos una propiedad llamada Fields para referirnos al contenido de los datos. En unos dias veremos como funcionaba esa conectividad.

Pongamos como ejemplo la tabla CUENTA.

Habíamos dicho que CUENTA tenia los siguientes campos:

CTA_NUM
CTA_NOMBRE
CTA_TIPO
CTA_DESCRIP
Como pueden ver, todos empiezan con CTA, lo que nos indica fácilmente que todos son propiedades de un mismo conjunto.

Si bien nosotros podemos Abrir la tabla de diversos modos según si usamos DAO, ADO o lo que sea, siempre hay tres formas de referirnos a CTA_NUM, para leer o escribir los datos:

[color=#00FF00]Lectura Tradicional

La primera forma y mas utilizada es :

Para leer
Valor= Cuenta!CTA_NUM

Para Escribir:
Cuenta!CTA_NUM = Valor

Cual es su problema?

En una sola llamada ( un solo campo ) no tiene gran problema, pero si estamos leyendo Dos o mas campos, si.

Ejemplo:
Valor= Cuenta!CTA_NUM
Valor2= Cuenta!CTA_NOMBRE
Pues muy simple, se carga dos VECES Cuenta!, esto significa que dos o mas veces se carga la tabla o su estructura, cuando una sola puede manejarse con otro de los dos métodos.

Otro problema es la dificultad del uso de arreglos.

[color=#00FF00]Lectura ORDINAL (depende del orden)

Para leer
Valor= Cuenta.Fields(0) ‘ nos regresa CTA_NUM,por ser el primer campo

Para Escribir:
Cuenta.fields(0) = Valor
Problema:

Pues que resulta muy difícil de mantener. A lo mejor en ocho días no nos acordamos que el campo CUENTA.Fields(3) era igual a cuenta!Descrip

No tiene el problema de cargar dos veces, porque puede usarse un bucle with de este modo:

[code]with cuenta

Comments are Closed