Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Uso de varias Ttablas en un mismo Form (Delphi) (https://www.clubdelphi.com/foros/showthread.php?t=66903)

sizne 18-03-2010 00:39:22

Uso de varias Ttablas en un mismo Form (Delphi)
 
Por favor ayudenme, planteo mi problema.
Estoy trabajando con Delphi y SQL Server. Tengo definidas las Tablas respectivas y las relaciones. Relacioné en SQL las tablas de que un Tuniversitario puede llevar muchas materias(1 a muchos) por medio de IdU.
(TUniversitario, TMaterias) Un universitario puede llevar varias materias.
TUniversitario: campos: IdU,CarnetIdentidad, Nombres, Apellidos, FechaNacimientos, etc.
TMaterias, campos: IdM, SiglaMateria, Semestre,Anio, NombreMateria, Calificacion, AproboReprobo, IdU,etc..
Las tareas a realizar son:
Que en un formulario se tiene que registrar los datos respectivos del Universitario, osea los campos de TUniversitario (Form1).
En otro Formulario se tiene que primero buscar si Xuniversitario esta registrado en el sistema, si esta registrado pues en el mismo formulario se tiene que llenar las materias que llevara ese año o semestre (Form2).
Registre ya los datos del Universitario. Pero no puedo registrar las materias, intente hacer con DBgrid para que se me muestre todas las materias que un Universitario este llevando, pero solo me aparecia una fila de datos.

Por favor alguien podria Solucionar el problema?....Alguien?

Cómo puede ser el código? He intentado realizar de toda forma, pero no me registra, hasta llegue a usar StringGrid, para pasar los datos y luego esos datos recien a la TMaterias, pero me parece redundante.
Gracias!

Casimiro Notevi 18-03-2010 00:56:36

¿Pero exactamente qué problema tienes?, ¿cómo lo estás haciendo?, explica algo...

Caral 18-03-2010 01:29:09

Hola
Me suena a que intentas meter o adicionar materias con EDIT.
Por supuesto siempre sare el mismo y unico campo (creo).
Lo que deberias de hacer es usar un INSERT.
Es lo que entiendo de todo esto.
Saludos

sizne 18-03-2010 01:31:46

No puedo registrar Datos Tmaterias para cada alumno, por decir:
Juan Perez debe llevar las materias de Matematicas, Fisica, Quimica, etc y en cada materia tiene su calificacion, esto quiero que me salga en un solo formulario(Form2) el que ya expliqué arriba. Estoy usando dos tablas por si acaso, Tuniversitario y Tmaterias, estas dos quiero que aparezas en un solo form.
Intente con DBgrid pero solo me aparece un registro de materias, osea solo una fila, ya que cuando ingreso otra materia se me elimina la anterior.
Quisiera saber como puede ser el codigo.

Gracias.

Casimiro Notevi 18-03-2010 01:37:41

Cita:

Empezado por sizne (Mensaje 357351)
[..]Quisiera saber como puede ser el codigo.
Gracias.

Genéricamente, como te ha explicado Caral, con Insert.
Específicamente, es imposible de explicártelo porque no tenemos ni idea de lo que estás haciendo ni cómo lo estás haciendo, vuelvo a repetir lo de antes, explícate más detalladamente... por si te sirve, te aconsejo que leas la guía de estilo, gracias :)

p.d. También puedes leer la "otra guía de estilo" que encontrarás aquí mismo, en mi firma :)

Caral 18-03-2010 01:41:16

Hola
Añadiendo:
Código, que código tienes, muéstranos el camino, enséñanos la luz.
Saludos

sizne 18-03-2010 01:46:19

Estoy usando los campos relacionados de las dos tablas, y no estoy usando Edit sino un DBGrid, ahi quiero que me deje ingresar todas las materias respectivas que va a llevar un Universitario. Pero en el DBGrid cuando ingreso una materia con sus datos respectivos y sigo con el segundo dato,pero justo ahi se me desaparece el primer datos que ingrese.O es que uso otro Form3 para ingresar las materias de cada Universitario una vez que hayan sido encontrados en la busqueda mencionada?
1.Registrar Universitario en Form1.
2.Buscar si Universitario fue registrado en Form2.
3.Registrar sus materias que llevara...Form3.
Lo que yo quiero es el Form2 y Form3 solo esten en un solo Form2 con los datos de TUniversitario y Tmaterias. En el mismo quiero que me permita reigstrar varias materias par aun mismo universitario.

Caral 18-03-2010 01:50:43

Hola
Ahhh, ahora si entiendo.
Casimiro: no esta usando edit si no dbgrid.
Le dices???
Saludos

Casimiro Notevi 18-03-2010 01:52:49

Creo que no has contestado a Caral... ni a mí :D

¿Qué código tienes?, ¿cómo lo haces ahora?


Edito: ahora te leo Caral :) va a ser algo parecido al otro hilo del dbgrid :)

Casimiro Notevi 18-03-2010 01:58:07

Cita:

Empezado por Caral (Mensaje 357359)
Hola
Ahhh, ahora si entiendo.
Casimiro: no esta usando edit si no dbgrid.
Le dices???
Saludos

Te dejo el honor, amigo, ya me voy a dormir... hasta mañana :)

ecfisa 18-03-2010 02:09:25

Hola sizne.

A ver si puedo entenderte...
1) Hay dos tablas una con estudiantes y otra con materias no ?
2) Están en relación maestro/detalle de modo tal que: un estudiante pueda tener una o más materias no?
3) Utilizas otro form (el Form2) para verificar la existencia del estudiante ingresado ?

Por último creo que tanto Caral como Casimiro te piden que nos des someramente la estructura de las tablas así como tambíen la parte del código con que realizas los ingresos.

Saludos.

Pd: Este hilo va en SQL

roman 18-03-2010 02:14:35

Cita:

Empezado por sizne (Mensaje 357346)
Tengo definidas las Tablas respectivas y las relaciones. Relacioné en SQL las tablas de que un Tuniversitario puede llevar muchas materias(1 a muchos) por medio de IdU.
(TUniversitario, TMaterias) Un universitario puede llevar varias materias.
TUniversitario: campos: IdU,CarnetIdentidad, Nombres, Apellidos, FechaNacimientos, etc.
TMaterias, campos: IdM, SiglaMateria, Semestre,Anio, NombreMateria, Calificacion, AproboReprobo, IdU,etc..

Antes de seguir adelante, yo te recomendaría que pienses bien el planteamiento de tu base. La relación Universitario-Materia no puede ser 1 a muchos; necesariamente es muchos a muchos, pues así como un universitario puede llevar muchas materias, está claro que una materia puede ser cursada por muchos universitarios (eso, o se trata de una Universidad muy rara).

Lo que sucede es que tu planteamiento actual no está normalizado y presenta redundancia de datos. Si la materia de Álgebra Homológica la llevan 20 universitarios, entonces "Álgebra Homológica" se repetirá 20 veces en tu tabla Materias.

Lo que debes hacer es dejar en TMateria únicamente lo relacionado con los datos de cada materia:

IdM, SiglaMateria, NombreMateria

y hacer una tercera tabla, TInscripcion que materialice la relación entre las otras dos:

IdM, IdU, Semestre, Anio, Calificacion, AproboReprobo

Ya que tengas eso, podemos proseguir ;).

// Saludos

Caral 18-03-2010 02:17:35

Hola
Aqui estamos suponiendo que esta usando uno o varios Table y no Query.
Es muy dificil entender un problema sin datos, si con datos es dificil si ellos mas.
En realidad yo antes de pedir la configuracion de las tablas me gustaria ver la configuración del codigo, que componentes usa, como los enlaza, que hace.
El problema empieza por pensar que un componente Edit es lo mismo que un Edit en una tabla.
Comunicacion y codigo.
Saludos

sizne 18-03-2010 02:45:16

Roman, si que me entendiste a la "perfección" siiiiiii ese el el problema que trato de resolver..Tienes toda la razon...Puedes seguir con las 3 tablas por favor?
Como seria el planteamiento del codigo?
Te agradeceria mucho.

roman 18-03-2010 03:04:41

A ver, tu planteamiento original era con dos tablas y no te funcionaba (el código que nunca pusiste). Como el planteamiento tiene que ser con tres tablas, lo lógico ahora es que te detengas tú a pensar como trabajar con estas nuevas condiciones y después expongas tus dudas.

Por ahora tengo que irme, veamos al rato o mañana qué se ha avanzado.

// Saludos

sizne 18-03-2010 07:52:20

Ya tengo las tablas y los formularios respectivos....vamos con el codigo ahora...Ya les comento ok? Denme poquito de tiempo por favor...
Gracias...


La franja horaria es GMT +2. Ahora son las 00:39:14.

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