# Datensatznummer ermitteln @ Access



## Blaubmania (23. August 2006)

Hiho,

also Problem was ich habe ist folgendes. Ich habe ein Formular was seine Werte aus einer Abfragetabelle bezieht. Diese Werte kann man in einer Kombiliste auswählen und nun kommt das Problem... es soll dann auf den Datensetz gesprungen werden der ausgewählt wird. Den Befehl dafür hab ich schon allerdings verlangt er die Nummer des Datensatzes d.h. wenn ich in der Abfrage 8 Datensätze habe und Datensatz Nr 5 auswähle müsste dort eine 5 stehen. Blos wie ermittel ich welche Datensatznr. ich ausgewählt habe?! O. weis jemand eine andere Möglichkeit.

Mein Code sieht bisher so aus:


```
Private Sub Mitarbeiterauswahl_Click()
    DoCmd.GoToRecord , , acGoTo, 'Hier müsste nun die Datensatznr hin
End Sub
```


----------



## lexz (23. August 2006)

Hi,
also als einfachste Lösung aber eher was umständlich, wäre es die Datensätze durch zunummerieren, un diese dann einfach auslesen, sprich in eine Variable speichern.

Müsstest dann einfach nur noch die DatensatzNr aus der Zelle auslesen -> in Variable speichern und fertig.


----------



## Blaubmania (23. August 2006)

Joar ich glaub das es bei Abfragen nicht geht oda?! also mit dem Durchnummerieren ich bin mir sicher das es bestimmt auch ne Funktion gibt womit man die Nr. des Datensatzes ermitteln kann aber Google spuckt wenig produktives aus und hier hab ich dafür auch nichts gefunden.


----------



## Blaubmania (23. August 2006)

Also ich bin im mom soweit gekommen ADPersonal ist die Abfrage allerdings zeigt er mir einen Laufzeitfehler in der Zeile an wo ich versuche die Abfrage zu öffnen also in db.Openrecordset...

Es kommt: 1 Paramter wurden erwartet, aber es wurden zu wenig Parameter übergeben

Vlt. kann mir ja mal einer sagen was das auf deutsch heisst weil viel mehr Parameter lassen sich kaum noch übergeben.


```
Private Sub Mitarbeiterauswahl_Click()
    Dim db As Database
    Dim r As Recordset
    
    Set db = CurrentDb
    Set r = db.OpenRecordset("ADPersonal", dbOpenDynaset, dbReadOnly)
    
    r.FindFirst "PerNr = " & Me.Mitarbeiterauswahl.Column(0)
    
    DoCmd.GoToRecord , , acGoTo, r.AbsolutePosition
End Sub
```


----------



## Blaubmania (23. August 2006)

vlt. kann man es ja auch anders machen ich versuch mal zu erklären was ich erreichen will also im mom sind da 5 Textfelder die jeweils auf einen Wert gebunden sind PerNr ..... PerArbPlatz dann 2 Buttons mit denen man hin und her switchen kann zwischen den datensätzen. So nun die verbesserung wenn da ca. 30 Datensätze sind und der Bearbeiter die letzte PErson in der Liste angezeigt haben will z.B. muss man da 30 mal rumklicken, das dauert und ist nervig nun wollt ich ein Kombifeld einbauen zusätzlich in den man auch die Personen direkt auswählen kann und zu dem Datensaz gesprungen wird. Am liebsten wäre mir am nur ein Kombifeld ohne die textfelder in den man direkt aussuchen kann aber auch die datensätze via Buttons durchstöbern kann.


----------

