Hallo,
ich habe folgende function:
Delphi-Quellcode:
function TModul.GetKontoBalance(Anfang, Ende: String):Currency;
var Jahr,i : Integer;
Kontonummer : String;
begin
BuchungenQry.Close;
BuchungenQry.SQL.Clear;
Kontonummer := EmptyStr;
for i := 0 to dmMain.Memo1.Lines.Count - 1 do
begin
Kontonummer := Kontonummer + '''' + dmMain.Memo1.Lines[i] + '''' + ',';
end;
Kontonummer := Copy(Kontonummer, 0, Length(Kontonummer) - 1);[CODE][/CODE]
BuchungenQry.SQL.Add('SELECT SUM(B.Soll) as SollBetrag, SUM(B.Haben) as HabenBetrag ');
BuchungenQry.SQL.Add('FROM Konto K INNER JOIN ');
BuchungenQry.SQL.Add('Buchung B ON B.DVKontonummer = K.DVKontonummer INNER JOIN ');
BuchungenQry.SQL.Add('Beleg BL ON BL.DVBelegnummer = B.DVBelegnummer ');
BuchungenQry.SQL.Add('WHERE (BL.Buchungsperiode Between :Anfang and :Ende) ');
BuchungenQry.SQL.Add(Format('and BL.Belegart in (%s, %s)',[QuotedStr('ER'),QuotedStr('EG')]));
BuchungenQry.SQL.Add(Format('and K.Kontonummer in (%s) ',[Kontonummer]));
BuchungenQry.SQL.Add(Format('and B.InfoGegenkonto in (%s, %s)',[QuotedStr('3425'),QuotedStr('3410')]));
BuchungenQry.Parameters.ParamByName('Anfang').Value := Anfang;
BuchungenQry.Parameters.ParamByName('Ende').Value := Ende;
BuchungenQry.Open;
Result := BuchungenQry.FieldByName('HabenBetrag').AsCurrency - BuchungenQry.FieldByName('SollBetrag').AsCurrency;
BuchungenQry.Close;
end;
den Aufruf mache ich so:
Delphi-Quellcode:
Anfang := '01-01-2012';
Ende := '31-12-2012';
SuVorjahr.Value := TModul.GetKontoBalance(Anfang, Ende);
es kommt die Meldung:
[DCC Fehler] Einkauf.pas(97): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt
Was mache ich hier falsch?
Walter