Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular als Navigationsstütze

Begonnen von T417, Februar 01, 2012, 16:14:16

⏪ vorheriges - nächstes ⏩

T417

Ich verwende zwei Unterformular auf einen Hauptformular.
Das linke verwende ich zur Navigationsunterstüzung. Wenn ich also im linken Unterform einen Datensatz anklicke, zeigt er mir im rechten Unterform den entsprechenden Datensatz an.
Das ist mit dem Befehl 'absolutePosition' gelöst.
Problem ist nur, das ich dafür immer erst auf eine Schaltfläche im rechten Unterform klicken muss, damit er mir den ausgewählten Datensatz auch anzeigt.
Ziemlich unpraktisch.

Kennt da jemand einen Trick, oder eine besser geeignete Funktion?
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7

oma

Hallo,

das ist nicht ganz klar formuliert:
Zitat
Wenn ich also im linken Unterform einen Datensatz anklicke, zeigt er mir im rechten Unterform den entsprechenden Datensatz an.

wenn er schon links vorhanden, warum noch mal rechts anzeigen?

Und:

ZitatProblem ist nur, das ich dafür immer erst auf eine Schaltfläche im rechten Unterform klicken muss, damit er mir den ausgewählten Datensatz auch anzeigt.

also klappt das anklicken links und anzeigen rechts nicht?

Gruß Oma
nichts ist fertig!

T417

Hallo,

Also links sind die Nummern aller Datensätze mit einer kurzen Beschreibung.
Rechts wird dann jeweils 1 Datensatz bearbeitet.

Zitatalso klappt das anklicken links und anzeigen rechts nicht?
Ja. Wenn ich links klicke, zeigt er mir rechts nichts an.
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7

oma

Hallo,

und wie ist der Code dazu, es gibt ja einige Möglichkeiten. Zeige doch mal. wie du es versucht hast.

Gruß Oma
nichts ist fertig!

T417

Hallo,

Am Ende hatte ich den Code erreicht.
Im Naviformular:
Private Sub Form_Click()
Forms!Hauptformular!Unterform1.Form.Kasten78.SetFocus
End Sub

Womit ich die Funktion im Unterform aufrufe:
Private Sub Kasten78_GotFocus()          'Navifunktion
Dim NavVar As String
NavVar = Forms.Hauptformular!Navi.Form.Recordset.AbsolutePosition
  If Not NavVar = -1 Then
    NavVar = NavVar + 1
    DoCmd.GoToRecord , , acGoTo, NavVar
  End If
End Sub
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7

MzKlMu

Hallo,
nimm links ein Listenfeld zur Anzeige, das Ufo rechts verknüpftst Du mit den Dateneigenschaften über die Schlüsselfelder mit dem Listenfeld, dann musst Du überhaupt nichts programmieren.
Gruß Klaus

oma

Hallo,

du siehst am Vorschlag von Klaus: es gibt auch andere Möglichkeiten.
Ich verwende oft folgende Lösung: Du erstellst ein Formular mit den Daten in Datenblattansicht, so kann man die wichtigsten Felder für mehrere Datensätze überblicken; zur Detaileinsicht kann man dann zur Einzelformularansicht per Button umschalten:

Private Sub Detail_Click()
 Me!Kunden_UF.SetFocus
   If Me!Kunden_UF.Form.CurrentView = 2 Then
      DoCmd.RunCommand acCmdSubformFormView
      Me!Detail.Caption = "Tabelle"
   Else
     DoCmd.RunCommand acCmdSubformDatasheetView
     Me!Detail.Caption = "Detail"
   End If
End Sub


Das ganze muss dann noch in einem "äußeren Formular" untergebracht werden. Nach meinen Erfahrungen kommt diese Methode vielen Usern entgegen: sie können in einer Tabelle schauen und scrollen (das kennen sie oft von Excel) u. dann aber auch in Detailansichten mit allen Feldern arbeiten.

Mal ein einfaches Beispiel für das Prinzip




[Anhang gelöscht durch Administrator]
nichts ist fertig!

T417

Hallo,

Danke für die Vorschläge, aber wie genau verknüpfe ich jetzt das Unterform mit dem Listenfeld?

@oma: Normalerweise programmier ich sowas ähnliches wie du vorgeschlagen hast, nur diesmal ging das nicht.
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7

DF6GL

Hallo,


Eigenschaften des UFO-Steuerelementes:

Verknüpfen von:   Fremdschlüsselfeld aus der Unterformular-Datenherkunft
Verknüpfen nach:  Name des Listenfeldes.  Listenfeld bei "Mehrfachauswahl" auf "keine" stellen

T417

Hallo,

Ähm. Also zuerst bekam ich eine Fehlermeldung des Feldverknüpfungsassistent:
"Aufbau einer Verbindung zwischen ungebunden Formularen nicht möglich"

Hab das Hauptformular dann gebunden, konnte dann den Assistenten starten, aber nicht das Listenfeld auswählen.
Listenfeld ist ungebunden.
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7


T417

#11
Hallo,

aber er lässt sich leider nicht zwingen. :-[

Nachtrag:
Muss ich irgendetwas beim erstellen des Listenfeldes, oder der Formulare beachten?
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7

DF6GL

Hallo,

dann  zwing Dich(!) dazu, den nicht zu verwenden...

Stelle doch einfach wie gesagt die Verknüpfungseigenschaften ein...



T417

Hallo,

Achso.
Den Assistenten einfach ignorieren hat geklappt.
Das Ganze funktioniert jetzt.

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

Sowohl auf WinXP als auch auf Win7