Access-DB - ReadOnlyQuery
Daniel
- datenbank
0 Lude0 Ilja0 Daniel0 Axel Richter0 Daniel
0 H-P Ortner0 Daniel
Hallo zusammen
Ich habe eine Access-DB. Via ODBC greife ich auf eine externe Datenbank zu, auf welcher ich nur Leserechte habe. Diese Tabelle habe ich als "Linked Table" in der DB aufgeführt und beinhaltet Personaldaten. Nun habe ich ein Query erstellt, welches Daten aus dieser ODBC-Quelle und Daten aus Access-Tabellen, welche weitere Personaldaten enthalten, verknüpft.
Ein Formular, welches diese Daten nun anzeigen soll, greift auf dieses Query zu. Öffne ich nun das Formular, kann ich keine neuen Datensätze anfügen! (Was eigentlich logisch ist wenn ich in der einen Tabelle keine Schreibrechte besitze)
Ich dachte das sollte funktionieren wenn ich keine Tabellenbeziehung definiere, doch es ist einfach nicht möglich, weitere Daten per Formular einzugeben. Weiss jemand was ich da machen könnte?
Besten Dank für eure Hilfe
Gruss Daniel
Hi,
Ich dachte das sollte funktionieren wenn ich keine Tabellenbeziehung definiere, doch es ist einfach nicht möglich, weitere Daten per Formular einzugeben. Weiss jemand was ich da machen könnte?
welche(s) SQL-Statement(s) wird denn wohin abgesetzt?
Gruss,
Lude
hi Daniel,
tabellenbeziehungen (contraints) sind dafür da, um die referientielle integrität sicherzustellen. demzufolge scheitert eine eingabe, löschung oder änderung der daten, wenn diese verletzt wird. das hat aber mit deinem problem so direkt erst einmal wenig zu tun. wenn du die daten auch physisch an der quelle ändern willst, dann wird das ohne schreibrechte nichts werden.
es gibt vielleicht eine möglichkeit das ein wenig zum umgehen. da die ein tabelle von dir (access) kommt, wäre mein erster gedanke, sie dort einzutragen. also ein zweites formular, dass sich nur auf deine tabelle bezieht. kommt aber auch immer deine fall an, ob es sinn macht.
Ilja
Ich möchte die Daten in dieser schreibgeschützten Datenbank auch nicht ändern. (In dieser Datenbank sind z.B. Personalnummer, Name und Vorname.)
In meiner Access-Datenbank hat es ebenfalls ein Feld Personalnummer und ZUSÄTZLICHE ANGABEN. Wird das Formular geöffnet, werden die Name und Vorname aus dieser schreibgeschützten Datenbank gelesen und mit einem JOIN-Query zusammengefügt.(Name und Vorname dienen also nur zur Information). Nun möchte ich einen neuen Datensatz mit ZUSÄTZLICHEN ANGABEN erstellen (ich möchte also Name und Vorname nicht abändern!) doch die Schaltfläche ist inaktiv.
Hallo,
Ich möchte die Daten in dieser schreibgeschützten Datenbank auch nicht ändern. (In dieser Datenbank sind z.B. Personalnummer, Name und Vorname.)
In meiner Access-Datenbank hat es ebenfalls ein Feld Personalnummer und ZUSÄTZLICHE ANGABEN. Wird das Formular geöffnet, werden die Name und Vorname aus dieser schreibgeschützten Datenbank gelesen und mit einem JOIN-Query zusammengefügt.(Name und Vorname dienen also nur zur Information). Nun möchte ich einen neuen Datensatz mit ZUSÄTZLICHEN ANGABEN erstellen (ich möchte also Name und Vorname nicht abändern!) doch die Schaltfläche ist inaktiv.
Dann brauchst Du keinen INNER JOIN, sondern einen OUTER JOIN, also alle Datensätze aus Deiner ZUSÄTZLICHEN ANGABEN-Tabelle und nur die Felder aus der Personal-Tabelle, für welche die Join-Bedingung zutrifft. Im Access kann man das durch Doppelklick auf die Verbindungslinie zwischen den Tabellen in der Abfrage-Entwurfsansicht einstellen.
viele Grüße
Axel
...ich benutze ein Right-Join, da nicht unbedingt alle Datensätze aus meiner ZUSÄTZLICHE ANGABEN Tabellen eine Personalnummer enthalten müssen. In diesem Fall soll der Datensatz aus ZUSÄTZLICHE ANGABEN trotzdem ausgegeben werden...
Aber ich kann immernoch keinen neuen Datensatz erstellen:-)
Hallo Daniel!
Ich habe eine Access-DB. Via ODBC greife ich auf eine externe Datenbank zu, auf welcher ich nur Leserechte habe. Diese Tabelle habe ich als "Linked Table" in der DB aufgeführt und beinhaltet Personaldaten. Nun habe ich ein Query erstellt, welches Daten aus dieser ODBC-Quelle und Daten aus Access-Tabellen, welche weitere Personaldaten enthalten, verknüpft.
Ein Formular, welches diese Daten nun anzeigen soll, greift auf dieses Query zu. Öffne ich nun das Formular, kann ich keine neuen Datensätze anfügen!
Weiss jemand was ich da machen könnte?
Kennst Du Unterformulare also Formulare die in in einem anderen Formular eingebettet sind?
Deine Aufgabe würde ich wie folgt lösen:
Erstellen einer Abfrage die nur Deine Tabelle enthält.
In der Abfrage sollte auch das Feld für die Verknüfung zu den Personendaten enthalten sein.
Für dieses Abfrage erstellst Du dann ein Formular.
In dem Formular sollte das Feld für die Verknüfung mit den Personaldaten ein Nachschlagefeld sein.
Dort kann man dann die Person auswählen.
In einem Unterformular sollten dann die Personendaten angezeigt werden.
Viele Grüße
H-P Ortner
Das ist eine gute Idee!
Danke & Gruss Daniel