Ich habe eine (Beispiel-)Datenbank mit den Feldern F1, F2, F3, … Fn und die Datensätze D1, D2, D3, … Die Tabelle ist momentan so mit Werten gefüllt, daß in den Spalten Fx unterschiedlich viele Werte eingetragen sind, z. B. so:
F1 F2 F3
D1 x x x
D2 x x x
D3 x x
D4 x x
D5 x
D6 x
Ich möchte nun aus einer bestimmten Spalte den jeweils letzten(!) Wert auslesen. (Ist natürlich abhängig von der aktuellen Sortierreihenfolge, aber das ist schon so sichergestellt). Einer meiner Codeschnipsel sieht so aus:
Sub test ()
set db = CurrentDb()
set tb = db.OpenRecordSet("Tabelle1")
' "Tabelle1" ist der Name einer existierenden Tabelle in der aktuellen Datenbank
tb.MoveLast
fn = "Spalte1"
' fn beliebiger Variablenname
' "Spalte1" Name einer Spalte in der Tabelle tb
ergebnis = tb(fn)
End Sub
Das funktioniert leider nur, wenn alle Spalten gleichmäßig gefüllt sind. Um zum gewünschten Ergebnis zu kommen, wollte ich nun noch einen Recordset einer Spalte bilden mit set fb = tb.OpenRecordSet(„Spalte2“) um dann irgendwie den letzen Wert dieses Recordsets auszulesen, aber schon diese Zuweisung funktioniert nicht. Ich bin blutiger VBA-Anfänger und habe keinen Plan, wie es weitergehen könnte. Ihr sicherlich, ich bin guter Hoffnung …