collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 69
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13973
  • stats Beiträge insgesamt: 66539
  • stats Themen insgesamt: 8971
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Datensatzposition übergeben  (Gelesen 7952 mal)

Offline T417

  • Access-Profi
  • **
  • Beiträge: 380
Datensatzposition übergeben
« am: Mai 27, 2010, 14:07:58 »
Ich habe 2 Unterformulare (in einen Hauptformular) die allesamt ihre Daten aus einer Tabelle beziehen.
Wenn ich jetzt zB den Datensatz 14 im ersten Unterform auswähle, soll im zweiten Unterform ebenfalls der Datensatz 14 ausgewählt sein.

PosVar=Me.CurrentRecord
DoCmd.GoToRecord , , acGoTo, PosVar

Bei meinen momentanen Code gibt es nur das Problem, das ich damit nicht die aktuelle Position des Datensatz herausfinde.
Wenn ich die Position genauer Definiere [zB Forms!Hauptformular!Unterform1.CurrentRecord] bekomme ich ebenfalls Fehler.

Wenn ich die Variabel direkt mit zB 14 fülle, funktionert alles bestens.
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23344
Re: Datensatzposition übergeben
« Antwort #1 am: Mai 27, 2010, 14:14:44 »
Hallo,

probier mal:

PosVar=Me.Recordset.Absoluteposition

Besser wär, auf den Datensatz mittels der Findfirst-Methode zu positionieren.

Offline T417

  • Access-Profi
  • **
  • Beiträge: 380
Re: Datensatzposition übergeben
« Antwort #2 am: Mai 27, 2010, 14:27:35 »
Da bekomme ich Laufzeitfehler '91':
Objektvariabel oder With-Blockvariabel nicht festgelegt

Wie soll denn FindFirst klappen, aus der VBA-Hilfe bin ich da auch nicht schlau geworden?
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23344
Re: Datensatzposition übergeben
« Antwort #3 am: Mai 27, 2010, 14:38:56 »
Hallo,


www.donkarl.com/?FAQ4.5



Anhand Deines Codefragmentes sehe ich nicht, was Du genau machst.  Es fehlt mindestens noch das Setzen des Focus auf das UFO-Steuerelement und das darin befindliche Form.


Jedenfalls liefert

Me.Recordset.Absoluteposition

die Position des akt. Datensatzes im Formular-Recordset. (0= 1. Datensatz)

Offline T417

  • Access-Profi
  • **
  • Beiträge: 380
Re: Datensatzposition übergeben
« Antwort #4 am: Mai 27, 2010, 15:07:20 »
  Unterform2.Visible = True
  Me!Unterform2.SetFocus
  PosVar = Me.Recordset.AbsolutePosition
  DoCmd.GoToRecord , , acGoTo, PosVar
  Unterform1.Visible = False

Also spannend ist der Code nicht. Aber vieleicht hilft der dir trotzdem weiter.
Immer wenn ich ein Unterform sichtbar mache, schalte ich das andere auf unsichtbar.

Der Compiler geht immer nur bis zu PosVar.
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7
 

Offline database

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 4178
Re: Datensatzposition übergeben
« Antwort #5 am: Mai 27, 2010, 17:01:37 »
Hallo,

PosVar = Me!Unterform2.Recordset.AbsolutePosition

oder

PosVar = Me!Unterform2.Form.Recordset.AbsolutePosition

??

Greets Peter
Viele Grüße
Peter

Tipps und Links:
---------------------------------------------------------
1. http://www.donkarl.com
2. http://www.access-entwicklerbuch.de/2007/index.php?page=buch
3. http://www.xlam.ch/pos/rules.htm
3.a Reservierte Worte
4. http://www.functionx.com/vbaccess/index.htm
5. http://www.dbwiki.net

Nicht vergessen: Jede(r) hat mal klein angefangen!
Bitte keine Fragen per PN senden - Fragen gehören ins Forum!
 

Offline T417

  • Access-Profi
  • **
  • Beiträge: 380
Re: Datensatzposition übergeben
« Antwort #6 am: Mai 27, 2010, 17:35:53 »
Woohuu.  :D
Die Lösung lag in:
PosVar = Me!Unterform2.Form.Recordset.AbsolutePosition


Der gibt mir die exakte Position (minus 1 Ziffer für jeden Aufruf).
Also muss ich noch eine +1 an die Variabel ranhängen und das wars. ;)


Danke.
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7