Hallo Franz,
Deine Annahmen sind soweit richtig.
Dim vItem As Variant ist einfach eine Variable, ich nehme an, sie dient dazu, ein bestimmtes Item (Objekt) aufzunehmen. neben Recordset gibt es diverse Items in einer Datenbank, z.b. Field (also ein Datensatzfeld) oder ein Tablespace (Speicherbereich), etc.
Wofür sie später benötigt wird, erfährt man erst durch die Zuweisung, also Set vItem = …!?
Die 5. Zeile ist die Zuweisung eines bestimmten Datenbankinhaltes zu dem noch leeren Datensatzobjekt (recordset rs). Hier wird rs mit inhalten gefüllt, nämlich mit dem Inhalt der Tabelle tblArtikel aus der Datenbank (tbl ist ein Prefix, welches in der Programmierung gerne für Tabelle verwendet wird (->Table)).
.OpenRecordset ist eine Methode, die eine Tabelle öffnet - auf gut Deutsch: Eine Select-Anweisung auf eine Tabelle, um den Inhalt auszugeben und in einem neuen Datensatzobjekt zu speichern. dbOpenDynaset ist die Art des Öffnens der Tabelle, da gibt es verschiedene Möglichkeiten, die man am besten in der Hilfe oder Online nachliest.
Die Zeile 5 ist also nicht überflüssig, sondern die füllt erstmalig das Recordset rs, mit dem man dann weiter arbeiten kann. Man kann z.B. auch mehrere Datensatzobjekte anlegen, eines Auf die Tabelle Artikel und eines auf die Tabelle Preis (oder was es auch immer für Tabellen in der Datenbank gibt). Dann muss man zwei rs anlegen, also rs1 und rs2. Man kann natürlich auch immer das gleiche rs dafür benutzen, nur wird dann der Inhalt komplett überschrieben, d.h. man kann immer nur einen Inhalt gleichzeitig in einem rs haben.
Ich hoffe, dies hilft erst einmal weiter…
Grüße
Surfin Willy