verknüpfte Oracle-Tables in Form öffnen und ändern

Hallo Forum,

ich habe ein Formular, in dem ich eine Liste mit den angelegten Tabellen anzeige. Ausgelesen habe ich die Tabellen-Namen aus der versteckten System-Tabelle „MSysObjecs“.

Neben der Listbox befindet sich ein weiteres Listenelement, in dem ich nun den Inhalt der angeklickten Tabellen anzeige. Das ganze mache ich mit QueryDefs. ---->Funktioniert!

Zum Problem:
Ich muß nun die verknüpften und im Formular im Listenelement angezeigten Oracle-Tabelleninhalte ändern können, nur weiß ich leider nicht wie das gehen soll.

Weiß jemand eine Lösung für dieses kleine aber feine Problemchen?

Vielen Dank im Voraus und beste Grüße aus dem schönen Köln!

Ich muß nun die verknüpften und im Formular im Listenelement
angezeigten Oracle-Tabelleninhalte ändern können, nur weiß ich
leider nicht wie das gehen soll.

Hallo,

Du müßtest doch auf die verlinkten Tabellen wie auf jede andere Tabelle ganz normal auch zugreifen können, vorausgesetzt, daß der odbc-Treiber, der vermutlich benutzt wird, die Datenänderungen zuläßt/unterstützt…

Viele Grüße,
Franz , DF6GL

Hallo!

Erstmal vielen Dank für die schnelle Antwort. :smile:

Ja, auf die verlinkten Tabellen kann ich normal zugreiffen und kann auch in den Tabellen was ändern und speichern.

Ich schreibe aber gerade eine Anwendung die es mir ermöglichen soll, die Tabellen in dem einen Listenelement auszuwählen und in einer Subform die Tabelleninhalte anzuzeigen. Das funktioniert auch wunderbar und relativ schnell.

Nun möchte ich aber gerne die Tabelleninhalte, die in der Subform angehzeigt werden, ändern können. Das kriege ich momentan nicht hin, da ich nicht weiss, was ich noch am QueryDef anpassen soll.

Im QueryDef gebe ich den ODBC-Treiber mit dem entsprechenden User an und rufe dann die Query auf. Diese Query zeigt mir dann im Subform die Tabelleninhalte der Tabellen aus dem Listenelement an.

Frage:
Was muß ich am QueryDef noch ändern, um einen Schreibzugriff zu erlangen?

Wäre super klasse, wenn Du hierfür eine Idee hättest.

Besten Dank im Voraus und viele Grüße aus Köln.

Hallo,

Nun möchte ich aber gerne die Tabelleninhalte, die in der
Subform angehzeigt werden, ändern können. Das kriege ich
momentan nicht hin, da ich nicht weiss, was ich noch am
QueryDef anpassen soll.

Vermutlich sind die Form-Eigenschaften falsch eingestellt (Recordsettyp, Bearbeitung zulassen, etc).

Im QueryDef gebe ich den ODBC-Treiber mit dem entsprechenden
User an und rufe dann die Query auf. Diese Query zeigt mir
dann im Subform die Tabelleninhalte der Tabellen aus dem
Listenelement an.

Welche Querydefs (Abfragen)? Oben schreibst Du nur was von (verlinkten) Tabellen) Nimm einfach die Tabellenamen aus dem Listenfeld und weise die der Recordsource-Eigenschaft des Unterformular(-Steuerelementes) zu.

Viele Grüße,
Franz , DF6GL

Ja, ich mache im QueryDef nochmal nen Select-Statement auf die gewählte Tabelle.
Ist das falsch? Kann ich auch nur den Tabellennamen angeben?

Im SubForm habe ich angegeben, dass ich die Bearbeitung zulassen möchte. Die Eigenschaft habe ich auf „Ja“ gestellt.

Ich habe auch die Eigenschaft „Datensätze sperren“ auf „Nein“ gesetzt.

Damit wäre eigentlich alles getan, oder?

Es gibt doch bestimmt eine Eigenschaft im QueryDef, wie z.B. Editable oder Updateable oder sowas in der Art. Wenn ja, dann würde ich gerne wissen, wie ich diese Eigenschaft anspreche. Was muß ich also tun, um diese Eigenschaft zu aktivieren?

Meine QueryDef heißt „myquerydef“. :smile:

Herzlichen Dank im Voraus für die Antworten.

Viele Grüße aus Köln.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Ist das falsch? Kann ich auch nur den Tabellennamen angeben?

hab ich schon geschrieben…

Im SubForm habe ich angegeben, dass ich die Bearbeitung
zulassen möchte. Die Eigenschaft habe ich auf „Ja“ gestellt.

Ich habe auch die Eigenschaft „Datensätze sperren“ auf „Nein“
gesetzt.

Damit wäre eigentlich alles getan, oder?

es gibt noch ein paar weitere…

Es gibt doch bestimmt eine Eigenschaft im QueryDef, wie z.B.
Editable oder Updateable oder sowas in der Art. Wenn ja, dann
würde ich gerne wissen, wie ich diese Eigenschaft anspreche.
Was muß ich also tun, um diese Eigenschaft zu aktivieren?

In Deinem Fall ist das nicht Sache der Abfrage, eher die des ODBC-Treibers.

Meine QueryDef heißt „myquerydef“. :smile:

Besser wäre, Du würdest den SQL-String der Abfrage posten…

Wenn darin z. B. Berechnungen vorkommen, dann ist die Abfrage nicht aktualisierbar…

Viele Grüße,
Franz , DF6GL

Hallo,

Ist das falsch? Kann ich auch nur den Tabellennamen angeben?

hab ich schon geschrieben…

1::Im SubForm habe ich angegeben, dass ich die Bearbeitung

zulassen möchte. Die Eigenschaft habe ich auf „Ja“ gestellt.

Ich habe auch die Eigenschaft „Datensätze sperren“ auf „Nein“
gesetzt.

Damit wäre eigentlich alles getan, oder?

es gibt noch ein paar weitere…

Es gibt doch bestimmt eine Eigenschaft im QueryDef, wie z.B.
Editable oder Updateable oder sowas in der Art. Wenn ja, dann
würde ich gerne wissen, wie ich diese Eigenschaft anspreche.
Was muß ich also tun, um diese Eigenschaft zu aktivieren?

In Deinem Fall ist das nicht Sache der Abfrage, eher die des
ODBC-Treibers.

Meine QueryDef heißt „myquerydef“. :smile:

Besser wäre, Du würdest den SQL-String der Abfrage posten…

Wenn darin z. B. Berechnungen vorkommen, dann ist die Abfrage
nicht aktualisierbar…

Viele Grüße,
Franz , DF6GL

Der Select String ist ein einfaches „Select * from Tabelle WHERE x=y“

1.) „Tabelle“ wird aus einer Variablen geholt, die aus dem
Listenelement den Value abfängt.

2.) „x“ ist eine Variable, die sich den Value aus einem DLOOKUP(Value,
Tabelle, Kriterium=„STRING oder was auch immer“)

3.) „y“ ist ebenfalls eine Variable, die aus einem anderen
DLOOKUP(Value, Tabelle, Kriterium) stammt.

Ist also nichts weltbewegendes.

Ich habe auch ein Stop-Index gesetzt um die Variablen zu prüfen. Es wurde alles im Direktfenster ausgegeben, wie es sein soll.

Problem ist eben nur, dass ich im SubForm den Tabelleninhalt nicht ändern kann.

Gruß aus Köln,

Centauro