AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TADOQuery

Ein Thema von Walter Landwehr · begonnen am 31. Mai 2013 · letzter Beitrag vom 31. Mai 2013
Antwort Antwort
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#1

TADOQuery

  Alt 31. Mai 2013, 13:28
Datenbank: MSSql • Version: 8 • Zugriff über: TADOConnection
Hallo,

ich Habe in eriner TADOQuery folgenden SQL Befehl:

SELECT SUM(B.Soll) as SollBetrag, SUM(B.Haben) as HabenBetrag
FROM Konto K INNER JOIN
Buchung B ON B.DVKontonummer = K.DVKontonummer INNER JOIN
Beleg BL ON BL.DVBelegnummer = B.DVBelegnummer
WHERE (BL.Buchungsperiode Between '01-01-2012' and '31-03-2012')
and (BL.Belegart = 'ER'
or BL.Belegart = 'EG')
and K.Kontonummer = 81356
and B.InfoGegenkonto = '3425'

Der SQL Befehl funktioniert ohne Fehler.

Frage ich nun die Spalten SollBetrag und HabenBetrag folgendemaßen ab:

SuVorjahr.Value := modul.BuchungenQry.FieldByName('HabenBetrag').AsFl oat - modul.BuchungenQry.FieldByName('SollBetrag').AsFlo at;

bekomme ich die Meldung: Das Feld HabenBetrag wurde nicht gefunden.

Was mache ich da falsch?

Gruß Walter
Walter Landwehr
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: TADOQuery

  Alt 31. Mai 2013, 14:14
Vielleicht hast du vergessen die Query zu öffnen.
Ich würde empfehlen, den Code für die Berechnung in das Datenmodul zu legen:
Delphi-Quellcode:
function TModul.GetKontoBalance():Currency;
begin
  BuchungenQry.Close;
  BuchungenQry.open;
ShowMessage(BuchungenQry.FiledList.Text); // Alle Feldnamen anzeigen zu Debugzwecken
  Result := BuchungenQry.FieldByName('HabenBetrag').AsCurrency - BuchungenQry.FieldByName('SollBetrag').AsCurrency;
end;
Wenn dieser Code läuft, dann würde ich zusätzlich noch die Parameter wie Kontonummer, Buchungszeitraum dieser Funktion übergeben.

Zusätzlich ist zu beachten, dass alle Berechnungen mit Geldbeträgen mit dem Datentyp Currency ausgeführt werden sollten um Rundungsfehler zu vermeiden.
fork me on Github
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TADOQuery

  Alt 31. Mai 2013, 15:09
Hallo,

vielen Dank für die Antwort. Ich Trottel habe doch tatsächlich die Query mit ExecSQL ausgeführt anstatt sie zu öffnen.

Walter
Walter Landwehr
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz