FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Error en Consulta - solo salen datos la primera vez
Hola
Tengo un problema con una consulta que hago, trabajo con Delphi 6 con Paradox y QuickReport, la consulta sale bien la primera vez pero cuando le doy el preview pero cuando regreso al formulario para cambiar opciones de la consulta me sale el reporte vacio y se q existe información por visualizar. Lo que he podido determinar es que se trata de las tablas temporales que creo dinamicamente para poder generar el reporte, una de las tres tablas que genero aparece como si no tuviera registros. Necesito una luz, para poder solucionar el problema, por que ya intente con refresh de las tablas o cerrar y volverarlas abrir y no se soluciona o a lo mejor no es eso. Gracias de antemano por la atención. Javier Villa |
#2
|
||||
|
||||
Sino pones algo del código que supuestamente te da el error, dificilmente se te va a poder ayudar.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Un Poco de codigo - Gracias por la atención
Gracias nuevamente por la ayuda este es el codigo principal:
Bueno Trabajo con DataMulo que seria Dm y 3 tablas temporales que creo dinamicamente, luego la relaciono
|
#4
|
||||
|
||||
¿Un poco?
Si pones así tu código, dudo que alguien te ayude... Sería mejor que pusieras solo la parte donde haces la consulta. Es decir, la sentencia SQL que utilizas y como la utilizas, creo que con eso sería suficiente. Sin ofender, pero yo nisiquiera me moleste en leerlo.
__________________
Última edición por ContraVeneno fecha: 24-01-2006 a las 00:46:53. |
#5
|
||||
|
||||
Saludos
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#6
|
|||
|
|||
Sorry por la cantidad
Basicamente asi lleno una tabla
------------------------------------------------------- Dm.TrabajoQuery.Close; Dm.TrabajoQuery.SQL.Clear; Dm.TrabajoQuery.SQL.Add(Sentencia+Filtro+Orden); Dm.TrabajoQuery.Active := true; if Dm.TrabajoQuery.RecordCount > 0 then begin self.CreandoTemporal; Dm.TrabajoQuery.First; id := 1; while not Dm.TrabajoQuery.Eof do begin Dm.TempDetTable.Append; Dm.TempDetTable.FieldValues['Id_Temp'] := Id; Dm.TempDetTable.FieldValues['Id_Kardex'] := Dm.TrabajoQuery.FieldByName('Id_Kardex').AsInteger; Dm.TempDetTable.FieldValues['Id_Producto'] := Dm.TrabajoQuery.FieldByName('Id_Producto').AsInteger; Dm.TempDetTable.FieldValues['Id_Cliente'] := Dm.TrabajoQuery.FieldByName('Id_Cliente').AsInteger; Dm.TempDetTable.FieldValues['Fecha'] := Dm.TrabajoQuery.FieldByName('Fecha').AsDateTime; Dm.TempDetTable.FieldValues['TipoMovimiento'] := Dm.TrabajoQuery.FieldByName('TipoMovimiento').AsBoolean; Dm.TempDetTable.FieldValues['Lote'] := Dm.TrabajoQuery.FieldByName('Lote').AsString; Dm.TempDetTable.FieldValues['Observaciones'] := Dm.TrabajoQuery.FieldByName('Observaciones').AsString; Dm.TempDetTable.FieldValues['OrdenCompra'] := Dm.TrabajoQuery.FieldByName('OrdenCompra').AsString; Dm.TempDetTable.FieldValues['ProductoLote'] := Dm.TrabajoQuery.FieldByName('Id_Producto').AsString+Dm.TrabajoQuery.FieldByName('Lote').AsString; Dm.TempDetTable.FieldValues['PesoNeto'] := Dm.TrabajoQuery.FieldByName('PesoNeto').AsFloat; Dm.TempDetTable.FieldValues['Id_Proveedor'] := Dm.TrabajoQuery.FieldByName('Id_Proveedor').AsInteger; Dm.TempDetTable.FieldValues['Serie'] := Dm.TrabajoQuery.FieldByName('Serie').AsString; Dm.TempDetTable.FieldValues['Numero'] := Dm.TrabajoQuery.FieldByName('Numero').AsString; Dm.TempDetTable.FieldValues['Id_Parametro_tc'] := Dm.TrabajoQuery.FieldByName('Id_Parametro_tc').AsInteger; Dm.TempDetTable.Post; id := id + 1; Dm.TrabajoQuery.Next; end; ---- Y Asi la creo -------------- Dm.TempCabTable.Close; Dm.TempCabTable.TableType := ttParadox; Numero := 1; MiTabla := '_TEMP_'; lencontro := false; while lencontro=false do begin Dm.TempCabTable.TableName := MiTabla+Trim(IntToStr(Numero)); if Dm.TempCabTable.Exists then Numero := Numero + 1 else lencontro := true; end; with Dm.TempCabTable.FieldDefs do begin Clear; Add('Id_Temp', ftInteger, 0, True); Add('ProductoLote', ftString, 30, true); Add('Id_Cliente', ftInteger, 0, FALSE); Add('Id_Producto', ftInteger, 0, FALSE); Add('Lote', ftString, 80, FALSE); Add('Saldo', ftFloat, 0, FALSE); end; Dm.TempCabTable.Exclusive := true; Dm.TempCabTable.IndexDefs.Clear; with Dm.TempCabTable.IndexDefs.AddIndexDef do begin Name := ''; Fields := 'Id_Temp'; Options := [ixPrimary]; end; with Dm.TempCabTable.IndexDefs.AddIndexDef do begin Name := 'Id_Producto'; Fields := 'Id_Producto'; end; ---------------------------------------- El problema es cuando quiero consultarlo por segunda vez, no me sale nada y tengo que salir del sistema para poder visualizarlo Gracias y mil disculpas por el monton de codigo, estoy tan sumergido en el programa que se me paso. Javier Villa |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Encabezado solo en la primera pag | Carlos Arevalo | Impresión | 2 | 01-12-2004 00:17:10 |
Borland Database engine, solo permite la lectura de bases de datos foxpro!!!?? | trp | Conexión con bases de datos | 1 | 01-04-2004 06:59:29 |
Base de datos de solo lectura | xerkan | Firebird e Interbase | 5 | 23-03-2004 19:04:57 |
como hacer una consulta a dos bases de datos distintas | yavy | SQL | 2 | 16-12-2003 20:51:30 |
un tEdit que sólo tome datos de tipo integer? | Giniromero | Conexión con bases de datos | 9 | 25-09-2003 17:04:54 |
|