Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/10/2008, 11:41
Avatar de Kruzado
Kruzado
 
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 18 años, 2 meses
Puntos: 17
Respuesta: no encuentro mi solucion

amigazo, da lo mismo dao o ado.... si para crear un filtro de base de datos da lo mismo, manda el codigo donde abres tu base de datos y tu tabla.... ahi lo amononamos un poco y vemos que sale

para ordenar un poco la casa, estas repitiendo la misma condicion de busqueda dentro del ciclo

dsDetalleFactura.Recordset.FindFirst criterio (esta linea dentro del for)

lo que estas haciendo es cada vez que entra al ciclo estas buscando el primer registro que cumpla con el criterio, entonces SIEMPRE te va a encontrar el mismo registro (el primero), entonces por ejemplo si entra 3 veces al for, en tu grilla te va a mostrar 3 veces el mismo registro.... se entiende?, por eso te aconsejaba usar un ciclo while y recorrer la tabla.... ahora si quieres seguir ocupando tu ciclo for, reemplaza la linea anterior por :

dsDetalleFactura.Recordset.FindNext criterio

cada vez que pase por el ciclo busca el siguiente y no el primero

ahora tu ciclo for lo estas condicionando a la cantidad de lineas que tienes en tu grilla... que pasa si tu grilla tiene 2 lineas y una factura tiene 3 item?, el ultimo item se queda sin ser mostrado, porque recorre solo dos veces tu ciclo, entonces si quieres seguir utilizando el for, debes cambiar la condicion del for por una mas relacionada con la base de datos, por ejemplo la cantidad de registros de la tabla ej

for i=1 to dsDetalleFactura.Recordset.Recordcount

ahora estos son solo consejos, no quiere decir que te funcionen a la primera.... mira analiza y llega a una conclusion, si no puedes, nos avisas y saldremos adelante...

Última edición por Kruzado; 01/10/2008 a las 11:49