Estoy diseñando un pequeño programa de una mueblería en el cual debo guardar la cantidad de muebles hechos por día y la cantidad de materiales usados lo cual a su vez debe irse restando en la tabla de materiales usadas también por día y registrar las ventas, siempre trabajo con tablas libres y quisiera me ayudaras en como podría relacionarlas para mostrar reportes en grid o en report de manera sencilla. Gracias de antemano. Uso foxpro 9.0
Mientras sean tablas libres no es posible relacionarlas debes crear una base de datos y esta es la que proporciona un entorno de trabajo en el que puedes almacenar una serie de tablas, establecer relaciones entre las tablas y establecer propiedades y reglas de validación de datos que controlan cómo funcionan conjuntamente las tablas relacionadas. Puedes usar las bases de datos de forma independiente o bien puedes incorporarlas a un proyecto agregándolas al Administrador de proyectos. Para tener acceso a las tablas de una base de datos, ésta debe estar abierta. Para incorporar tus datos a una base de datos, crea en primer lugar una nueva base de datos, después agrega las tablas con las que desees trabajar y define las relaciones entre ellas. También puede crear nuevas vistas locales o remotas desde el Diseñador de bases de datos para incorporarlas a tu base de datos. Para crear una nueva base de datos, en el Administrador de proyectos, selecciona Bases de datos, elije Nuevo. Cuando crees una nueva base de datos aparecerá una ventana Diseñador de bases de datos vacía junto con la barra de herramientas Diseñador de bases de datos. Empieza a crear tu base de datos; para ello, agrega las tablas que deseas utilizar. Puedes seleccionar cualquier tabla que no forme parte actualmente de otra base de datos. Puesto que las tablas sólo pueden pertenecer a una base de datos cada vez, necesitarás quitar una tabla de una base de datos antes de poder usarla en una nueva base de datos. Para agregar una tabla a una base de datos: En el menú Base de datos, elije Agregar tabla. En el cuadro de diálogo Abrir, selecciona una tabla y elije Aceptar. Puedes quitar una tabla de una base de datos si ya no la necesitas o si necesitas usarla en otra base de datos. Para quitar una tabla de una base de datos Selecciona la tabla. En el menú Base de datos, elije Quitar. En el cuadro de diálogo, elije Quitar. El Diseñador de bases de datos simplifica la creación de relaciones entre tablas al vincular sus índices. Las relaciones que crees en una base de datos se llaman relaciones persistentes, ya que se almacenan como parte de una base de datos. Cada vez que uses las tablas en el Diseñador de consultas o en el Diseñador de entornos de datos al crear formularios, estas relaciones persistentes aparecerán como vínculos o combinaciones predeterminados entre las tablas. Antes de que puedas crear una relación entre tablas, las tablas que deseas relacionar tienen que tener ciertos campos e índices en común. Los campos se llaman campos clave principal y clave externa. El campo clave principal identifica un registro específico de una tabla. El campo clave externa identifica los registros relacionados que residen en otra tabla de la base de datos. Es posible que también tengas que agregar un índice principal a un campo clave principal y un índice normal a un campo clave externa. Para crear una relación entre tablas Arrastra desde el índice de una tabla hasta el índice coincidente de otra tabla. Una vez establecida la relación, ésta se muestra en el Diseñador de bases de datos como una línea que conecta las dos tablas. Nota: Sólo puedes ver líneas de relaciones si la opción Relaciones del cuadro de diálogo Propiedades de la base de datos está activada. Puede tener acceso al cuadro de diálogo Propiedades de la base de datos si elige Propiedades en el menú contextual del Diseñador de bases de datos. Eso es lo más importante que necesitas saber y en cuanto a lo de los informes y del grid te recomiendo que utilices el asistente para informes para crearlos de manera rápida. Si gustas pásame tu correo para enviarte un ejemplo de Visual FoxPro.