Bearbeitbare MySql-Abfrage als Formulardatenquelle

14/04/2009 - 18:44 von Georg Matejka | Report spam
Hallo,
gibt es eine Möglichkeit eine per Odbc eingebundene MySql-Abfrage als
bearbeitbare Datenquelle für ein Formular zu verwenden?

Problem:
Beim Speichern des aktuellen Datensatzes im Formular kommt es zu einem
'Schreibkonflikt' (Ein anderer Benutzer...).
Wenn ich zu Testzwecken als Formular-Datenquelle statt der Abfrage die
der Abfrage zu Grunde liegende Tabelle verwende (durch die Abfrage
werden nur die Datensàtze auf den aktuellen Benutzer eingeschrànkt),
funktioniert das Speichern. Der direkte Zugriff auf diese Tabelle soll
spàter im Echtbetrieb jedoch nicht möglich sein, weil der Benutzer eben
nur 'seine' Datensàtze sehen können soll.

Die Abfrage erscheint nach dem Einbinden so wie jede eine eingebundene
'normale' MySql-Tabelle. Nachdem ich mit 'CREATE UNIQUE INDEX...' einen
eindeutigen Index auf den ursprünglichen Primàrschlüssel hinzugefügt
habe, ist sie auch bearbeitbar, vor dem Update kommt es jedoch zum
erwàhnten Schreibkonflikt. Die Syntax der Abfrage ist 'SELECT * FROM
Urspr_Tabl WHERE BenutzerName = FCT_user()'.

Warum meldet Access beim Zugriff auf die Abfrage den Schreibkonflikt,
beim direkten Zugriff auf die Tabelle jedoch nicht?

Einer meiner Lösungsansàtze war, das Formular über ein DAO- oder
ADO-Recordset zur Laufzeit an die Abfrage zu binden. Unter anderem habe
ich mit der "Update Criteria"-Eigenschaft des ADO-Recordsets
herumexperimentiert, insgesamt ohne Erfolg.

Ich könnte den Datensatz auch vor dem Bearbeiten in eine Lokale Tabelle
kopieren und nach dem Update durch den Benutzer am Server aktualisieren.
Was mir nicht sonderlich gefàllt.

Hoffentlich hat jemand eine bessere Idee ;-),
Georg
 

Lesen sie die antworten

#1 Stefan Hoffmann
14/04/2009 - 19:07 | Warnen spam
hallo Georg,

Georg Matejka schrieb:
Beim Speichern des aktuellen Datensatzes im Formular kommt es zu einem
'Schreibkonflikt' (Ein anderer Benutzer...).


Im Regelfall liegt es daran, das ein ungenauer Datentyp zu
Rundungsfehlern führt.

Auch oft gesehen: Ist der MySQL-Treiber aktuell?

Die Abfrage erscheint nach dem Einbinden so wie jede eine eingebundene
'normale' MySql-Tabelle. Nachdem ich mit 'CREATE UNIQUE INDEX...' einen
eindeutigen Index auf den ursprünglichen Primàrschlüssel hinzugefügt


Du solltest auf die verknüpfte Abfrage einen Primàrschlüssel legen,
nicht nur einen eindeutigen Index.

Warum meldet Access beim Zugriff auf die Abfrage den Schreibkonflikt,
beim direkten Zugriff auf die Tabelle jedoch nicht?


Teste mal mit Primàrschlüssel...


mfG

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

Ähnliche fragen