var
CB_Seizoen: TDBLookupComboBox;
DS_Straffen: TDataSource;
DS_Seizoen: TDataSource;
TQ_Straffen: TSQLQuery;
TQ_Seizoen: TSQLQuery;
// These are alle present on your form.
procedure TForm_RapportStraffenOverzicht.FormShow(Sender: TObject);
var cSQL: string;
begin
cSQL := 'SELECT Seizoen AS Sei_ID, tbl_Seizoenen.Sei_Periode, Sei_Letter FROM qry_Overzicht_Evaluaties ' +
'INNER JOIN tbl_Seizoenen ON tbl_Seizoenen.SEI_ID = qry_Overzicht_Evaluaties.Seizoen ' +
'GROUP BY Seizoen ' +
'UNION SELECT 0, "(All)" As Sei_Periode, "ZZ" ' +
'FROM tbl_Seizoenen ' +
'ORDER BY Sei_Letter DESC;';
TQ_Seizoen.DataBase := Form_RefereeMain.Connect_RefereeDB;
TQ_Seizoen.SQL.Text := cSQL;
TQ_Seizoen.Active := True;
// setup TDBLookupCombobox
CB_Seizoen.ScrollListDataset := True;
CB_Seizoen.ListSource := DS_Seizoen;
CB_Seizoen.ListField := 'SEI_Periode';
CB_Seizoen.KeyField := 'SEI_ID';
CB_Seizoen.KeyValue := Form_RefereeMain.BepaalHuidigSeizoen; // Spring naar de actieve seizoen
cSQL := 'SELECT RS_ID, RS_Wed_ID, RS_Naam AS Name, RS_NIJB_ID AS [Union No.], RS_Funktie AS Function, ' +
'CASE WHEN RS_Straf=1 THEN "x" ELSE NULL END AS GMP, ' +
'CASE WHEN RS_Straf=2 THEN "x" ELSE NULL END AS MP, ' +
'CASE WHEN RS_Straf=3 THEN "x" ELSE NULL END AS Inc, ' +
'Team, StrFTime(' + SingleQuotedStr ('%d-%m-%Y') + ', Datum) AS Date, ' +
'StrFTime(' + SingleQuotedStr ('%H:%M') + ', Tijd) AS Time, ' +
'RS_Team, Datum, Tijd, Seizoen, qry_Teams.Divisie, ' +
'StrFTime(' + SingleQuotedStr ('%d-%m-%Y') + ', RS_Datum_Verstuurd) AS [Report Send] ' +
'FROM tbl_Rapport_Straffen ' +
'INNER JOIN qry_Overzicht_Wedstrijden ON qry_Overzicht_Wedstrijden.Wed_ID = tbl_Rapport_Straffen.RS_Wed_ID ' +
'INNER JOIN qry_Teams on qry_Teams.Team_ID = tbl_Rapport_Straffen.RS_Team ' +
'WHERE ((Seizoen=:Sei_ID) OR :Sei_ID=0) ' +
'ORDER BY Datum DESC, TIJD DESC, Team ASC, Name ASC';
TQ_Straffen.DataBase := Form_RefereeMain.Connect_RefereeDB;
TQ_Straffen.SQL.Text := cSQL;
TQ_Straffen.Params.ParamByName('Sei_ID').AsInteger := Form_RefereeMain.BepaalHuidigSeizoen;
TQ_Straffen.Active := True;
end;
procedure TForm_RapportStraffenOverzicht.CB_SeizoenSelect(Sender: TObject);
begin
if not TQ_Straffen.Active then exit;
TQ_Straffen.Active := False;
TQ_Straffen.Params.ParamByName('Sei_ID').AsInteger := CB_Seizoen.KeyValue;
TQ_Straffen.Active := True;
end; // CB_SeizoenChange