Fehler in Klassenmodul

30/09/2009 - 10:20 von Andreas Gauer | Report spam
Hallo NG,

Ich habe folgendes Problem und komme einfach nicht weiter:

In einem Klassenmodul ist folgende SUB-Funktion:

Private Sub LoadLanguage()
Dim db As Database
Dim rs As Recordset
Dim sql As String
Dim x As Integer
Dim Msg As String

sql = "select Object, Element, Property, " & Mid(Language, 3) & " as Msg "
& vbCrLf _
& " from tblLanguageSettings where object ='" & pObject & "'"
Set db = CurrentDb
Debug.Print sql
Set rs = db.OpenRecordset(sql, dbOpenSnapshot)

If rs.RecordCount > 0 Then
For x = 1 To colMsg.count
colMsg.Remove (1)
Next

Do While Not rs.EOF
If IsNull(rs("Msg")) Or rs("Msg") = "" Then
Msg = "¿..?"
Else
Msg = Replace(rs("Msg"), " ", "ç")
End If
colMsg.Add Msg, UCase(rs("Object")) & UCase(rs("Element")) &
UCase(rs("Property"))
rs.MoveNext
Loop
End If
End Sub

An der Stelle "Set rs = db.OpenRecordset(sql, dbOpenSnapshot)" bricht das
Programm immer mit der Fehlermeldung "Laufzeitfehler 13 - Typen
unvertràglich" ab. Die Variable sql enthàlt folgenden Wert:

select Object, Element, Property, Deutsch as Msg
from tblLanguageSettings where object ='frmEingabeDispo'

Wenn ich diesen SQL-String in eine neue Abfrage einfüge und ausführe bekomme
ich ein Ergebnis, daran sollte es eigentlich dann auch nicht liegen.

Für Hilfe wàhre ich unendlich Dankbar, denn ich weis mittlerweile wirklich
nicht mehr weiter

Viele Grüße
Andreas
 

Lesen sie die antworten

#1 Mark Doerbandt
30/09/2009 - 10:30 | Warnen spam
Hallo, Andreas,

Andreas Gauer:

In einem Klassenmodul ist folgende SUB-Funktion:
...
Dim db As Database
Dim rs As Recordset
...
Set db = CurrentDb
...
Set rs = db.OpenRecordset(sql, dbOpenSnapshot)

An der Stelle "Set rs = db.OpenRecordset(sql, dbOpenSnapshot)" bricht das
Programm immer mit der Fehlermeldung "Laufzeitfehler 13 - Typen
unvertràglich" ab.



probiere mal statt Database und Recordset DAO.Database und
DAO.Recordset.

Gruss - Mark

Ähnliche fragen