Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   seleccionar varias lineas de un DBLookupComboBox y grabar en un Memo (https://www.clubdelphi.com/foros/showthread.php?t=38371)

Goyo 12-12-2006 20:11:52

seleccionar varias lineas de un DBLookupComboBox y grabar en un Memo
 
Estoy realizando un sistema de correspondencia, pero un oficio se turna a 2 (dos) o 3 (tres) personas distintas para que le den seguimiento o respuesta, tengo 3 tablas (Documentación, Personas, AsignacionAdicional) en la primera tengo todos los datos principales del oficio (numero_oficio, fecha_recibido, asunto, id_personas, Id_documento,..., etc..) en el segundo solo tengo (id_personas, titular, Cargo) y en la tercera (id_asignacionAdicional, id_personas, id_documento, comentarios), lo que quiero que dentro de un DBLookupComboBox pueda seleccionar 2 o 3 personas y que asu vez estas se muestren en un Memo.

y cuando le pulse grabar a mi programa (la pantalla de captura) se graben esas personas en la tabla de asignacionadcional).

espero me ayuden de esta forma o en su defecto algo muy similar.

saludos..
:confused:

Lepe 13-12-2006 12:21:46

sobre un DBlookupCombo es imposible realizar una múltiple selección. Puedes emularlo con un Grid dentro de un panel que lo muestras a voluntad cuando corresponda.

A través de dbgrid.SelectedRows obtendrás los datos que necesitas.

También podrías pasar los datos a un TCheckListBox, aunque se complica un poquito más al no ser un control de acceso a datos.

Saludos

Goyo 13-12-2006 17:55:39

seleccionar de un DBLookupCombobox una linea y agregar a un Memo
 
mira lo que realmente necesito es que estoy realizando un sistema de correspondencia, pero muchas veces un oficio es turnado a varios directores de la oficina donde trabajo, esto NO sucede siempre, solo a veces, es por ello que necesito que de un DBLookupComboBox me muestre la lista completa de la tabla de Directores y por fuera dentro de mi formulario un Boton con la opcion de agregar, cuando se pulse este se grabe a un Grid o un TMemo en pantalla, y como tengo varias tablas una de ellas es AsignacionAdicional, que será donde se grabará la clave principal de la tabla Directores.

Esto siempre y cuando el oficio sea turnado a dos o mas directores de la oficina, cuando sea para uno solo NO hare uso de esta opción de agregar.

haciendo la aclaracion que estoy utilizando bases de datos de MySQL en red.

algo similiar a esto...
Personal Directivo (este es un DBLookupComboBox
---------------------------------
Pedro
Pablo
Agapito
Julian
---------------------------------
Boton Agregar

Personal que dará respuesta al oficio (es es un Grid o TMemo)
-----------------------------------
Pedro
Julian

-----------------------------------
Boton Eliminar

Lepe 13-12-2006 18:59:56

Ahh, perdona, lo entendí mal.

Yo usaría un TListBox para añadir los destinatarios, puedes guardar el nombre del director y su código de la base de datos con algo así:

Ahora cada elemento de ese Listbox, tiene el nombre del director (para mostrarlo al usuario, y su código "oculto". Solo tienes que realizar un bucle sobre ese Listbox para ir insertando en la tabla adicional.

Yo crearía una consulta al vuelo para insertar los valores, algo así:
Código Delphi [-]
query1.sql.text := ' insert into asignacionadicional(codigoDirector) VALUES ( :codigo)';
query1.prepare;
for i:=0 to listbox1.items.count -1 do
begin
  query1.parambyname('codigo').Value := integer(listbox1.items.objects[i]);
  query1.ExecSql;
end;

Saludos

Saludos

Goyo 13-12-2006 19:11:26

a que te refieres de utilizar un ListBox, este lo usaría en lugar de un DBLookupComboBox o un Grid para ir guardando las personas seleccionadas

de antemano muchas gracias por la ayuda


La franja horaria es GMT +2. Ahora son las 20:03:55.

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