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 09-04-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Exclamation Error al mostrar registros

Buenos días a todos,

Tengo tiempo ya trabajando con un proyecto en Delphi 6 y tablas en Paradox y me está generando ahorita un problema al intentar mostrar el detalle de un documento...


Código Delphi [-]//MUESTRA DETALLE DE LA REMISION
dbgrid1.Visible := true;
dm.DETALLE_REMICOM.Last;
f:=1;
for i:=1 to dm.DETALLE_REMICOM.RecordCount do
begin
if dm.DETALLE_REMICOM.FieldByName('idremision_compra').AsInteger = strtoint(botonbuscar) then
begin
dbgrid1.Cells[2,f]:= dm.DETALLE.FieldByName('idproducto').AsString;
dbgrid1.Cells[3,f]:= inttostr(dm.DETALLE.FieldByName('idalmacen').AsInteger);
dbgrid1.Cells[4,f]:= currtostr(dm.DETALLE.FieldByName('cantidad').AsCurrency);
dbgrid1.Cells[5,f]:= dm.DETALLE.FieldByName('precio').AsVariant;
dbgrid1.Cells[6,f]:= dm.DETALLE.FieldByName('descuento').AsVariant;
dbgrid1.Cells[7,f]:= dm.DETALLE.FieldByName('importe').AsVariant;

THackStringGrid(dbgrid1).InsertRow();
f:= f+1;
end;
dm.DETALLE_REMICOM.Prior;
end;



Aunque se llame dbgrid1 en realidad es un StringGrid lo que usamos para mostrar la información
i y f son variables locales una me permite recorrer la tabla y la otra me permite ir insertando la información en la siguiente fila del StringGrid

El problema se da cuando hago la búsqueda me muestra siempre el primer registro de la tabla, lo curioso es que si mi documento original tiene 4 lineas de detalle
me muestra 4 veces el primer registro, si tiene 3, nomas 3 veces pero siempre el primero.

Intenté posicionándome al inicio de la tabla y recorrerla hacia adelante y nada... Colocándome al final de la tabla y haciendo recorridos hacia atrás y nada
lo curioso del asunto es que otro documento que usa exactamente el mismo código de búsqueda y presentación de los registros me muestra perfectamente la información
y lo único en lo que difieren es en la tabla que usan, de ahí en mas hasta los mismos puntos y comas tiene, jejeje...

A alguien se le ocurre qué pueda estar pasando ?

Les agradezco su tiempo y su ayuda a todos
Responder Con Cita
  #2  
Antiguo 09-04-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, intenta cambiando alguna de estas lineas:

Código Delphi [-]
MUESTRA DETALLE DE LA REMISION
  dbgrid1.Visible := true;
  dm.DETALLE_REMICOM.First;
  f:=1;
  for i:=1 to dm.DETALLE_REMICOM.RecordCount -1 do   
  begin          
          if dm.DETALLE_REMICOM.FieldByName('idremision_compra').AsInteger = strtoint(botonbuscar) then          
          begin                  
                 dbgrid1.Cells[2,f]:= dm.DETALLE.FieldByName('idproducto').AsString;
                 dbgrid1.Cells[3,f]:= inttostr(dm.DETALLE.FieldByName('idalmacen').AsInteger);
                 dbgrid1.Cells[4,f]:= currtostr(dm.DETALLE.FieldByName('cantidad').AsCurrency);
                 dbgrid1.Cells[5,f]:= dm.DETALLE.FieldByName('precio').AsVariant;
                 dbgrid1.Cells[6,f]:= dm.DETALLE.FieldByName('descuento').AsVariant;
                 dbgrid1.Cells[7,f]:= dm.DETALLE.FieldByName('importe').AsVariant;

                 THackStringGrid(dbgrid1).InsertRow();
                 f:= f+1;
         end;
         dm.DETALLE_REMICOM.Next;
   end;

luego nos comentas como te fue.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 09-04-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Exclamation

Hola enecumene muchas gracias por responder y sobre todo tan rápido ...

Verás, originalmente mi código incluia tanto el First como el Next para recorrer la tabla, como me dió este problema intenté cambiarlo a Last y a Prior es por eso que lo muestra asi en el código...

Alguna otra opción que se les ocurra ?
Responder Con Cita
  #4  
Antiguo 09-04-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
y cambiando el 1 por el 0?

Código Delphi [-]
for i := 0 to dm.DETALLE_REMICOM.RecordCount - 1 do   
  begin
     //....

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #5  
Antiguo 09-04-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Talking

Jajajaja, hoy es para mi de esos días en que juras que 2+2=5 y según tu revisas para encontrar el problema y aunque pasar mil veces por ese 2+2=5 no lo ves mal...

Sorry enecumene ya vi mi garrafal error, aun cuando hago búsqueda en una tabla la información estaba intentando jalarla de otra muy diferente...

Pero ya lo corregí y que crees ??!! Funciona perfecto !!!

De nuevo una disculpa y muchas gracias por tus respuestas
Responder Con Cita
  #6  
Antiguo 09-04-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por fenareth Ver Mensaje
Jajajaja, hoy es para mi de esos días en que juras que 2+2=5 y según tu revisas para encontrar el problema y aunque pasar mil veces por ese 2+2=5 no lo ves mal...

Sorry enecumene ya vi mi garrafal error, aun cuando hago búsqueda en una tabla la información estaba intentando jalarla de otra muy diferente...

Pero ya lo corregí y que crees ??!! Funciona perfecto !!!

De nuevo una disculpa y muchas gracias por tus respuestas
Vale, despreocupate, esas son cosas que nos suceden de vez en cuando , bye.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
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
mostrar registros repetidos jmlifi SQL 3 20-10-2011 21:15:50
Mostrar los últimos 100 registros dade SQL 4 19-10-2006 04:22:45
Como mostrar los contenidos de registros valera Varios 10 01-05-2006 18:05:31
mostrar 15 registros por paginas alachaise PHP 7 22-10-2004 16:03:15
mostrar los registros chona Firebird e Interbase 5 27-07-2004 17:20:45


La franja horaria es GMT +2. Ahora son las 07:58:17.


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