>Como hago para recorrer y comparar los datos de una tabla contenida dentro de una base de datos, con una tabla libre.
>
>Me explico. La tabla que se encuentra dentro de la base de datos tiene la siguiente estructura: "TablaDentroDBC"
>
>codigo.......................................................caracter.........Indice
>nombre_del_producto...........................caracter
>ubicacion_del_producto........................caracter
>fecha_de_ingreso_del_producto........fecha
>costo_del_producto...............................numerico,2
>Monto_de_la_venta_del_producto......numerico,2
>estado_del_producto.............................caracter
>tipo_de_producto....................................caracter
>recibido_por.............................................caracter
>inventariado..............................................fecha
>despachado_por.....................................caracter
>fecha_de_Salida.....................................fecha
>procesado................................................caracter
>
>
>Y la tabla libre tiene la siguiente estructura: "TablaLibre"
>
>codigo..........caracter.........Indice
>nombre........caracter
>ubicac..........caracter
>fingreso.......fecha
>costo............numerico,2
>venta............numerico,2
>estado.........caracter
>tipo...............caracter
>recibido.......caracter
>inventa.........fecha
>
>
>Quiero recorrer las dos tablas para verificar: (1) Que toda la información se encuentren en las dos tablas.
Suponiendo que tienes un campo clave (clave primaria):
select * from Tabla1;
where ClavePrimaria not in;
(select ClavePrimaria from Tabla2)
Esto te mostrará los datos que existan en la Tabla2, pero no en la Tabla1.
> (2) Que los registros que se encuentre en la TablaDentroDBC no se modifiquen si el campo "procesado" esta verdadero 'SI'.
Eso yo lo haría en el Form de edición - cuando llegues a un registro que cumpla una cierta condición, bloqueas la edición.
También podrías crear un trigger que te prohíba la edición - pero eso te trae los siguientes problemas: a. Eso no resuelve la presentación visual para el usuario. b. Cada regla suele tener sus excepciones, es decir, tarde o temprano, alguien SÍ querrá modificar los datos.
> (3) Los registros en la tabla TablaDentroDBC que tengan el campo procesado en falso 'NO' sean agregados desde la TablaLibre.dbf
Seleccionas los datos a un cursor, y de ahí haces APPEND FROM.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)