Hallo Access- freunde,
ich habe folgenden VBA- Code:
Private Sub Befehl19_Click()
Dim rs1 As Recordset
Dim rs2 As Recordset
Dim rs_a As Recordset
Dim z1, z2, zges As Integer
Dim db As Database
Set db = CurrentDb()
Set rs_a = db.OpenRecordset(„Gesamtauswertung“, dbOpenDynaset)
Set rs1 = db.OpenRecordset(„Abfr_Maschine1“, dbOpenDynaset)
rs_a.MoveFirst
Do Until rs_a.EOF
rs1.MoveFirst
Do Until rs1.EOF
If rs1!Arbeitsplatz = rs_a!Arbeitsplatz Then
z1 = rs1!Zeit
rs1.MoveLast
Else
rs1.MoveNext
End If
Loop
rs2.MoveFirst
Do Until rs2.EOF
If rs2!Arbeitsplatz = rs_a!Arbeitsplatz Then
z2 = rs2!Zeit
rs2.MoveLast
Else
rs2.MoveNext
End If
Loop
zges = (z1 + z2 ) / 60
rs_a.Edit
rs_a![Kapazität/ Arbeitstechnik] = zges
rs_a.Update
rs_a.MoveNext
Loop
MsgBox „Die Auswertung wurde aktualisiert!“, vbOKOnly
End Sub
So, un da ist das nur ein Auszug. Eigentlich sind das 24 solche Schleifen. Die Tabelle Gesamtauswertung enthält 90 Datensätze. Die Prozedur funktioniert zwar, dauert aber unendlich lang. Weiß jemand, wie man das auch verkürzt und schneller machen kann?
Viele Grüße von Beate