PDA

View Full Version : ADO-Zugriff + RecordCount in VB liefert Fehler



JonnyRico
04-08-03, 13:11
Hallo,

ich habe ein Probelm mit dem ADO-Zugrif auf die AS/400. Der Eigentliche Zugriff funktioniert wunderbar und ich kann aus auch mit dem SQL-Statement arbeiten (Lesen) allerdings liefermit .RecordCount immer den Wert -1.

Code:

Option Explicit

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Command1_Click()

cn.Provider = "IBMDA400"
cn.ConnectionString = "Data Source=S44G1888"
cn.Open

With rs
.LockType = adLockReadOnly
.CursorType = adOpenKeyset
.Open "SELECT * FROM BDLERN.YBOD", cn
End With

rs.MoveLast

MsgBox rs.RecordCount

End Sub

Kann mir jemand sagen was ich falsch mache oder einen Tip geben was zu tun ist? Vielen Dank im Voraus.

mfg

Sascha

Fuerchau
04-08-03, 13:18
RecordCount wird von IBMDA400 nicht unterstützt:

-1 = Sätze vorhanden
0 = keine Sätze vorhanden

Wenn ich tatsächlich mal die Anzahl Sätze benötige muss ich den Select anders gestalten:

with
xMySelect as (select ........)
,
xMyCount as (select count(*) as xMyCount from xMySelect)

select *
from xMySelect, xMyCount


Dadurch erhalte ich in jedem Satz ein zusätzliche Feld "xMyCount" das die Anzahl der Sätze enthält.

JonnyRico
04-08-03, 13:30
Hey,

danke für die schnelle Hilfe. Dann muss es mit Count in SQL gehen. Ich braucht die Anzahl der Sätz für .Max bei der ProgressBar, aber wenn es mit Count geht dann hab ich ja kein Problem. Also noch mal vielen Dank.

mfg

Sascha