Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2008
Avatar de Yasnet
Yasnet Yasnet is offline
Miembro
 
Registrado: oct 2008
Ubicación: Colima
Posts: 30
Poder: 0
Yasnet Va por buen camino
Unhappy ¿Como hacer que un combobox lea datos de la tabla2 y se puedan guardar en la tabla1?

Hola soy nuevo en este foro, espero y m ayuden con mi problema
Estoy trabajando con Delphi 7 y mySQL.
la base de datos se llama Principal
la tabla 1 se llama Registro
la tabla 1 cuenta con los siguientes campos:
-Clave del practicante
-Nombre
-Apellido paterno
-Apellido materno
-Nivel estudiantil
-Cuenta de escuela
-Semestre
-Nombre del Proyecto
-Nombre del Tutor
-Fecha Inicio
-Fecha Final
-Estatus

la tabla 2 se llama Catalogo de Escuelas
la tabla2 cuenta con los siguientes campos:
-Cuenta de Escuela
-Descripcion de Escuela

Delphi y mySQL ya estan conectados gracias al ODBC
En el programa estoy utilizando:
Table1-->Databasename:Principal
Tablename:Registro
Active:True
Datasource1-->Dataset:Table1

Table2-->Databasename:Principal
Tablename:Catalogo de Escuelas
Active:True
Datasource2-->Dataset:Table2

El programa se divide en 2:
-Registro de nuevos usuarios
-Editar el catalogo de escuelas

En registro de nuevos usuarios se le pide al usuario nuevo que llene los campos que ya se han mencionado de la tabla1(Registro).
El problema ocurre que el campo Cuenta de Escuela se encuentra en las dos tablas, tanto registro como catalogo de escuelas; y estoy usando un combobox para que lea los datos de la tabla2(Catalogo de escuelas) del campo Cuenta de Escuela(por ejemplo: 01, 02, 03, etc) y que al desplegar el combo, esos datos aparescan para poder usarlos y guardarlos(dependiendo de cual dato se elija) en la tabla1(registro).
Pero solamente e conseguido que el primer dato(01) aparesca en el combo, y no se ponen los demas.
La funcion que estoy usando es:
procedure TForm1.FormActivate(Sender: TObject);
begin
combobox1.Items.Add(tabla2.fieldbyname('Cuenta_Escuela').AsString);
end;

Esto lo hise para que los datos de cuenta de escuela de la tabla catalogo de escuelas se agreguen al combobo, pero solamente se agrega el primer dato.
Alguien me prodría decir por que o que estoy haciendo mal?, se los agradecería.
Responder Con Cita
  #2  
Antiguo 30-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, pasa eso porque le estas añadiendo tansolo el campo del elemento que tienes activo. Para hacerlo correctamente, deberias hacer algo como

Código Delphi [-]
Tabla1.First;
for i := 0 to Tabla1.RecordCount - 1 do
begin
ComboBox.Add(Tabla1.FieldByName('CAMPO').Asstring);
Tabla1.Next;
end;

Ahora bien, ya existe un componente que hace eso (DBComboBox en la pestaña DataControls) te recomiendo que le eches un vistazo. Saludos.
Responder Con Cita
  #3  
Antiguo 31-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Yasnet, también lo puedes hacer con ciclo While.

Código Delphi [-]
Tabla2.First;
While Not Tabla2.Eof do
begin
 ComboBox.Add(Tabla2.FieldByName('Cuenta_Escuela').Asstring);
 Tabla2.Next;
end;

Sobre el DBComboBox, yo creo que el amigo coso se refiere al DBLookupComboBox, ya que en el DBComboBox también tienes que llenarlo a mano.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 31-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Creo que necesitas un TDBLookUpComboBox, mira en la ayuda y en foro, seguro que encuentras como usarlo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 31-10-2008
Avatar de Yasnet
Yasnet Yasnet is offline
Miembro
 
Registrado: oct 2008
Ubicación: Colima
Posts: 30
Poder: 0
Yasnet Va por buen camino
Muchas gracias Caro y a los demas, me acaban de sacar de un problema el cual ya me tenía loco, el combobox por fin lee todos los datos grax.

Última edición por Yasnet fecha: 31-10-2008 a las 00:28:11.
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
Datos.txt a Tabla1 pruz SQL 5 15-07-2008 00:02:46
Consulta de una tabla1 para agregar en otra tabla2 aanil SQL 19 30-03-2008 04:12:36
como llenar un combobox y guardar los datos amix Conexión con bases de datos 7 07-10-2007 22:38:07
Cliente Opc, guardar datos y hacer graficas freddylopez Varios 0 03-01-2006 20:30:37
pasar de una tabla1 a una tabla2 la misma info el_barto Conexión con bases de datos 7 31-08-2005 18:58:44


La franja horaria es GMT +2. Ahora son las 00:01:35.


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