Fehler bei CurrentDb.Execute

08/07/2013 - 15:16 von Achim Jäkel | Report spam
Hallo liebe Newsgroup,

ich habe mal wieder einen kleinen Fehler, deren Lösung ich selber nicht finde.

Ich habe ein Formular, welches auf einer Abfrage basiert und ein Unterformular besitzt.

Alle Daten sind in einer ORA-DB gespeichert. Soweit so gut.
Dieses Formular soll die Pflege von Gutscheinen ermöglichen. Daran beteiligt sind 3 Tabellen:

Gutscheine
Gutscheinaktionen
Zuordnungstabelle Gutscheine zu Gutscheinaktionen

Alle 3 Tabellen haben in Oracle einen PK (RECNO).

In meinem Formular Gutschein habe ich ein Unterformular (Endlos) eingebunden, welches mir alle Zuordnungen dieses Gutscheins zu den Gutscheinaktionen in Tabellenform anzeigt.

Im Hauptformular habe ich 2 Buttons:
- Gutscheinaktion zuordnen
- Zuordnung löschen

Ersteres klappt bereits ohne Probleme.

Beim Klicken des Buttons um die Zuordnung zu löschen, sagt mir Access dauernd:
"Datentypen in Kriterienausdruck unvertràglich."

Hörte sich für mich erstmal einfach an - ich dachte, dass ich irgendwo einen Datentypen evtl. falsch deklariert habe. Hab ich aber glaube ich nicht.

Habe auch schon debuggt. Die Variable sSQL enthàlt eine gültige SQL-Anweisung, die ohne Probleme auf der Oracle Datenbank ausgeführt werden kann. Alle anderen Variablen werden auch mit den korrekten Werten befüllt. Beispiel:

DELETE FROM SELLIGENT_KUBI_SEL_GS2GSAKTION WHERE RECNO = 86

Das passiert beim Klick-Ereignis:

Dim nRecno As Integer
Dim sSql As String
Dim sKriterien As String
Dim nGutschein As Integer
Echo False
nGutschein = [Forms]!frm_gutscheine.RECNO
nRecno = Forms!frm_gutscheine!subfrm_gs2gsaktion!RECNO.Value
sSql = ("DELETE FROM SELLIGENT_KUBI_SEL_GS2GSAKTION " _
& " WHERE RECNO = " & nRecno)
sKriterien = "[RECNO] = " & nGutschein
Select Case MsgBox("Wollen Sie diese Zuordnung wirklich löschen?", vbOKCancel, "Zuordnung löschen")
Case vbOK:
CurrentDb.Execute sSql, dbFailOnError
DoCmd.Requery
Forms!frm_gutscheine.Form.RecordsetClone.FindFirst sKriterien
Forms!frm_gutscheine.Form.Bookmark = Forms!frm_gutscheine.Form.RecordsetClone.Bookmark
End Select
Echo True

Sieht jemand von Euch das Problem?

Danke & liebe Grüße,
Achim
 

Lesen sie die antworten

#1 Karl Donaubauer
08/07/2013 - 17:44 | Warnen spam
Achim Jàkel wrote:
...
Alle 3 Tabellen haben in Oracle einen PK (RECNO).
...



Mit welchem Datentyp in Oracle und welchem in Access?

Beim Klicken des Buttons um die Zuordnung zu löschen, sagt mir Access
dauernd: "Datentypen in Kriterienausdruck unvertràglich."

Habe auch schon debuggt. Die Variable sSQL enthàlt eine gültige
SQL-Anweisung, die ohne Probleme auf der Oracle Datenbank ausgeführt
werden kann. Alle anderen Variablen werden auch mit den korrekten
Werten befüllt. Beispiel:

DELETE FROM SELLIGENT_KUBI_SEL_GS2GSAKTION WHERE RECNO = 86

Das passiert beim Klick-Ereignis:

Dim nRecno As Integer
...
sSql = ("DELETE FROM SELLIGENT_KUBI_SEL_GS2GSAKTION " _
& " WHERE RECNO = " & nRecno)



Funktioniert es, wenn du hier sowas ausführst, also die Zahl als Konstante
im String:

sSql = ("DELETE FROM SELLIGENT_KUBI_SEL_GS2GSAKTION " _
& " WHERE RECNO = 86")

?

...
CurrentDb.Execute sSql, dbFailOnError
...



Servus
Karl
*********
Access-FAQ: http://www.donkarl.com + AEK16
Access-Entwickler-Konferenz, 28/29.9. Nürnberg, 19/20.10. Hannover

Ähnliche fragen