Suche nach Fehlerbehebung mit SELECT-Query

31/03/2008 - 14:22 von Paul Aeschlimann | Report spam
Hallo zusammen

Ich habe das Problem, dass ich in einem HF keine Daten mehr bearbeiten
kann -> Recordset is not updateable. Das funktioniert nicht, weil ich
aus einem anderen HF komme und was in eben diesem HF, wo ich keine
Daten bearbeiten kann, im UF ist. Ich versuche mal, das genauer zu
erlàutern:

SQLString = "SELECT tRechnung.*, tKundendaten.*, tObjektdaten.* "
& _
"FROM tObjektdaten INNER JOIN ((tRechnung INNER JOIN
tObjektdatenRechnung ON tRechnung.rn_ID tObjektdatenRechnung.or_rn_ID) INNER JOIN (tKundendaten INNER JOIN
tKundendatenRechnung ON tKundendaten.kd_ID tKundendatenRechnung.kr_kd_ID) ON tRechnung.rn_ID tKundendatenRechnung.kr_rn_ID) ON tObjektdaten.od_ID tObjektdatenRechnung.or_od_ID " & _
"WHERE (((tObjektdatenRechnung.or_od_ID)= " & Form_fObjekte.od_ID
& "));"

Das ist der SQL-String, den ich aufrufe, wenn ich vom HF "Objekte"
komme. Nun möchte ich all die Rechnungen "tRechnung" anzeigen, die zu
diesem Objekt "Form_fObjekte.od_ID" gehören. Wie kann ich dieses
Problem nun umgehen d.h. einen Filter setzen, dass ich danach noch die
einzelnen Rechungen bearbeiten kann?

Grüsse Paul
 

Lesen sie die antworten

#1 Stefan Hoffmann
31/03/2008 - 14:34 | Warnen spam
hallo Paul,

Paul Aeschlimann schrieb:
Das ist der SQL-String, den ich aufrufe, wenn ich vom HF "Objekte"
komme.


Sieht erstmal gut aus. Die Verwendung von * ist aber kein guter Stil.

Nun möchte ich all die Rechnungen "tRechnung" anzeigen, die zu
diesem Objekt "Form_fObjekte.od_ID" gehören. Wie kann ich dieses
Problem nun umgehen d.h. einen Filter setzen, dass ich danach noch die
einzelnen Rechungen bearbeiten kann?


Ein Recordset muß die Felder, welche bearbeitet werden, eindeutig den
Tabellen zuordnen können, d.h. es muß anhand der Schlüsselinformationen
die Originaldatensàtze identifizieren können (key preserving).

Da du mit * arbeitest, heißt das die Schlüsselinformationen sind
vorhanden. Damit bleiben nur zwei Fehlerquellen:

- eine deiner Tabellen hat keinen Primàrschlüssel
- ein deiner JOIN-Bedingungen ist mehrdeutig

imho ist der JOIN auf Objektdaten das Problem.


mfG

Access-FAQ http://www.donkarl.com/
KnowHow.mdb http://www.freeaccess.de
Newbie-Info http://www.doerbandt.de/Access/Newbie.htm

Ähnliche fragen