PDA

Ver la Versión Completa : Fast report y Query


Kannon
14-01-2014, 17:34:05
Me gustaria saber como puedo usar el FastReport con un query puesto que siempre que lo he usado ha sido con un Table que en el fast report me sale automatico las columnas a imprimir pero no se como hacerlo con un query.

cloayza
14-01-2014, 19:45:43
Para tener disponible un set de datos al momento de diseñar un informe, requieres:

frxDBDataset con su propiedad Dataset apuntanto al TQuery o TTable.

Y por supuesto en caso de ser una consulta tener el script sql en el TQuery.

Luego desde el frxReport1 debes ir a "Informes->Datos" y seleccionar la fuente de datos frxDBDataset correspondiente, esto te habilitará los campos para el informe.

Espero haber sido claro.

Saludos cordiales

Galahad
14-01-2014, 19:49:58
No nos indicas si es un dataset interno (que figura en la pestaña 'data' del fast-report), o bien el query está fuera del report.
Si es el primer caso, simplemente arrastras un un ibxquery y le configuras la base de datos y la sentencia sql en las propiedades pertinentes.
En el segundo caso igual que con el ttable, deberias de tener un tfrxdbdataset asociado a dicha tabla, simplemente campia la propiedad 'dataset' al query
y ya está.
Espero te sirva, saludos...

Kannon
15-01-2014, 16:09:30
No nos indicas si es un dataset interno (que figura en la pestaña 'data' del fast-report), o bien el query está fuera del report.
Si es el primer caso, simplemente arrastras un un ibxquery y le configuras la base de datos y la sentencia sql en las propiedades pertinentes.
En el segundo caso igual que con el ttable, deberias de tener un tfrxdbdataset asociado a dicha tabla, simplemente campia la propiedad 'dataset' al query
y ya está.
Espero te sirva, saludos...

Tengo el fastrport, y el dataset apuntando al query1 que tambien esta alimentando un DBgrid, pero la sentencia del query se ejecuta en un evento de la forma ( OnMouseEnter ) que es el siguiente:

try{
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM prog_materias WHERE prog_id_programa='"+programaS->codigo+"'");
Query1->Active=true;
}
catch(...)
{
MessageDlg("Error de Base de datos",mtError,TMsgDlgButtons()<< mbOK,0);
return;
}


Al momento de entrar en el report y ver los datos, me aparece para escoger el database, pero dentro de el no hay ninguna columna para arrastrar al reporte. ese es el problema