FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
pasar de un dbgrid a un listbox
miren lo que quiero hacer creo que ahora es mas facil (eso digo yo para lo que son expertos en delphi) y si es que me ayudan (y eso creo que si).
miren estoy cargando una tabla (Personas) con tres campos (id_personas, Titular, Cargo), en un DBGrid (solo el nombre pongo el Titular), lo que necesito saber es como pasar el id_personas y el nombre a un ListBox o un ComboBox, siempre y cuando seleccione un elemento del DBgrid. Bueno me explico... en el DBGrid muestro los datos de la tabla Personas, por ejemplo tengo los siguientes datos: id_personas, Titular, Cargo 1,Benito Juarez Garcia, Director General 2,Juan Cantu Mendoza, Director de Finanzas 3,Gabriel Garcia Marquez, Director de Ingenieria .. .. 9,Carlos Estrada Marquecina, Director del Agua si quiero pasar el registro Gabriel Garcia Marquez (este lo selecciono en el DBGrid) y que al pulsar en un boton agregar, este se agregue a un listBox o un ComboBox, y a su vez pueda pasar el registro de Carloss Estrada Marquezina al listBox o un ComboBox. para que cuando pulse la opción de guardar estos datos que tengo en el listbox o el combobox se graben en la tabla Asignaciones con los campos (id_asignacion, id_personas, Id_Documentacion, Comentarios) que id_personas(Tabla Asignaciones)=id_personas(Tabla Personas) les agradecere la atencion prestada a este tema... saludos y muchas gracias |
#2
|
||||
|
||||
Hola Goyo
Entiendo: Quieres que al apretar un boton, pase, la informacion que esta seleccionada en un dbgrid, a un combobox. Bueno, si es asi: 1-Pon un query temporal (AQTemp), lo conectas con la base de datos o datamodule. 2-En el evento click del boton pones esto: Se supone que si tienes la informacion de id_personas , seleccionada en el grid, esta sera pasada al combobox1. Espero te sirva. Saludos |
#3
|
||||
|
||||
te agradezco mucho Caral...
mira estoy utilizando bases de datos de MySQL, y con respecto al AQTemp es un Query normal? (disculpa la ignorancia) o es otro componente, porque yo puse en lugar de AQTemp, escribi Query, y quedo de la siguiente manera:
en el ComboBox pueden agregarse mas de 1 personas, para que posteriormente se graben su id_personas en la tabla Asignaciones (id_personas). Por cierto me marca un error: Invalid use of keyword. Token:= Line Number 1' Última edición por Goyo fecha: 13-12-2006 a las 22:21:37. |
#4
|
||||
|
||||
Hola Goyo
Recuerda que en delphi se puden poner nombres diferentes a los componentes, el nombre es lo de menos, es simplemente un idetificador, ademas de ser bueno usarlos para referencias, si usas un query temporal, es bueno llamarlo TemQuery o Tquery, asi cuando se ve el codigo se interpreta mejor. Efectivamente el AQTemp es un query normal. Ahora yo le pongo asi, porque uso ado, entonces me guio mejor poniento A de ADO, Q de Query y Temp de temporal. Es solo una manera de guiarme. Que bueno que te funcione. Saludos |
#5
|
||||
|
||||
ya te entendi Caral, solo que cuando pulso el boton agregar (obviamente tengo que tener seleccionado un elemento del dbgrid) me marca el siguiente error:
Invalid use of keyword. Token:= Line Number 1' el AQTemp (Query) en su propiedad DataSource = DM.DsPersonas que es la tabla que muestro en el DBGrid |
#6
|
||||
|
||||
Hola Goyo
Aqui me parece que pueden estar pasando varias cosas: 1-El dato id_personas , no es string, es integer. 2-Lo que quieres es el dato Titular, que te da el nombre, ese es string. Bueno veamos soluciones: 1- Si quieres el dato id_personas en el combobox, cambia astring por value o asInteger, pero tambien la variable la tienes que cambiar. 2-Si quieres el dato titular, esta en segundo plano en la tabla, segun veo: id_personas (1), Titular (2), Cargo (3) por esta razon se ubica en 1 no en cero. Prueba y me dices Saludos |
#7
|
||||
|
||||
mira Caral, en efecto id_personas es de tipo Integer (autonumerico), Titular y Cargo son de tipo String,
el codigo lo escribi segun lo indicado...
y realmente lo que quiero en el ComboBox es que me aparezcan los datos del Titular. y me sigue mostrando el mismo error: Invalid use of keyword. Token:= Line Number 1' gracias por el momento.. saludos.. |
#8
|
||||
|
||||
Hola Goyo
No es lo correcto, ve la diferencia: Lo que as puesto: Aqui estas haciendo alucion al dato Cargo, que esta en la tercera posicion osea 2 Tienes que hacerlo asi: Esta es la linea clave: Osea para que lo entiendas: (0)= id_personas (1)= Titular (2)= Cargo asi trabaja esto, de todos modos no entiendo por que te da ese error, intenta haciendolo asi. Otro problema puede ser que no entienda la variable, si sigue el problema lo atacamos por otro lado, pero este no nos vence. Saludos |
#9
|
||||
|
||||
mira te voy a explicar de otra manera: pongo el codigo tal como me lo indicaste:
me marca el mismo error: Invalid use of keyword. Token:= Line Number: 1' No entiendo porque el error, si lo hago tal como me lo indicas... otra cosa, el AQTemp en su propiedad DataSource le asigno DM.DsPersonas en el DBGrid solo muestro el campo Titular (de la tabla Personas), este es de tipo String (Char en MySQL), en el componente AQTemp es lo unico que le hago poner el DataSource=DM.DsPersonas... gracias Caral por tu ayuda... y seguire intentandolo, de antemano que tengas un buen día... saludos y felices fiestas Última edición por Goyo fecha: 13-12-2006 a las 23:56:10. |
#10
|
||||
|
||||
Hola
Bueno intentemos un truco: El dbgrid, esta conectado a una tabla o query, entonces, contiene los datos. Pon un DBEdit en el form y asignale en datasource del dbgrid. Asignale al dbedit el campo id_personas . Bueno ya estara biendo ese dbedit, el campo id_personas segun se cambia o recorre el dbgrid. Entonces, pon este codigo en el boton: Supongamos que el DBEdit se llama DBEDit1: Analizalo bien, hice varios cambios, si quieres estar seguro copialo y pegalo. Deberia funcionar, ahora en vez de buscar una variable, buscara un campo igual al dbedit1. La razon por la que no camina es por que hay tres campos en la tabla y estas queriendo ver solo uno, diciendo al sql, que te de todos, por hai va la cosa. saludos |
#11
|
||||
|
||||
pasar de un dbgrid a un listbox, solo que me borra la linea insertada
Caral:
Te comento que el error era que en el DataSource tenia DM.DsPersonas y no erá así, en la propiedad DataBaseName puse el alias correspondencia1 (asi se llama el alias del sistema de correspondencia, y si funcionó..... gracias por tu ayuda, por fin logre que se agreguen los datos del DBgrid a un ComboBox al igual que a un Memo, solo que ahora cada vez que pulso el boton agregar, me elimina el que ya estaba insertado en el ComboBox, como hacerlo para que se vayan agregando al ComboBox las personas, sin que borre la que ya esta agregada... pongo el codigo para veas como quedo:
tambien lo puse en un Memo1 para checar el problema, y creo que es mejor, porque de ahi se ven las personas que ya estan en la lista. saludos... |
#12
|
||||
|
||||
Hola Goyo
Me alegro que te sirva Recuerda siempre la sentencia que usas. Si usas text, pues es eso texto o poner en. Si usas ADD, Pues que hace, añade. Si cabias la sentencia por esto, te añadira lo que quieres al combobox. Fijate bien en los cambios, asi aprendemos los dos. Saludos |
#13
|
||||
|
||||
Saludos.
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo Última edición por yusnerqui fecha: 14-12-2006 a las 20:07:12. |
#14
|
||||
|
||||
Yo lo que no entiendo realmente es por qué hacer otra consulta, si he entendido bien los datos se muestran en un dbgrid, es decir ya hay un componente TDataset apuntando a esa tabala de la base de datos, pues yo simplemente pondría:
Saludos
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
pasar codigo DBGrid a cxGrid, seleccionar una fila y cambiar el color, no desapareser | sakuragi | OOP | 13 | 11-02-2006 10:02:07 |
pasar mouse por dbgrid o cxgrid y colorear fila | sakuragi | Gráficos | 0 | 06-08-2005 01:37:56 |
pasar de listbox a clipboard | lastfenix | OOP | 4 | 14-07-2005 09:50:50 |
Pasar datos desde un DBGrid | jdangosto | OOP | 2 | 19-02-2005 16:55:37 |
Pasar enfoque de Celdas en dbGrid | AGAG4 | Varios | 9 | 15-09-2004 02:00:30 |
|