Problem bei SQL Abfrage

Dusty00

Mitglied
Hy,

Ich arbeite zurzeit mit VB6 + Access! Ich bekomme leider bei folgendem Statement immer die Fehlermeldung: Laufzeitfehler 13 Typenunverträglich.

Code:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset


Status = "Reserviert"

rs.Source = "Select KontainerNrID as KOID from KontainerNr where Status= """ & Status & """ "
            
rs.Open rs.Source, conn, adCmdText

KONID = rs.Fields("KOID")

rs.Close

rs.Source = "Select ZahlungsID as ZHID from Kontainer where KontainerNrID= " & KONID & " "

rs.Open , rs.Source, conn, adCmdText

Bei der Rot eingefärbten Zeile bleibt er immer stehen! der Zahlenwert KONID wird im debug-modus auch korrekt angegeben!

Ich hoffe Ihr könnt mir helfen!

mfg

dust
 
Du hast da zimlich sicher nen " Fehler oder ' Fehler, einen String definierst du im SQL ja mit " ' &StringName & ' " ( Abstände zwischen ' und " weglassen), wobei du für nen Integer etc nur nen " &IntWert & " Benötigst. Oder was ich auch sehe, dein KOID stellt einen String dar, den du aber als Int setzt, Wandle also zuerst dein KOID noch in einen Int Wert um, bevor du
Code:
rs.Source = "Select ZahlungsID as ZHID from Kontainer where KontainerNrID...

Aufrufst.

mfg
ziop
 
Hallo, das geht auch etwas einfacher:
Code:
' Verweis auf Microsoft ActiveX Data Objects 2.x Library nicht vergessen !

Dim DB As ADODB.Connection
Dim RS As ADODB.Recordset


Private Sub Form_Load()
Dim Status As String
Dim SQL As String

Set DB = New ADODB.Connection

DB.CursorLocation = adUseClient
DB.Provider = "Microsoft.Jet.OLEDB.4.0"
DB.Open "d:\db1.mdb"

Set RS = New ADODB.Recordset

Status = "Reserviert"

SQL = "SELECT KontainerNr.KontainerNrID, Kontainer.ZahlungsID, KontainerNr.Status " & _
      "FROM KontainerNr INNER JOIN Kontainer ON KontainerNr.KontainerNrID = Kontainer.ZahlungsID " & _
      "WHERE (((KontainerNr.Status)= '" & Status & "'))"

RS.Open SQL, DB, adOpenDynamic, adLockOptimistic

End Sub
 
Zurück