Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2017
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Enviar Datos con doble click

Buenas gente, quiero enviar datos de una consulta a otra consulta y no he logrado hacerlo

Tengo las dos consultas asociadas a un dbgrid cada una, y quiero enviarle datos de la consulta A a la B. (no se si ambas deberían usar un dbgrid).

También quiero filtrar la consulta A en el dbgrid con un dbLookupcombobox para así encontrar mas fácilmente los datos que quiero enviar a la consulta B y que se muestren en pantalla de ser posible con un doble click en la consulta A.

Desde ya muchas gracias
__________________
We are told to remember the idea, not the man, because a man can fail. He can be caught, he can be killed and forgotten, but 400 years later, an idea can still change the world.
Responder Con Cita
  #2  
Antiguo 13-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Un dbgrid es "una ventana" a un dataset. No puedes pensar en dbgrid, debes pensar en dataset. Lo que hay en el dataset es lo que verás en el dbgrid.
Responder Con Cita
  #3  
Antiguo 13-11-2017
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Un dbgrid es "una ventana" a un dataset. No puedes pensar en dbgrid, debes pensar en dataset. Lo que hay en el dataset es lo que verás en el dbgrid.
Aham y entonces como envio los datos de un dataset a otro desde un dbgrid con doble click sobre este ultimo?
__________________
We are told to remember the idea, not the man, because a man can fail. He can be caught, he can be killed and forgotten, but 400 years later, an idea can still change the world.
Responder Con Cita
  #4  
Antiguo 14-11-2017
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Los datos que quieres enviar....serian como parametros?, para ser usados dentro de la clausula where?....OH! PARA EMPEZAR estas usando SQL ?

Saludos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #5  
Antiguo 14-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por The Cid James Ver Mensaje
Aham y entonces como envio los datos de un dataset a otro desde un dbgrid con doble click sobre este ultimo?
Pues depende
Por ejemplo, tienes un dataset (un query) con esta sentencia:
Código SQL [-]
select codigo, nombre from tbClientes where moroso=1
Código:
1 Juan 
2 Pedro
5 Miguel
Y tienes otro dataset (un query) con esta otra sentecia:
Código SQL [-]
select codigo, nombre from tbClientes where moroso=0
Código:
3 Ana
4 Ruperto
6 Mario
Si ambos dataset están conectados mediante un datasource a un dbgrid, entonces, al pulsar en un dbgrid debes saber el código del cliente que has pulsado y cambiar el valor. Por ejemplo, pulsas en dbgrid1, fila 2, o sea 5 Miguel y debes hacer lo siguiente:
Código SQL [-]
update tbClientes set moroso=0 where codigo=5
De esta forma, verás a Miguel en el dbgrid2 en lugar del dbgrid1 de los morosos.
Responder Con Cita
  #6  
Antiguo 14-11-2017
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Cita:
Empezado por mRoman Ver Mensaje
Los datos que quieres enviar....serian como parametros?, para ser usados dentro de la clausula where?....OH! PARA EMPEZAR estas usando SQL ?

Saludos.
Estoy usando SQl, y si ya esta todo funcionando tanto las query como las tablas conectadas, los datos que quiero enviar son (para que quede mas claro) productos de la tabla productos a detalles de venta (tabla que indica que producto se vendio en cada venta)

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues depende
Por ejemplo, tienes un dataset (un query) con esta sentencia:
Código SQL [-]
select codigo, nombre from tbClientes where moroso=1
Código:
1 Juan 
2 Pedro
5 Miguel
Y tienes otro dataset (un query) con esta otra sentecia:
Código SQL [-]
select codigo, nombre from tbClientes where moroso=0
Código:
3 Ana
4 Ruperto
6 Mario
Si ambos dataset están conectados mediante un datasource a un dbgrid, entonces, al pulsar en un dbgrid debes saber el código del cliente que has pulsado y cambiar el valor. Por ejemplo, pulsas en dbgrid1, fila 2, o sea 5 Miguel y debes hacer lo siguiente:
Código SQL [-]
update tbClientes set moroso=0 where codigo=5
De esta forma, verás a Miguel en el dbgrid2 en lugar del dbgrid1 de los morosos.
Ya tengo todo eso armado, de echo con un botón seria algo como
Código Delphi [-]
 if fmodulo.qProductos.Locate ('id_producto', fmodulo.tProductos ['id_producto'], [])
   then
     begin
       fmodulo.tVentadetalle ['id_ventas'] := fmodulo.tVenta ['id_venta'];
     end;

Lo que estoy preguntando es como hacerlo con doble click dentro del dbgrid y lo segundo que no se es como filtrar uno de los dbgrid con un combobox o dblookcombobox

Saludos
__________________
We are told to remember the idea, not the man, because a man can fail. He can be caught, he can be killed and forgotten, but 400 years later, an idea can still change the world.

Última edición por The Cid James fecha: 14-11-2017 a las 02:23:26.
Responder Con Cita
  #7  
Antiguo 14-11-2017
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por The Cid James Ver Mensaje
Lo que estoy preguntando es como hacerlo con doble click dentro del dbgrid
Eso que sabes hacer con un botón ponlo dentro del evento OnDblClick del DBGrid.

LineComment Saludos
Responder Con Cita
  #8  
Antiguo 14-11-2017
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Genial funciona perfectamente, ahora lo que no logro hacer es filtrar la consulta para agilizar la busqueda
__________________
We are told to remember the idea, not the man, because a man can fail. He can be caught, he can be killed and forgotten, but 400 years later, an idea can still change the world.
Responder Con Cita
  #9  
Antiguo 14-11-2017
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por The Cid James Ver Mensaje
Genial funciona perfectamente, ahora lo que no logro hacer es filtrar la consulta para agilizar la busqueda
El TDBLookupComboBox tiene una propiedad llamada, KeyValue que te permite tomar el valor (llave) del registro seleccionado.

Supongamos que realizas la consulta:

Código Delphi [-]
qryConsultaFiltrada.Close.
qryConsultaFiltrada.ParamByName('CAMPO_DE_LA_TABLA_A_FILTRAR').AsString:=TDBLookupComboBox.KeyValue;
qryConsultaFiltrada.Open;

El anterior código puede estar dentro de algun evento de un Botón.

Código Delphi [-]
procedure TForm1.BotonClick(Sender: TObject);
begin
    qryConsultaFiltrada.Close.
    qryConsultaFiltrada.ParamByName('CAMPO_DE_LA_TABLA_A_FILTRAR').AsString:=TDBLookupComboBox.KeyValue;
    qryConsultaFiltrada.Open;
end;

Cada vez q des click sobre el boton, se ejecutara el código.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #10  
Antiguo 15-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por The Cid James Ver Mensaje
Genial funciona perfectamente, ahora lo que no logro hacer es filtrar la consulta para agilizar la busqueda
Por favor, no hagas preguntas distintas que no tienen nada que ver en un mismo hilo.
No olvides nuestra guía de estilo, gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Abrir PDF Doble Click en DBGrid Lenny Varios 7 19-11-2011 10:51:46
Doble click en PDA lacovera Lazarus, FreePascal, Kylix, etc. 3 08-12-2009 18:45:42
Doble click en un dbgrid einarcito Varios 5 02-03-2009 16:57:14
Doble click en CxGrid El_Perrito Varios 3 30-03-2007 22:23:18
... ¿Patente sobre el doble click? ... Jure Noticias 12 04-05-2004 06:20:04


La franja horaria es GMT +2. Ahora son las 22:20:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi