PDA

Vollständige Version anzeigen : Schreibkonflikt bei Speichern


HaveNoIdea
22.03.2004, 14:44
Hallo zusammen,

ich habe ein Prob mit einem A2000 Frontend in Verbindung mit einem MS SQL Server. Die Tabellen vom Backend sind im Frontend per ODBC verknüpft.

Ich habe Artikel, Kostenstellen und Lieferanten, bei denen ich neue Daten erfassen , nur lesen oder ändern kann.
Der Schreibkonflikt besteht allerdings nur bei den Artikeln. Warum weiß ich auch nicht. Vom Code-Aufbau sind die nämlich ziemlich identisch - zumindest was das Speichern der Daten betrifft. Eine Neuerfassung geht ohne Problem.
Das interessante ist, dass ich der einzige bin, der Zugriff auf den SQL Server hat. Ich habe den Server neugestartet, Anwendung auch neu gestartet. Allerdings kam die Fehlermeldung immer wieder.

Wisst ihr vielleicht ne Lösung oder habt ihr eine Idee?

Wenn ich als Backend eine A2k DB nehme, kommt diese Fehlermeldung nicht. Der Code ist derselbe.


Case "Artikel ändern (Details)"

'DoCmd.Save acDefault
'Me.Refresh
DoCmd.Close acDefault, , acSaveNoCase "Artikel ändern (Details)"


Danke für eure Hilfe!

MfG,

HaveNoIdea

Arne Dieckmann
22.03.2004, 14:49
Liegt es vielleicht an einem Ja/Nein-Feld? S. dazu http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=104747

HaveNoIdea
22.03.2004, 15:39
@Arne

Erstmal danke für deinen Tip(p). Ich habe 2 Felder, die Bit-Felder sind. Bei beide waren NULL-Werte erlaubt. Wegen deines Tips bzw von cheerookee hatte ich dies verboten. Ich konnte auch die Tabelle ohne Probs speichern. Habe sogar als Standwerte 0 bei den beiden Spalten eingetragen. Außerdem habe ich eine kleine Überpürfung auf NULL-Werte eingebaut.


Case "Artikel ändern (Details)"

'DoCmd.Save acDefault
'Me.Refresh
rst2.Open "SELECT * FROM tbl_Artikel", db, adOpenKeyset, adLockPessimistic
If IsNull(rst2!Ausschluss_Bestandsliste) Then
DoCmd.RunSQL "UPDATE tbl_Artikel SET Ausschluss_Bestandsliste = 0 WHERE Artikel_ID = " & txt_Artikel_ID
End If

If IsNull(rst2!Löschung_vorgemerkt) Then
DoCmd.RunSQL "UPDATE tbl_Artikel SET Löschung_vorgemerkt = 0 WHERE Artikel_ID = " & txt_Artikel_ID
End If

DoCmd.Close acDefault, , acSaveNo
rst2.Close



Es kam aber wieder die Fehlermeldung. :-(

Im aufgerufenen Formular werden alle Daten angezeigt, die in der Tabelle enthalten sind. Ich weiß mom einfach nicht weiter.

Hatte ich denn bzgl. ds Tips alles richtig eingestellt? Wenn ihr weitere Fragen habt bzw. mehr Infos, stellt sie bitte einfach. Ich werde euch die Infos dann geben.

Danke,

HaveNoIdea

Arne Dieckmann
22.03.2004, 16:01
Wenn die Struktur geändert wurde, würde ich die Tabellen sicherheitshalber erneut einbinden.
Ausserdem sollte die Tabelle auch einen Primärschlüssel besitzen (aber das ist wohl der Fall). Wenn es dann immer noch nicht hinhaut, lege noch ein Timestamp-Feld an. Dann wieder erneut einbinden!