Hallo,
ich versuche ein SevGrid mit Daten zu füllen, bekomme aber bei der Zuweisung des Recordsets den Fehler:
3251 - Das aktuelle Recordset unterstützt keine Lesezeichen. Hierbei handelt es sich möglicherweise um eine Einschränkung seitens des Providers oder des gewählten Cursortyps.
Hier mal mein Code:
'Abteilungen
sSql = "SELECT wf_instance.id, Codetabelle.text1 AS bez, " & _
"wf_instance.i1,wf_instance.i1_action," & _
"wf_instance.i2,wf_instance.i2_action, " & _
"wf_instance.i3,wf_instance.i3_action, " & _
"wf_instance.i4,wf_instance.i4_action, " & _
"wf_instance.i5,wf_instance.i5_action " & _
"FROM wf_instance LEFT OUTER JOIN Codetabelle ON" & _
"wf_instance.grund_id = Codetabelle.cdID " & _
"WHERE (wf_instance.grund_id > 0)"
'Grid füllen
rs.Open sSql, connSDB, adOpenStatic, adLockReadOnly
If Not rs.EOF Then
With Me.sevGrid
.LockUpdate True
.BackColorOdd = vbWhite
Set .Recordset = rs 'Hier kommt der Fehler ...
.LockUpdate False
.Columns(1).Caption = "id"
.Columns(1).Visible = False
.Columns(2).Caption = "Grundzuordnung"
.Columns(3).Caption = "Instanz 1"
.Columns(3).ColType = TYPE_COMBOLIST Or TYPE_IMAGE
.Columns(4).Caption = "i1_action"
.Columns(4).Visible = False
.Columns(5).Caption = "Instanz 2"
.Columns(5).ColType = TYPE_COMBOLIST Or TYPE_IMAGE
.Columns(6).Caption = "i2_action"
.Columns(6).Visible = False
.Columns(7).Caption = "Instanz 3"
.Columns(7).ColType = TYPE_COMBOLIST Or TYPE_IMAGE
.Columns(8).Caption = "i3_action"
.Columns(8).Visible = False
.Columns(9).Caption = "Instanz 4"
.Columns(9).ColType = TYPE_COMBOLIST Or TYPE_IMAGE
.Columns(10).Caption = "i4_action"
.Columns(10).Visible = False
.Columns(11).Caption = "Instanz 5"
.Columns(11).ColType = TYPE_COMBOLIST Or TYPE_IMAGE
.Columns(12).Caption = "i5_action"
.Columns(12).Visible = False
.CaptionVisible = False
.CaptionHeight = 20
.ColumnHeaderHeight = 15
.RowHeight = 18
.Columns(2).Width = 3000
.Columns(3).Width = 1500
.Columns(5).Width = 1500
.Columns(7).Width = 1500
.Columns(9).Width = 1500
.Columns(11).Width = 1500
.AllowEdit = True
.Columns(2).LockEdit = True
.Refresh
End With
End If
rs.Close Komischerweise passiert das ganze nur bei nem SQL2k, bei 2k5 und 2k8 funktionierts. Habe auf dem Datenbankrechner MSDE2000 installiert, auch gerade nochmal probiert über das SSMSEE den SQL String auf die Table auszuführen, funktinierte auch ohne Probleme.
An was kann das noch liegen - irgend jemand ne Idee?
mfg
Sebastian |