FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Llenar Edits desde un DBGrid con campos de una DB
Bueno pues lo que quiero hacer es eso, al darle doble clic a un DBGrid que me llenen los datos de los campos a unos Edits que tengo en el mismo form,
hacerlo con una sola tabla es fácil, pero como lo haría desde 2 tablas ?? Por ej primero realizar una búsqueda con %LIKE% en las DOS y llenar los resultados en un SOLO DBGrid, eso último creo que se puede jugando con la propiedad Gridcolumns del DBGrid pero la anterior pregunta no la se hacer, osea por ej buscar en una tabla por código, obteniendo los resultados mostrar solo el código en el DBGrid, ahora sacar el ID de ese código y con ese ID buscar en la otra tabla y sacar TODOS los demás campos y llenar el MISMO DBGrid, una ves echo esto al darle cilc a una celda del DBGrid que se me llenen los Edits que tengo en ese Form, pero esos Edits llaman datos de las 2 tablas, por ej el dódigo está en una tabla, y las descripciones en otra, eso no lo se hacer, me he complicado mucho trabajando con 2 tablas, no se por que, pero lo he echo Ahora bién aquí les pongo el código con el cual se llenan los Edits al darle doble clic en una celda del DBGrid, NO es lo que necesito, pero a alguien siempre le servirá. Todo esto lo ponen en el evento DobleClick del DBGrid
Espero que a alguien le sirva, luego pondré "todas"m mis pequeñas aplicaciones que he ido haciendo a lo largo de aprender delphi Bueno, quisiera poder hacer eso pero desde 2 tablas, espero que me puedan guiar un poco, como verán en un tema mas abajo de este, he luchado mucho con las 2 tablas, obteniendo malos resultados xD saludos |
#2
|
||||
|
||||
Hola BlackDaemon
Para mi todo radica en la sentencia sql que hagas. Una sentencia sql puede leer una o muchas tablas y extraer los datos que te convengan para luego filtrarlos, creo que deberias practicar un poco con esto de sql. No le tengas miedo a usar varias tablas y mezclar la informacion, es mas siempre es lo mas conveniente. Saludos |
#3
|
||||
|
||||
Una sentencia SQL correcta, con unos DBEdits bien enlazados, te evitan el tener que codificar el llenado de datos.
__________________
|
#4
|
||||
|
||||
Cita:
Hablo de la sentencia correcta, por eso pregunté, por que no se como hacerlo, osea, como recién estoy trabajando con delphi se me complica mucho las cosas, pero al ver códigos o ejemplos me doy cuenta que todo lo que he preguntado es bién fácil, y para la próxima pues ya se como enfrentar el problema saludos y gracias por las respuestas. |
#5
|
||||
|
||||
Hola
Para hacer una consulta sql, por supuesto hay que saber por lo menos lo basico de esto, por ejemplo, una consulta de dos tablas, con dos datetimepicker y un edit. Para la consulta de empleados: Como veras estan las tablas empleados y pagoplan Se indica que filtre entre dos fechas y el codigo de empleado Si te fijas bien se saca la fecha de pagoplan y el codigo de empleados Es en realidad una consulta sencilla y lo mas basico, pero creo que te puede dar una idea. Al incluir este codigo en un query es como si estuvieses viendo una sola tabla, es cuestion de un poco de practica. Otra cosa, no confundas Delphi con sql, son cosas diferentes. Saludos Saludos |
#6
|
||||
|
||||
Bueno, como dije, con algunos ejemplos se me aclara todo
he podído hacer várias querys con _Casi_ los mismos resultados he estado probando en esta estructura simple de base de datos en MySQL
Ahora puse un Query unido a un DataSource y un DBGrid donde estarán los datos de los campos de las 2 tablas. Primero intenté con esta query que me dió malos resultados.
Bueno como mi intención solo es mostrar el código de la tabla TARIFAS y la descripción de la _otra_ tabla PRODUCTOS en el DBGrid, para que una ves ahí puedan darle doble clic y llenar todos los demás datos en los DBEdits o Edits, perooo hay un problema, que el anterior query muestra TODOS los códigos, ya que se repiten en la tabla tarifas Me listaba algo así, ( siguiendo la estructura de la anterior base de datos ) Este era el resultado en el DBGrid una vés modificado la propiedad GridColumns y solo poner 2, una con el código y otra con la descripción Código:
codigo descripcion 2147483647 Juego de Cuchillos de mesa 2147483647 Juego de Cuchillos de mesa 2147483647 Juego de Cuchillos de mesa 34653 Llaves tubo de 30 piezas 34653 Llaves tubo de 30 piezas 34653 Llaves tubo de 30 piezas bueno eso es el resultado del anterior query, claro que imagínense que tenemos 10 000 productos con sus 3 precios serían 30 000 registros que mostraríamos en el DBGrid pero para eso está la búsqueda con %LIKE% donde filtraremos por código, pero igual, por ej si la búqueda te arroja 10 códigos que coincidan con la búsqueda en total serían 30 los resultados en el DBGrid, y son inecesários los otros 2, y eso que es con este ejemplo que solo se manejan 3 listas de prcios, ahora tenía que buscar una forma de filtrar a que me muestre los resultados uno de cada uno. Pues aquí está una forma
bueno con eso tenía un resultado favorable que era lo que buscaba como esto Código:
2147483647 Juego de Cuchillos de mesa 34653 Llaves tubo de 30 piezas Pero que pasaba si quería obtener el el precio1 ? o el precio2 ? bueno, ( según lo que se ) el query con el que habría echo la búsqueda no los tendría en memória y no me serviría, al menos que haya realizado una búsqueda interna con todos los campos, como el primer query, pero ya seria otra petición al servidor pudiendo evitarlo ( no se, son mis manias mias de querer hacer con un query todo el trabajo xD ) Pues pensé y como solo muestro esos datos en el DBGrid y nada mas, podía llamar a todos los campos pero NO visualizarlos y filtrarlos con en único campo que los diferéncian en la tabla TARIFAS que sería el campo ListaPrecio entonces lo que hise fué esta otra query
donde me da los mismos resultados que el anterior Código:
2147483647 Juego de Cuchillos de mesa 34653 Llaves tubo de 30 piezas entonces "pienso" que me quedaría como esto. Primero modificar un poco el query anterior para aceptar una busqueda por código con un WHERE LIKE
bueno no lo he probado esto último, solo puse por que creo que devería darme resultados satisfactorios, pero lo demás ya esta bién y gracias Caral por la idea saludos PD no se por que, pero me dan ganas de pegar código, pienso que a álguien mas le servirá algún día xDD PD2 mañana posteo el resultado final. o las dudas que se me presenten |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Llenar un combobox con los campos de una tabla | enecumene | Conexión con bases de datos | 6 | 07-03-2007 21:42:28 |
Llenar menú desde Tabla... | vladimirbp | Varios | 2 | 10-11-2006 18:26:53 |
Fechas desde Edits | Roilo | SQL | 2 | 07-02-2006 19:27:21 |
Como llenar un combo con campos seleccionados ? | Luis | Conexión con bases de datos | 2 | 29-09-2004 08:50:04 |
Necesito llenar un DBGrid desde una consulta con dbexpresss | vivim82 | Varios | 5 | 05-05-2004 18:31:02 |
|