I have some problems with this code, the Problem is that it dos not filter.
sql_string_default := 'SELECT * FROM MEMBER AS CABINET_G '+
‘WHERE (CABINET_G = ‘‘P’’) or (CABINET_G = ‘‘VP’’) or (CABINET_G = ‘‘CH’’) or (CABINET_G = ‘‘S’’) or (CABINET_G = ‘‘T’’)’;
ClientDataModule.RemoteDataAdapter.FillWithDASql(DM_reports.tbl_rep_member,sql_string_default);
These queries aren’t identical. Latter one (ie FibPlus one) contains one more condition. So depending on the actual data the DA SQL query could return entire table while FibOne results in just a couple of rows.
Could you upload to support@ a testcase database with like a dozen of rows from the MEMBER table?
I did not finde a way of doing that nor i found a Forum entry or Howto.
Maybe i missed that…
Just for Info: This was my solution before:
if camp_ident_part = ‘’ then
begin
sql_string_rep_camp := ‘SELECT * FROM CAMPS WHERE ( CITY IS NOT NULL ) ORDER BY CITY’;
end
else
begin
sql_string_rep_camp := ‘SELECT * FROM CAMPS WHERE ( CITY IS NOT NULL AND C_NO = ‘’’ + camp_ident_part + ‘’‘) ORDER BY CITY’;
end;
// FibPLus Dataset setup start:
with DM_reports.camps do
begin
close;
SelectSQL.Clear;
SelectSQL.Add (sql_string_rep_camp);
Open;
end;
//
with DM_reports.member do
begin
close;
SelectSQL.Clear;
SelectSQL.Add (‘SELECT * FROM MEMBER WHERE C_NO = ?C_NO AND (STAT_DEL CONTAINING ‘+‘0’+’) ORDER BY F_NAME’);
Open;
end;
// FibPLus Dataset setup end:
with DM_reports.frxReport do
begin
Variables.LoadFromFile(report_dir+‘/report_var.fd3’);
LoadFromFile(report_dir+‘/report_member.fr3’);
DM_reports.set_variables(Sender);
PreviewOptions.OutlineVisible := true;
PrepareReport;
ShowPreparedReport;
end;
And this is my test now:
if camp_ident_part = ‘’ then
begin
sql_string_rep_camp := ‘SELECT * FROM CAMPS WHERE ( CITY IS NOT NULL ) ORDER BY CITY’;
end
else
begin
sql_string_rep_camp := ‘SELECT * FROM CAMPS WHERE ( CITY IS NOT NULL AND C_NO = ‘’’ + camp_ident_part + ‘’‘) ORDER BY CITY’;
end;
sql_string_default := ‘SELECT * FROM MEMBER WHERE (STAT_DEL = ‘+’’‘0’‘’+‘) ORDER BY F_NAME’;
with DM_reports.frxReport do
begin
Variables.LoadFromFile(report_dir+‘/report_var.fd3’);
LoadFromFile(report_dir+‘/report_member.fr3’);
DM_reports.set_variables(Sender);
PreviewOptions.OutlineVisible := true;
PrepareReport;
ShowPreparedReport;
end;
end;
with DM_reports.tbl_rep_member, DynamicWhere do begin
Expression:=NewBinaryExpression(
NewBinaryExpression(NewField(LogicalName,‘STAT_DEL’),NewConstant(‘0’),dboEqual),
NewBinaryExpression(NewField(LogicalName,‘GIDEON_NO’),NewConstant(‘0’),dboGreater),
NewBinaryExpression(NewField(LogicalName,‘CERT_G’),NewConstant(‘False’),dboEqual),
dboAnd);
end;