Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Como hago para recorrer y comparar los datos de una tabl
Message
From
11/04/2008 20:20:51
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivia
 
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 7 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01310102
Message ID:
01310125
Views:
14
>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)
Previous
Reply
Map
View

Click here to load this message in the networking platform