Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-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 de un dbgrid a dbedit o a otro dbgrid

Anteriormente enviaba los datos de un form a otro facilmente con

Código Delphi [-]
procedure TfListadoCliente.bModificarClick(Sender: TObject);
begin
  fmodulo.tCliente.Active := true;
  if fmodulo.tCliente.Locate('id_cliente',
  fmodulo.qCliente['id_cliente'], [])
    then
  begin
    fmodulo.tCliente.Edit;
    fcliente := Tfcliente.Create(Self);
    try
      fcliente.ShowModal;
    finally
      fcliente.Free;
    end;
  end;
  fmodulo.tCliente.Active := false;
  fmodulo.qCliente.Refresh;
end;
Esto funcionaba bien pero terminaba trabajando con demasiados formularios abiertos para hacer solo una edicion de datos asi que cambie el entorno para hacer todo en un solo form como se muestra en la imagen



Pero no logro mandar los datos a los dbedit

Código Delphi [-]
procedure TfListadoCliente.bModificarClick(Sender: TObject);
begin
  if fmodulo.tCliente.Locate('id_cliente',  fmodulo.qCliente['id_cliente'], [])
    then
      begin
        fcliente := Tfcliente.Create(Self);
      end;
   fmodulo.qCliente.Refresh;
end;

Tambien tenia pensado usar un dbgroipbox y filtrar datos en el dbgrid alguna sugerencia al respecto?
__________________
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: 03-11-2017 a las 09:08:12.
Responder Con Cita
  #2  
Antiguo 03-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que ya te hemos recomendado el libro La cara oculta de Delphi, si no es así, léelo. "Verás la luz".
Tu problema es que no sabes cómo funcionan los componentes dbloquesea.
Responder Con Cita
  #3  
Antiguo 03-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
Creo que ya te hemos recomendado el libro La cara oculta de Delphi, si no es así, léelo. "Verás la luz".
Tu problema es que no sabes cómo funcionan los componentes dbloquesea.
No solo los componentes de db sino todos, y me complica la existencia a la hora de elegir que componente para cada cosa. No soy usuario de windows tampoco pero como la materia que me pide que si o si sea en delphi ni modo, si me interesa la programación pero no orientada a objetos y mucho menos si tengo que usar windows. De echo todo lo que tenga que ver con la teoría de esto lo tengo echo y aprobado. Ahora al pasarlo a delphi es otro tema

Y si estoy terminando la unidad 6 de el lado oscuro 4, también descargue los demás y voy avanzando en mis ratos libres con el material. Tengo trabajo y mas materias que estudiar sino tuviera un plazo no preguntaría y seguiría avanzando en mis tiempos. Tampoco pretendo perder el tiempo de los que colaboraron antes con mis dudas, antes de preguntar algo siempre busco en Internet y en el foro (ya vi los demás post del tema y no aclararon mis dudas) y tampoco pretendo que me hagan el código o algo por el estilo no me sirve sino aprendo por si alguna otra vez tengo que volver a usar el IDE, solo pido que me remarquen los errores de lógica o en el uso de componentes.
__________________
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 03-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
La asociación es:
Componente DBxxxxxxx -> DataSource -> DataSet (el dataset es un query, table, etc. o cualquier componente enlazado a una base de datos).
Así que un componente DBedit, DBcheckbox, DBgrid, etc. es solamente "una ventana" a la base de datos, que muestra los registros que tiene el DataSet.
Por lo que para cambiar lo que hay en el DBxxxxx lo que tienes que hacer es modificar el DataSet, no el DBxxxxxx
Si el DataSet tiene "select codigo, nombre from tbClientes", en el dbgrid verás:
Cita:
1...Pepe
2...Juan
3...Ana
Si el Dataset tiene "select codigo, nombre from tbClientes order by nombre", en el dbgrid verás:
Cita:
3...Ana
2...Juan
1...Pepe
Es lo mismo para todos los DBxxxxx. No modificas el dbgrid, dbedit, dbxxx, sino el dataset que accede a la base de datos.
Responder Con Cita
  #5  
Antiguo 03-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
Eso ya lo tengo echo, en la captura de pantalla esta en vista de diseño pero puedo guardar clientes nuevos refrescar y demas el dbgrid, ahora lo que intento hacer es que en este caso "la edicion" del cliente con datos ya guardados. Al presionar el botón seteo la tabla en modo edit pero no consigo enviar los datos de la query de clientes a los valores de la tdbedit (que trabaja con la tabla clientes)en tiempo de ejecución para poder editarlos (por corrección de datos cambio de domicilio mail etc). Cuando estaba trabajando con dos forms con el codigo que pase enviaba todos los datos directamente al form y los datos del cliente pasaban automáticamente a los tdbedit, pero terminaba con muchas ventanas activas por eso quise hacerlo con un solo form y me estanque.

Para tratar de ser mas claro intento pasar los datos de dbgrid (query) a los tbedit de la tabla para poder editar los datos en tiempo de ejecución. Y creo que para esto no necesito modificar los dataset o las query
__________________
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
  #6  
Antiguo 03-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
Me complique la vida yo solo, con solo una linea de código lo enviaba automáticamente

Código Delphi [-]
procedure Tfcliente.BCeditClick(Sender: TObject);
begin
  if fmodulo.tCliente.Locate('id_cliente', fmodulo.qCliente['id_cliente'], [])
        then
          begin
            fmodulo.tCliente.Edit;
          end;
    fmodulo.qCliente.Refresh;
end;

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
Respuesta



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
Pasar datos de un DBGrid a otro DBGrid lucas05 Varios 13 29-01-2015 21:52:50
Pasar datos de un DBGrid a otro DBGrid c++ Builder 6 dmartinezn C++ Builder 13 13-03-2012 13:50:47
Pasar Datos De Dbgrid A Otro Helg17 Tablas planas 7 27-03-2009 10:16:37
Pasar datos de un dbgrid a un dbedit fran Tablas planas 14 13-03-2007 10:38:33
Como extraer datos de un DBgrid a otro DBgrid mickey Conexión con bases de datos 13 29-01-2004 05:05:30


La franja horaria es GMT +2. Ahora son las 12:18:51.


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