Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Quizás añadiendo un campo calculado al Grid sea la solución. En este hilo tienes 2 soluciones.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 11-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
La verdad, para mi, muy personalmente, sigue siendo una consulta de dos tablas, Tabla: ALUMNOS y Tabla: CALIFICACIONES, porque, pues porque en la tabla Tabla: GPO_CARR lo que se encuentran son las carreras que ademas estan ligadas a la Tabla: ALUMNOS por el (Id_Gpo_Carr) no la necesito para nada.
La pregunta que se hizo fue:
Cita:
Pedir en un DBLookupComboBox el grupo de la carrera (Id_Gpo_Carr) y que me aparezca en un DBGrid la matricula del alumno, nombre y los campos de la tabla calificaciones que me permitan capturar los parciales, el ordinario y el final.
Perdon pero donde esta la tercera tabla ?, si, ya se, contiene las carreras y que!!! si lo que voy a ver en el DBLookupComboBox, que insisto no me gusta para que quede claro, es el (Id_Gpo_Carr) que lo saco de la Tabla: ALUMNOS .
Por otro lado se dice:
Cita:
No lo puedo hacer con SQL porque sería sólo consulta y yo deseo que me permita capturar calificaciones
Quien dice que no se puede hacer con sql, ademas que en realidad lo que se esta haciendo en este caso es una consulta, que si se quiere modificar X valor o parametro tambien se puede hacer.
Insisto muy personalmente, os complicais mas de la cuenta.
En la simpleza esta la velleza.
Saludos
Responder Con Cita
  #3  
Antiguo 11-10-2006
CONY CONY is offline
Registrado
 
Registrado: jun 2006
Ubicación: B.C., México
Posts: 9
Poder: 0
CONY Va por buen camino
Caral agradezco tus comentarios, aunque siento que me estás regañando por algunas cosas que me dices, pero soy novata en Delphi y eso de que se puede modificar un valor en una consulta de SQL ya lo quise hacer y no pude ingresar valores en el dbgrid después de realizar la consulta, a lo mejor hice algo mal.
Y en cuanto a usar solamente las dos tablas (Alumnos y Calificaciones) también ya lo intenté, pero resulta que al seleccionar el grupo en el DBLookupComboBox solamente me aparece en el dbgrid el registro del alumno que está en ese grupo y yo quiero que me aparezca la lista de los alumnos que están en ese grupo, para capturar calificaciones por grupo.
Agradezco de nuevo tu ayuda, no creas que sólo me estoy ateniendo a la ayuda de los foros, ya le he buscado por otras partes.
Responder Con Cita
  #4  
Antiguo 11-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola CONY
De nunguna manera te regaño, es mas, novato yo, es solo que aveces veo en el foro cosas que se que se pueden hacer y me desespero por tratar de hacer entender como las haria yo, que no es necesariamente mejor que tu, tal vez diferente, no te desanimes y sigue, que si se puede.
Para entender las cosas un poco mejor es bueno poner codigo por aca y decir, bueno por este lado asi y por el otro de este modo.
En el foro hay verdaderos Maestros en esto, y se te, van a ayudar.
Gracias por hacerme medir mis palabras, tratare de ser mas cauteloso con mi vocabulario.
Saludos
Responder Con Cita
  #5  
Antiguo 11-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Que base de datos y que componentes de acceso estás usando?

Ahora, según te entendí, quieres poder escoger un grupo y con ese grupo mostrar los alumnos que lo integran y capturar sus calificaciones... todo en un DBGrid...

Sin saber exactamente lo que te pregunto al principio (base de datos y componentes de acceso), podrías tener algo así:

Un query con el cual vas a obtener los grupos (select * from GPO_CARR) el cual vas a usar con el TDBLookupComboBox.

Lo siguiente sería una consulta que te devuelva los alumnos por grupo, algo como:
Código SQL [-]
select * from ALUMNOS where GpoCarr = :GpoCarr
este query tendría como master el query de GPO_CARR, así cuando cambies de grupo, verás los alumnos que lo integran. Como lograr esto? Pues el query ALUMNOS en su propiedad MasterDataSource seleccionas el TDataSource que contiene el query GPO_CARR.

Ahora, lo anterior solo te devolvería los alumnos por grupo, pero no estás viendo las calificaciones por alumno, esto lo puedes lograr de forma similar al query ALUMNOS:
Código SQL [-]
select * from CALIFICACIONES where Matricula = :Matricula
De esta manera, puedes tener una relación Master-Detail en 3 niveles: GPO_CARR - ALUMNOS - CALIFICACIONES...

Sobre como poder editar estos datos, necesitaría que contestaras las preguntas que te hice...



Saludos...
Responder Con Cita
  #6  
Antiguo 11-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola y perdonen que insista en esto pero sigo sin ver la necesidad de usar las tres tablas por lo siguiente:
La primera solo almacena los grupos.
La segunda almacena los alumnos con sus grupos
La tercera almacena las materias ligadas al alumno.
Pero si insisten en usar las tres tablas pues asi:
Usando un simple Combobox y un dbgrid:
Este Query trabaja con el combobox que trae Id_Gpo_Carr de la famosa primera tabla y lo inserta en el:
Código Delphi [-]
QTemp.SQL.Text := 'Select Id_Gpo_Carr  From GPO_CARR';
   QTemp.Active := True;
   While not QTemp.Eof do
   begin
      CBALUMNOS.Items.Add(QTemp.Fields[0].Text);
      QTemp.Next;
   end;
   QTemp.Active := False;
QTemp es el nombre que le di al query.
CBALUMNOS es el nombre que le di al combobox.

En otro query ligado al dbgrid se pone esto:
Código Delphi [-]
QTemp2.SQL.Text := 'SELECT *  FROM ALUMNOS RIGHT JOIN CALIFICACIONES ON ALUMNOS.Id_Gpo_Carr = '+CBALUMNOS.Text+'';
 QTemp.Active := True;
QTemp2 es el nombre que le di al segundo query.
Este vera lo que este en el combobox que se llama CBALUMNOS y filtrara los alumnos que cumplan con ese requisito.
Creo que se puede con un combobox y con sql como veras CONY es cuestion de un poco de paciencia.
Espero te sirva
Saludos
Responder Con Cita
  #7  
Antiguo 11-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Su insistencia en las tres tablas, es que las primeras dos son, vamos a decirlo así, de referencia... la que en realidad va a editar es la de CALIFICACIONES, pero para esto debe saber cual es el grupo y cuales son los alumnos...


Saludos...
Responder Con Cita
  #8  
Antiguo 11-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Estoy de acuerdo Maeyanes pero si te fijas en los campos de las tablas en su primera pregunta veras que el campo Id_Gpo_Carr esta en la tabla alumnos tambien, esto quiere decir que hay un enlace entre estas tablas por este campo en particular, estaras de acuerdo con migo que es muy dificil interpretar dudas con pocos datos, casualmente caben las dudas, al ver esto por eso opine lo dicho (tres tablas para que??).
Saludos Maestro
Responder Con Cita
  #9  
Antiguo 13-10-2006
CONY CONY is offline
Registrado
 
Registrado: jun 2006
Ubicación: B.C., México
Posts: 9
Poder: 0
CONY Va por buen camino
Maeyanes, con respecto a la pregunta que me hiciste sobre la base de datos, estoy utilizando PARADOX y los componentes son DataSource y DBTable...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Apertura de Varias Tablas luxus Conexión con bases de datos 5 08-09-2005 13:37:34
Trabajar con varias tablas luxus Conexión con bases de datos 3 22-08-2005 18:32:15
usar una tabla o varias auxiliares???leer y opinar por favor ercrizeporta Conexión con bases de datos 3 14-07-2005 14:55:20
Insertar en varias tablas... Duc SQL 5 01-09-2004 06:07:28
IBDataSet con varias tablas Angel Firebird e Interbase 8 26-01-2004 14:30:03


La franja horaria es GMT +2. Ahora son las 22:50:05.


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