Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-02-2007
Gangster Gangster is offline
Miembro
 
Registrado: nov 2006
Posts: 36
Poder: 0
Gangster Va por buen camino
Question Problema con dbgrid y busquedas en tabla

Hola a Todos los de Este Foro de Gran ayuda bueno aqui tengo otro asi problemita que ojala y se pueda tener alguna solucion o idea de como hacerlo de la mejor manera, bueno tengo una forma con un dbgrid donde cada columna de este apunta a una sola tabla detail de una base de datos entonces, tengo una columna llamada descripcion que es para strings, entonces el problema que tengo es que si ponen el nombre del producto si me desplega los demas valores que agarro de otra tabla llamada producto donde realizo la busqueda del nombre puesto del producto, entonces esto lo hago en el evento onvalidate de la columna de la tabla detail a la que apunta el grid, enotnces cada producto tambien se requiere buscar por numero y codigo de barras, y ahi es el problema al ponerle el numero que correponde a algun determinado producto o al mismo producto pues este no me sale entonces esa es la cosa la forma como lo busco es esta la forma como lo busco
Código Delphi [-]
{ASEcom.tbProducto.FindKey([ASEcom.tbRemDetailRemProd.Value] 
donde el tbremdetail es la que apunta al grid y es en donde escribiria el nombre del producto,el codigo de barras o el numero del producto, pero causa problemas este es el codigo:
}
if not ASEcom.tbProducto.FindKey([ASEcom.tbRemDetailRemNombre.Value]) then
begin
    ASEcom.tbProducto.CachedUpdates := False;
    ASEcom.tbProducto.IndexName := 'IdxNombre';
    ASEcom.tbProducto.CachedUpdates := True;
    if not ASEcom.tbProducto.FindKey([ASEcom.tbRemDetailRemNombre.Value]) then
    begin
      ASEcom.tbProducto.CachedUpdates := False;
      ASEcom.tbProducto.IndexName := '';
      ASEcom.tbProducto.CachedUpdates := True;
      end
      else
      begin
      ASEcom.tbRemDetailRemProd.Value := ASEcom.tbProductoNumero.Value;
//      ASEcom.tbRemDetailRemNombre.Value := ASEcom.tbProductoNombre.Value;
      ASEcom.tbRemDetailRemBar.Value := ASEcom.tbProductoBarras.Value;
      ASEcom.tbRemDetailRemUni.Value := ASEcom.tbProductoUnidad.Value;
      ASEcom.tbRemDetailRemCostoP.Value := ASEcom.tbProductoCostoP.Value;
      ASEcom.tbRemDetailRemCostoD.Value := ASEcom.tbProductoCostoD.Value;
      ASEcom.tbRemDetailRemVentaP.Value := ASEcom.tbProductoVentaP.Value;
      ASEcom.tbRemDetailRemVentaD.Value := ASEcom.tbProductoVentaD.Value;
      ASEcom.tbRemDetailRemIva.Value := ASEcom.tbProductoIVApor.Value;
      ASEcom.tbRemDetailRemIeps.Value := ASEcom.tbProductoIEPpor.Value;
      ASEcom.tbRemDetailRemPedim.Value := ASEcom.tbProductoPedime.Value;
      ASEcom.tbRemDetailRemAdua.Value := ASEcom.tbProductoAduana.Value;
      ASEcom.tbRemDetailRemDateAdu.Value := ASEcom.tbProductoDatePe.Value;

      if(ASEcom.tbProductoTypVta.Value = 'D')then
      begin
      ASEcom.tbTC.FindLast;
      ASEcom.tbRemDetailRemVentaP.Value := ASEcom.tbRemDetailRemVentaD.Value * ASEcom.tbTCVentas.Value;
      end;

     if(ASEcom.tbProductoTypCto.Value = 'D')then
     begin
     ASEcom.tbTC.FindLast;
     ASEcom.tbRemDetailRemCostoP.Value := ASEcom.tbRemDetailRemCostoD.Value * ASEcom.tbTCVentas.Value;
     end;
      end;
      end
      else
      begin
//      ASEcom.tbRemDetailRemNombre.Value := ASEcom.tbProductoNombre.Value;
      ASEcom.tbRemDetailRemBar.Value := ASEcom.tbProductoBarras.Value;
      ASEcom.tbRemDetailRemUni.Value := ASEcom.tbProductoUnidad.Value;
      ASEcom.tbRemDetailRemCostoP.Value := ASEcom.tbProductoCostoP.Value;
      ASEcom.tbRemDetailRemCostoD.Value := ASEcom.tbProductoCostoD.Value;
      ASEcom.tbRemDetailRemVentaP.Value := ASEcom.tbProductoVentaP.Value;
      ASEcom.tbRemDetailRemVentaD.Value := ASEcom.tbProductoVentaD.Value;
      ASEcom.tbRemDetailRemIva.Value := ASEcom.tbProductoIVApor.Value;
      ASEcom.tbRemDetailRemIeps.Value := ASEcom.tbProductoIEPpor.Value;
      ASEcom.tbRemDetailRemPedim.Value := ASEcom.tbProductoPedime.Value;
      ASEcom.tbRemDetailRemAdua.Value := ASEcom.tbProductoAduana.Value;
      ASEcom.tbRemDetailRemDateAdu.Value := ASEcom.tbProductoDatePe.Value;

      if(ASEcom.tbProductoTypVta.Value = 'D')then
      begin
      ASEcom.tbTC.FindLast;
      ASEcom.tbRemDetailRemVentaP.Value := ASEcom.tbRemDetailRemVentaD.Value * ASEcom.tbTCVentas.Value;
      end;

     if(ASEcom.tbProductoTypCto.Value = 'D')then
     begin
     ASEcom.tbTC.FindLast;
     ASEcom.tbRemDetailRemCostoP.Value := ASEcom.tbRemDetailRemCostoD.Value * ASEcom.tbTCVentas.Value;
     end;

      end;

      ASEcom.tbProducto.CachedUpdates := False;
      ASEcom.tbProducto.IndexName := '';
      ASEcom.tbProducto.CachedUpdates := True;
      end;
aqui esta todo esto que esta en el onvalidate de la columna remnombre de la tabla detail y pues ahi quiero segun que si no me encuentran el nombre, entonces le escribo el numero o el codigo de barras y me debe de dar el mismo producto entonces esa es la cuestion y mi problemilla.

Gracias de Antemano a ver si alguien me entiende.

Última edición por marcoszorrilla fecha: 10-02-2007 a las 15:20:41.
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
búsquedas en dbgrid edfz Varios 41 08-11-2008 15:15:51
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
Union De Tabla En Dbgrid JELIRM SQL 4 10-04-2006 22:14:36
no se carga tabla en dbgrid Sayuri Conexión con bases de datos 2 29-11-2005 17:44:35
Búsquedas a través de TTable y/o TQuery y resultado en DBGrid nax Conexión con bases de datos 5 11-02-2005 05:08:55


La franja horaria es GMT +2. Ahora son las 16:27:48.


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