Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-04-2013
Alesius Alesius is offline
Registrado
NULL
 
Registrado: abr 2013
Posts: 3
Poder: 0
Alesius Va por buen camino
Enlazar varias tablas en un DBgrid

Hola a todos,
soy nuevo en el foro y en Delphi, por lo que pido disculpas de ante mano si este post no va aqui y/o estoy preguntando una barbaridad. Tengo conocimiento en Pascal, C++, ActionScript, PHP, MySQL y otros lenguajes de la web. Luego de aclarado esto continuo.

Tengo una base de datos en MS Access, con cuatro tablas (Empleado, Funciones, Ubicacion, Orden).

BD Empleados
legajo
Nombre
funcion (codigo interno de dos letras)
ubicacion (codigo interno de dos letras)

BD Funciones
ID_funciones (codigo interno de dos letras)
nombre_funcion

BD Ubicacion
ID_ubicacion (codigo interno de dos letras)
nombre_ubicacion

bd Orden
no viene al caso, por ahora no la voy a utilizar

En mi formulario tengo un TADOConnection que lo tengo enlazado a cuatro TADOtable (Templeado, Tfunciones, Tubicacion, Torden) y de ahi los derivo a sus respectivos datasource para poder enlazarlos a cuatro DBgrid diferentes, hasta ahi funciona correctamente.

el tema es que en el DBgrid de Empleados quiero que tanto las funciones como la ubicacion no me salga el codigo interno sino el nombre que se especifica en cada tabla.

Un saludo y muchas gracias por su tiempo.
Responder Con Cita
  #2  
Antiguo 17-04-2013
red_dragon red_dragon is offline
Registrado
NULL
 
Registrado: abr 2013
Posts: 7
Poder: 0
red_dragon Va por buen camino
No se si te entiendo, o tal vez me equivoque con la respuesta pero hal hacerle doble clic al dbgrid en tiempo de diseño, aparece un pequeño frmulario con los campos que lleva el dbgrid, sino quieres que salgan simplemente con la tecla suprimir eliminas los campos que quieres que no aparezcan, y si quieres que tengan otro titulo haces clic en el campo y en el panel de propiedades puedes modificar la propiedad caption de cada unos de los campos segun veas por conveniente. Bueno creo que es eso lo que quieres.
Responder Con Cita
  #3  
Antiguo 17-04-2013
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Hola,

Sobre campos lookup, vea,
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 17-04-2013
Alesius Alesius is offline
Registrado
NULL
 
Registrado: abr 2013
Posts: 3
Poder: 0
Alesius Va por buen camino
Estimado red_dragon, antes que nada te agradezco por tu rápida respuesta. Mi intención no es cambiar el nombre del campo en el dbgrid sino los valores. Te paso un ejemplo de lo que quiero, haber si me puedo explicar mejor:

Tabla Empleado
legajo_____Nombre____________Función_____________Ubicación

34678_____Argento, Pepe__________05___________________BA


Tabla Funcion
ID_Funcion_____Nombre_Funcion

05____________Operario

Tabla Ubicacion
ID_Ubicacion_____Nombre_Ubicacion
BA_____________Buenos Aires

Función 05 significa operario y eso esta almacenado en la tabla de función, y ubicación BA significa Buenos Aires y esta especificado en la tabla ubicación.

Ahora bien, lo que yo necesito es que me convine las tablas y en el dbGrid en vez de aparecer como arriba me aparezca de la siguiente manera:

legajo_____Nombre________________Función__________Ubicación
34678_____Argento, Pepe____________Operario__________Buenos Aires

Una vez más muchas gracias muchachos..

PD: TOPX gracias por esos libros, ya los baje, me van a ser de mucha ayuda. Un saludo.
Responder Con Cita
  #5  
Antiguo 17-04-2013
red_dragon red_dragon is offline
Registrado
NULL
 
Registrado: abr 2013
Posts: 7
Poder: 0
red_dragon Va por buen camino
Haber yo nunca use ADOy es que de frente me pase a usar Dbexpress, y haciendo conexion con el componente tsqlquery (en ado debe hacer un componente similar) en la propiedad commandtext le pondria el mas o menos asi:

select empleado.legajo,emleado.nombre,nombre_funcion.funcion,nombre_ubicacion.ubicacion from empleado,funcion,ubicacion

bueno si hay algun criterio de seleccion ponerle where y la condicion en la parte final. Y si la recoleccion de datos fuera especial presentar la sentencia de otra manera con left join o inner join bueno eso ya depende de ti.

ese tsqlquery (u el similar en ado) conectarlo con un clientdataset, datasource y este a su vez con el dbgrid que recuperara los campos declarados en la seccion select de la consulta.

Solo por curiosidad, por que trabajas con access lo digo por que tiene muchas limitaciones, podrias usar otro motor que te permita hacer mas cosas en cuanto a consultas y vistas, supongo que este programa lo haces con fines educativos osea con la finalidad de aprender como es Delphi.

Te recomiendo que te bajes estos dos cursos en dvd, te enseñan dbexpress al detalle y desde cero (como si estuvieras en primero de primaria) y lo mejor en videos (que no te espante el que este en portugues ya que es igual al español). Bueno te dejo los links por privado si es que quieres.

Última edición por red_dragon fecha: 17-04-2013 a las 23:46:03. Razón: Me olvide de poner informacion
Responder Con Cita
  #6  
Antiguo 18-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mensaje para los nuevos foreros:
Bienvenidos a clubdelphi, ¿ya leísteis nuestra guía de estilo?, gracias por vuestra colaboración

Y recordad poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #7  
Antiguo 18-04-2013
Alesius Alesius is offline
Registrado
NULL
 
Registrado: abr 2013
Posts: 3
Poder: 0
Alesius Va por buen camino
Hola Red_Dragon, el fin es un poco y un poco, me sirve para aprender un poco de delphi y porque ellos utilizan toda la base de datos en excel, y me es mucho más sencillo migrarla mes a mes a access o por lo menos es la forma m'as facil que encontre.

Con respecto a los cursos estaria encantado, pasame los link asi los descargo, me estoy enganchando mucho con esto de delphi y todo lo que sume lo consumo... jejejeje...

Muchas gracias por tu respuesta.
Voy a ver como lo resuelvo.
Un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
enlazar dos tablas ACCESS zajoma SQL 5 26-01-2010 17:24:28
Como relacionar varias tablas a un dbgrid? Pollo2004 Varios 10 07-07-2008 16:39:47
Enlazar tablas de base de datos lis983 Varios 1 29-05-2008 16:26:48
enlazar tablas con DBLookupComboBox magoz Conexión con bases de datos 2 20-09-2007 02:35:48
Enlazar varios Combobox a un DBGrid. Kenlyr Conexión con bases de datos 6 09-01-2007 23:36:13


La franja horaria es GMT +2. Ahora son las 12:59:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi