![]() |
Datenbank: Firebird • Version: 2.5.4 • Zugriff über: IBO
Access Datenbank Parameters.ParamByName
Hallo,
ich möchte eine Access Tabelle öffnen: SELECT Sum(GesamtHonorar) as Summe from Behandlungsleistungen where Behandlung = :ID
Delphi-Quellcode:
Beim Open kommt diese Meldung:
MainMod.Behandlungssumme.Close;
MainMod.Behandlungssumme.Parameters.ParamByName('ID').Value := MainMod.Behandlungen.FieldByName('ID').Value; MainMod.Behandlungssumme.Open; EOleException mit Meldung '[Microsoft][ODBC-Treiber für Microsoft Access]Ungültiger Genauigkeitswert'. Habe das eigentlich in Delpi 2007 immer so gemacht. Hat sich in DXE2 da was geändert oder wieso kommt diese Meldung und wie mach ich es dann richtig. Danke für Eure Hilfe |
AW: Access Datenbank Parameters.ParamByName
"ich möchte eine Access Tabelle öffnen:" - Und oben steht Firebird?
Und ODBC? Geht du wirlich über den Umweg ODBC statt über dbGO direkter auf die DB zuzugreifen? |
AW: Access Datenbank Parameters.ParamByName
Hi,
was jetzt? Firebird oder Access? ODBC oder IBO?? wenn ODBC mit Access dann das hier mal versuchen:
Code:
SELECT Sum(GesamtHonorar) as Summe from Behandlungsleistungen where Behandlung = ?; MainMod.Behandlungssumme.Close; MainMod.Behandlungssumme.Parameters.Items[0].Value := MainMod.Behandlungen.FieldByName('ID').Value; MainMod.Behandlungssumme.Open; |
AW: Access Datenbank Parameters.ParamByName
Unter der Voraussetzung, dass "ID" numerisch ist, kannst du folgendes Versuchen:
Delphi-Quellcode:
Die Benutzung von ".value" ist dasselbe, wie ".AsVariant", was auch aus Performance-Sicht nicht optimal ist.
MainMod.Behandlungssumme.Close;
MainMod.Behandlungssumme.Parameters.ParamByName('ID').AsInteger := MainMod.Behandlungen.FieldByName('ID').AsInteger; MainMod.Behandlungssumme.Open; Wenn du zum Beispiel in deiner Tabelle "Behandlungen" keine Ergebnis hast, bekommst du für Value ein "Null". Bei AsInteger bekommt man in dem Fall eine "0" geliefert. |
AW: Access Datenbank Parameters.ParamByName
Danke Lemmy so hat es geklappt.
|
AW: Access Datenbank Parameters.ParamByName
Evtl. ist auch die berechnete Summe größer als die Felddefinition zulässt.
|
AW: Access Datenbank Parameters.ParamByName
Jetzt würde mich noch interessieren warum?
Eigentlich sollte es ja egal sein ob ich über den Index oder den Namen zugreife, eigentlich oder haben wir hier wieder einmal ein ganz besonderes Feature von Access vor uns? Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz