FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Tabla de búsqueda
Si yo tengo 2 tablas Paradox7, y defino mediante el Diseñador de Modulo de Datos en la solapa de Diagrama de datos un campo de búsqueda, entre las dos tablas, tal que para completar un campo de una busque en la otra los datos, siempre se debe usar (luego en mi programa) un DBLookUpComboBox para ver los datos de la tabla de búsqueda?, por que yo quiero poner un Speed Button tal que en el evento Onclick del mismo habra la tabla de búsqueda en un DBGrid y al hacer doble click sobre un registro de ésta me complete los datos en el campo de la otra.
Si alguien me puede dar una idea de como puedo hacerlo. Son las típicas tablas de búsqueda que tiene cualquier aplicación. Gracias. |
#2
|
||||
|
||||
Creo que lo que quieres, si interpreto bien tu mensaje quedaría mejor de la siguiente manera.
En la rejilla pulsas botón derecho y abres el editor de columnas añades los campos necesarios y sobre el que quieras que te abra el segundo formulario pones en su propiedad ButtonStyle : cbsEllipsis Esto hará que al entrar en esta columna en modo edición aparezca un botón con tres puntos que al pulsarlo mediante el evento "ut infra" referenciado te abrirá el segundo formulario: Código:
procedure TfrCompras.GrLineasEditButtonClick(Sender: TObject); begin Application.CreateForm(TfrDlgProducto, frDlgProducto); frDlgProducto.ShowModal; end; por ejemplo: FacturaProducto.Value:=ProductoNombre.Value; FacturaPrecio.Value:=ProductoPrecio.Value; .... Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Tabla de búsqueda
Sí eso es más o menos lo quiero hacer, pero no quiero levantar la otra tabla desde el DBGrid de la primera, sino que de un botón que esté al lado de un DBEdit y que al hacer doble click sobre el DBGrid que se abre me guarde la información en el DBEdit y por lo tanto lo hará en el campo que está relacionado con éste.
Me explico?, espero me entiendan. Gracias. |
#4
|
||||
|
||||
Pues la solución es exactamente la misma... solo cambian los eventos en los que se dispara el otro formulario... no?
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Tabla de búsqueda
Es lo mismo?, pero si yo tengo la tabla de búsqueda: Producto con los campos CODIGO DESCRIPCION y quiero que se vea (cuando hago doble click en el DBGrid de la tabla de búsqueda) por ej. la Descripción del producto en el DBEdit pero quiero que guarde en la tabla el Código del mismo, como tengo que hacerlo de la forma que yo quiero??
Gracias. |
#6
|
||||
|
||||
Es que el valor lo almacenas en el Campo del dataset asociado al DBEdit, DBGrid, DBText o lo que querras... de manera que este (gracias a la VCL) se actualiza automáticamente (o mágicamente, como querras verlo).
Cita:
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
|||
|
|||
Tabla de Búsqueda
Entonces en definitiva no tengo que usar el el Diagrama de datos para relacionar las tablas??, pero el ejemplo que Ud. me dan en realidad no almacena el código en la tabla sino el nombre, como escribí antes quiero relacionar las tablas de tal forma que me guarde el Código en el campo de la tabla pero que me deje ver en el componente el Nombre o Descripción.
Esto yo sé que se puede hacer con un DBLookUpComboBox pero si la tabla de búsqueda es muy grande sería muy lento encontrar lo que estoy buscando por lo tanto lo que quiero es abrir la tabla de búsqueda con un DBGrid, hacer doble click...,etc. (lo que ya expliqué antes). No sé si me entienden... Saludos, gracias. |
#8
|
|||
|
|||
Si quieres, precisamente para este menester en mi web tienes el TDBSearchDialog que te encapsula todo el tema y puedes usar BDE, IBX, DBX o ADO. Con código fuente, of course. Hechale una ojeada por si puede interesarte (eso sí, utiliza las RX)
Espero dentro de poco suber la versión 2 de dicho componente, a ver si voy bien de tiempo y la termino |
#9
|
|||
|
|||
Tabla de Búsqueda
Cadetill:
en Delphi 5 anda ese componente?, las RX son gratiutas y de donde las bajo? O sea que otra forma de hacer lo que quiero no hay más que instalando este componente. La verdad es que mucho no me gusta hacerlo ya que he instalado otros pero me los instala mal y he tenido problemas con Delphi. En realidad no se bien como se instalan los componentes. Gracias. |
#10
|
||||
|
||||
Claro que hay otras formas... pero de esta te ahorrarás el trabajo de hacerlo todo vos solito... ya que aprovecharás lo hecho (y bien hecho) por el amigo cadetill, que gentilmente (y gratuitamente) está compartiendo su código con vos.
Las rx son gratuitas. La url de donde las podes descargar es http://sourceforge.net/projects/rxlib. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#11
|
|||
|
|||
Tabla de busqueda
Jachguate:
En la pagina que me pasate estan las RX pero para Delphi 6 yo estoy usando el 5, sirve tambien o esta en otra pagina, o donde? Se instalan igual que cualquier componente las RX?
__________________
Cita:
|
#12
|
|||
|
|||
En mi web encontrarás las Rx desde la versión 3 hasta la 7 de Delphi
|
#13
|
|||
|
|||
Tabla de Búsqueda
Cadetill: en que parte de tu pagina ya que lo que encuentro es el RXDBGrid, nada más.
Perdón y gracias. |
#14
|
||||
|
||||
En el Menú ----> Delphi ----> Componentes ----> Comp. Utilizados.
Yo también me las baje de su página . Gracias Cadetill! |
#15
|
|||
|
|||
Cita:
|
#16
|
|||
|
|||
Tabla de busqueda
Cadetill:
baje la lib. RX de tu pagina, pero no pude instalarla, no se si tengo que utilizar New Component o New Package, o como, la verdad es que no sé como se hace. Disculpas y gracias. |
#17
|
|||
|
|||
Veamos, has de abrir los 6 *.dpk para delphi 5 (los que son xxxxx5.dpk). Los compilas todos. Esto te generará unos archivos *.bpl, copialos al directorio windows/system32 (winnt/system32 según SO). Luego has de darle al botón de instalar.
Y eso es todo |
#18
|
|||
|
|||
Tabla de búsqueda
Donde los genera a los archivos *.bpl, uso win98 también los copio en C:\Windows\System32.
|
#19
|
|||
|
|||
Si no has tocado nada de las opciones de los dpk, en principio en el mismo directorio donde tienes los dpk
En Win98 creo que el directorio tendría que ser el System (pero no lo aseguro) |
#20
|
|||
|
|||
Tabla de busqueda
Cadetill:
lo que hice fué: Abri Delphi, de ahí abri las *.dpk, luego click en Compilar, me generó los *.bpl, en un directorio de delphi, C:\Archivos de programa\Borland\..., de ahí las copié en el directorio Windows\System32, y click en botón instalar, y que ocurrió...nada se me colgó la PC. Como hay que hacerlo entonces? Perdón y gracias como siempre. |
|
|
|