Hallo zusammen,

ich muss gleich vorweg sagen, dass ich noch neu auf dem Gebiet der Abfragen in VBA auf den AS/400 bin.

Habe dazu folgende Frage:

Wenn ich direkt aus VBA heraus auf eine AS/400 zugreife und das Selektionskriterium kein Indexiertes Feld auf der AS/400 ist, dann dauert die Abfrage ewig lange (ca. 6 Minuten bei einer Datei mit ca. 16 Mio Datensätzen).

Diese Abfrage sieht dann folgendermaßen aus:

__________________

Public Sub as400_Connect()

Dim MyConn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim DB As DAO.Database
Dim STR As String
Dim strFakturnummer as String

strFakturnummer = inputbox("Bitte geben Sie die Fakturnummer ein:")



Set DB = CurrentDb

Set MyConn = New ADODB.Connection
MyConn.Open "Provider=IBMDA400;Data Source=xxxx;", "xxxx", "xxxx"


Set rs = New ADODB.Recordset
Set rs.ActiveConnection = MyConn
Set DB = CurrentDb
With MyConn


sql = "SELECT * from FPRDDTA.LFSVHD13 where HDNFAK = "
& strFakturnummer

rs.Open sql

Do Until rs.EOF
Debug.Print rs.Fields("hdnauf")
rs.MoveNext
Loop
End With
rs.Close

End Sub

__________________

Gibt es eine oder mehrere Möglichkeiten, diese Abfrage in Access deutlich zu beschleunigen - vielleicht indem man das Feld über SQL irgendwie indexiert? Sicher haben Sie diverse Lösungsansätze parat.

Vielen Dank im voraus!

Grüße,
Wilfried