Problem mit Recordset-DB-Zugriff

27/05/2008 - 12:58 von Karl M. | Report spam
Hallo NG!

In meinem Code greife ich über eine Access2003-VBA auf die DB zu. Leider
jedoch gibt mir RS.RecordCount nach dem RS.Open immer nur 0 zurück, obwohl
ich geprüft weiß, dass Datensàtze vorhanden sein müssten. Folgenden Code
habe ich gebastelt:



Dim RS As ADODB.Recordset

Set RS = New ADODB.Recordset
Call RS.Open(SQL, CurrentProject.Connection, adOpenKeyset,
adLockOptimistic)

ReDim Arr(RS.RecordCount, RS.Fields.Count - 1)

j = 0
For i = 0 To RS.Fields.Count - 1
Arr(j, i) = RS.Fields(i).Name
Next
While Not RS.EOF
For i = 0 To RS.Fields.Count - 1
Arr(j + 1, i) = RS.Fields(i)
Next
RS.MoveNext
j = j + 1
Wend

RS.Close



Ist da ein Fehler drin?

Mit freundlichen Grüßen
 

Lesen sie die antworten

#1 Karl M.
27/05/2008 - 13:34 | Warnen spam
Hallo nochmal,


Dim RS As ADODB.Recordset

Set RS = New ADODB.Recordset
Call RS.Open(SQL, CurrentProject.Connection, adOpenKeyset,
adLockOptimistic)

ReDim Arr(RS.RecordCount, RS.Fields.Count - 1)

Ist da ein Fehler drin?




ich habe noch etwas anzumerken. Ich habe 2 SQLs. Beide greifen auf dieselbe
Tabelle zu. Der Unterschied ist, dass die eine eine WHERE-Klausel hat und
die andere nicht. Beide geben 1 Datensatz zurück. Die ohne WHERE
funktioniert, die andere gibt nichts zurück, wenn ich die SQLs durch das
Recordset laufen lasse.

Wenn ich nun aber die SQLs in einem normalen Access-Abfragefenster ausführe,
bekomme ich bei beiden jeweils einen Datensatz.

Hat jemand eine Idee?

Mit freundlichen Grüßen

Ähnliche fragen