Hi,
ich schreibe gerade ein Delphiprogramm und hänge an einer Datenbankabfrage. Ich lese aus einer Checklistbox die Rechnungsnummer aus und möchte dann den Pfand,Nettowarenwert,... brechnen. Da ich mehrere Rechnungen habe läuft alles in einer Schleife und die Ergebnisse werden für die spätere Verwendung in Stringlisten gespeichert.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58:
| query3.DatabaseName:=pfad1; query3.SQL.Text:='SELECT MW0,MW1,MW2 FROM '+mws1+' WHERE MAND="'+mandant+'"'; query3.open; nettoliste:=Tstringlist.Create; pfandliste:=Tstringlist.Create; mwsliste:=Tstringlist.Create; ebliste:=Tstringlist.Create; for i := 0 to checklistbox1.items.Count - 1 do begin if checklistbox1.checked[i] then begin betrag:=0; netto:=0; mwsteuer:=0; pfand:=0; items:=tstringlist.create; ExtractStrings([','], [], PChar(checklistbox1.items[i]), Items); query2.SQL.Text:='SELECT * FROM '+abe1+' WHERE RENR="'+items[2]+'" AND ART IS NOT NULL'; items.free; query2.open; while not query2.Eof do begin if (query2.FieldByName('AKZ').Value='W') OR (query2.FieldByName('AKZ').Value='C') then begin pfand:=pfand+query2.FieldByName('VP').Value; end else begin netto:=netto+query2.FieldByName('VP').Value; end; case query2.FieldByName('MWS').Value of 0: begin mwsteuer:=mwsteuer+(query2.FieldByName('VP').value * query3.fieldbyname('MW0').Value / 100); betrag:=betrag + query2.FieldByName('VP').value + (query2.FieldByName('VP').value*query3.fieldbyname('MW0').Value/100); end; 1: begin mwsteuer:=mwsteuer+(query2.FieldByName('VP').value*query3.fieldbyname('MW1').Value/100); betrag:=betrag + query2.FieldByName('VP').value + (query2.FieldByName('VP').value*query3.fieldbyname('MW1').Value/100); end; 2: begin mwsteuer:=mwsteuer+(query2.FieldByName('VP').value*query3.fieldbyname('MW2').Value/100); betrag:=betrag + query2.FieldByName('VP').value + (query2.FieldByName('VP').value*query3.fieldbyname('MW2').Value/100); end; end; query2.Next; end; query2.First; query2.close; nettoliste.Add(floattostr(netto)); pfandliste.Add(floattostr(pfand)); mwsliste.Add(floattostr(mwsteuer)); ebliste.Add(floattostr(betrag)); end; end; query3.close; |
Es gibt Probleme bei Query2. Die Abfrage liefert mir keine Datensätze zurück. Ich habe die Abfrage daraufhin 1:1 direkt an der Datenbank angewand und da gibt es Datensätze. Woran könnte das jetzt liegen das mir Delphi keine Datensätze bringt?