RunTime Error 13 Type Mismatch VBA Access 2007
Ich bin sicher, dies ist wahrscheinlich etwas einfaches, so entschuldige ich mich im Voraus. Das ist eigentlich meine erste Zeit jemals schreiben von VBA, und ich habe ein problem, welches ich einfach nicht bekommen kann meinen Kopf herum, wie zu beheben. Ich habe gesucht und versucht mehrere Dinge, aber immer noch das gleiche problem trotz alles versuche ich.
Ich bin einfach zu öffnen eine neue Datensatzgruppe und füllt es mit Werten aus einer anderen Tabelle, die mit SQL abrufen der Werte aus dem recordset, dann wird die Beschriftung auf einigen Etiketten auf meine form. Mein code:
Dim oconStudents As ADODB.Connection
Dim orsStudents As ADODB.Recordset
Dim strStudentsSQL As String
Set oconStudents = CurrentProject.AccessConnection
Set orsStudents = New ADODB.Recordset
Set strGetCustIDSQL = _
"SELECT [CustomerID] FROM [Students Classes] WHERE [Class ID] = " & _
Me.txtClassID.Value & ";"
orsStudents.Open strGetCustIDSQL, oconStudents, adOpenForwardOnly, _
adLockReadOnly, adCmdTable
With orsStudents
If Not orsStudents.EOF Then
lblStudent1.Caption = orsStudents.Fields.Item(0)
orsStudents.MoveNext
End If
End With
Ich dieses und ich bekommen einen Laufzeitfehler 13 mit dieser Zeile:
Set strGetCustIDSQL = _
"SELECT [CustomerID] FROM [Students Classes] WHERE [Class ID] = " & _
Me.txtClassID.Value & ";"
Ich kann nicht für das Leben von mir herauszufinden, warum. Führe ich das SQL in einer Abfrage, und es gibt meine Werte bei mir nicht richtig. Ich habe mich verändert die adCmdTable zu adCmdText und versucht, indem "#" Symbole, sowie eine Vielzahl von anderen Zeichen um die Mich.txtClassID.Wert Abschnitt des SQL-Strings. Fährt man über die SQL-Zeichenfolge, die ich sehen kann, die richtige "Class-ID =" Wert (in diesem Fall "2"), sondern schwebt über der SQL-string zeigt sich "=leer".
Was einfache Sache bin ich vernachlässigen, zu beachten?
Vielen Dank im Voraus für Eure Hilfe!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
Set
Teil des Auftrages für die Zeichenfolge ist nicht korrekt. Verwenden Sie nurSet
für Objekte (z.B. ADODB-Objekte). Primitive Datentypen (string, integer, etc.) verwenden Sie einfach die Belegung.d.h.
Außerdem glaube ich nicht, das ";" ist gerade nötig bei der Ausführung von SQL ADODB.