Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   buscar campo de Query en Table... (https://www.clubdelphi.com/foros/showthread.php?t=69976)

Caro 22-09-2010 19:25:09

Cita:

Empezado por Pensa2r (Mensaje 377192)
COINCIDEN LOS DATOS.

entonces, eso quiere decir que ya funciona.

Saluditos

Pensa2r 22-09-2010 19:35:31

si eso parece, o eso es lo que me tiene liado pero no se mueve la tabla reparaciones del primer registro ni el dbgrid que puse para esta tabla.
No lo entiendo, supuestamente el locate lo busca y lo posiciona en este no?
o tendria que usar algo como el bookmark?
al igual he variado algo en la tabla que no se que es.....
GRACIAS de nuevo.

Caro 22-09-2010 20:20:11

Hola

Cita:

Empezado por Pensa2r (Mensaje 377197)
si eso parece, o eso es lo que me tiene liado pero no se mueve la tabla reparaciones del primer registro ni el dbgrid que puse para esta tabla.
No lo entiendo, supuestamente el locate lo busca y lo posiciona en este no?

Si, lo busca y se posiciona en ese registro, con el mensaje que te da si lo esta encontrando y debería posicionarse en dicho registro.

Nose, talvez tienes algún codigo que hace que regrese al primer registro o tu DBGrid no esta enlazado a tu AdoTable con el que estas haciendo el Locate.

Cita:

Empezado por Pensa2r (Mensaje 377197)
o tendria que usar algo como el bookmark?

En este caso no necesitas el bookmark.

Saluditos

Caral 22-09-2010 21:22:50

Hola
Me da la impresion de que tiene DOS dbgrid.
1 enlazado al adquery y 1 enlazado al adotable.
Lo que creo que pretende es hacer un master detail sin master detail.
Ahora por que no hacerlo si es un query y un table?.
Saludos

Pensa2r 22-09-2010 23:22:49

Cita:

Empezado por Caral (Mensaje 377205)
Hola
Me da la impresion de que tiene DOS dbgrid.
1 enlazado al adquery y 1 enlazado al adotable.
Lo que creo que pretende es hacer un master detail sin master detail.
Ahora por que no hacerlo si es un query y un table?.
Saludos

Hola de nuevo eso es creo, pero no me deja hacer el master entre tabla y query, o no se como hacerlo, o no estoy seguro de que es el master detail.
Yo he hecho esto entre tablas pero no se porque no puedo entre query y tabla.

Caral 22-09-2010 23:33:57

Hola
Vamos a ver si te lo explico.
Primero tenemos el query, este muestra ciertos campos, estos campos los quieres ligar con un Table, entonces para eso se una un masterdetail, como se ligan?:
1- el query tiene varios campos
dale doble click al query, esto te abrira una pantallita pequeña, con boton derecho busca add y coloca todos los campos.
2- Lo mismo en el table
3- tienes DOS (2) datasource, 1 para el query y otro para el table.
4- Posicionate en el table y busca el procedimiento Mastersource, ahi coloca el datasource del query (saldran los dos, usa el del query), con esto ya estas ligando los dos.
5- Posicionate en el table y busca el procedimiento MasterFields, presiona el boton, te abrira una pantalla, ahi saldra la lista de los campos tanto del query como del table, busca los dos campos IGUALES que necesites para ligarlos.
Listo, ya esta hecho el master detail.
Por aqui tengo un ejemplo con access y aunque no con dos dbgrid si con masterdetail, si lo necesitas lo subo.
Saludos

Pensa2r 23-09-2010 00:25:19

GRACIAS Caral asi si he conseguido que me funcione, pero porque al hacer esto vuelve a no ir?:
Código Delphi [-]

DBGridPRINCIPAL.DataSource:=Modulo_DATOS.DataSourceQUERYREPARACIONES;
DBNavigator1.DataSource:=Modulo_DATOS.DataSourceQUERYREPARACIONES;
ello es porque uso el mismo DBGrid y DBNavigator para las tablas y el query.

Pensa2r 23-09-2010 01:15:51

Como se hace esto por código?...

Cita:

Empezado por Caral (Mensaje 377227)
4- Posicionate en el table y busca el procedimiento Mastersource, ahi coloca el datasource del query (saldran los dos, usa el del query), con esto ya estas ligando los dos.
5- Posicionate en el table y busca el procedimiento MasterFields, presiona el boton, te abrira una pantalla, ahi saldra la lista de los campos tanto del query como del table, busca los dos campos IGUALES que necesites para ligarlos.
Listo, ya esta hecho el master detail.

GRACIAS por todo y perdona mi ignorancia y pesadez...

es que llevo ya 3 semanas y no lo consigo, al final me decidi a preguntar, pero me da cosa mi poco nivel. Si ves Carol llevo mas tiempo registrado en este foro que usted pero mi nivel es muy bajo y por eso no participo tanto.
Aunque este tema me gusta mucho y lo que se es gracias a internet y horas...jejeje

Caral 23-09-2010 03:08:43

Hola
Por codigo?.
Código Delphi [-]
AdoTable1.Mastersource:= Datasource1; // se supone que es el datasource del query.
AdoTable1.MasterFields:= TuCampo;
No se si es lo que preguntas.
Saludos

Pensa2r 26-09-2010 23:01:22

GRACIAS por todo, pero aun sigo con problemas.
te cuento....
utilizo un DBGrid conectado a un datasource de un query y hay todo bien,
pero cuando actualizo la sql del query ya deja de estar conectado el DBGrid.

con este código no me carga la sql pero si deja la conexión con DBGrid
Código:

      with Modulo_DATOS.QueryCLIENTE do
        begin
          Close;
          Sql.Clear;
          Sql.Add('SELECT * FROM CLIENTE');
          Sql.Add('WHERE '+ComboBoxBUSCAR_CLIENTE.Text+'  LIKE '+QuotedStr('%'+editBUSCAR.Text+'%'));
          Open;

con este código me carga la sql pero me desconecta el DBGrid
Código:

      with Modulo_DATOS.QueryCLIENTE do
        begin
          Close;
          Sql.Clear;
          Sql.Add('SELECT * FROM CLIENTE');
          Sql.Add('WHERE '+ComboBoxBUSCAR_CLIENTE.Text+'  LIKE '+QuotedStr('%'+editBUSCAR.Text+'%'));
          Open;
--->>  DBGridCLIENTE.DataSource:= Modulo_DATOS.DataSourceQUERYCLIENTE;

alguien me dice como hacerlo mejor...GRACIAS
Espero me entendais.


La franja horaria es GMT +2. Ahora son las 05:41:56.

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