Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: YvS am September 11, 2014, 12:21:36

Titel: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: YvS am September 11, 2014, 12:21:36
Hallo,
ich hab mal wieder ein Problem.
Eigentlich hört das sich nicht so schwer an, aber ich hab meiner Meinung nach alles erdenkliche ausprobiert.

Situation:
Ich habe drei Formulare innerhalb eines Navigationsformulars. In jeden dieser 3 Formulare kann ich den Motortyp in einem Kombinationsfeld namens "Kombinationsfeld99" auswählen. Will ich nun Kalkulationsfaktoren ändern, dann öffne ich das gleiche Formular für alle drei Formulare des Navigationsformulars. Dieses heisst "Motordaten_Bearbeiten". Darin gibt es wieder ein Kombinationsfeld "cmbMotor", welches die Auswahl von Kombinationsfeld99 übernehmen soll. Das èbernehmen der anderen Felder in Formular "Motordaten_Bearbeiten" funktioniert mit dem Code super.
Problem:
Die Zuweisung von den KOmbinationsfeldern funktioniert aber leider nicht mit dem folgenden Code (siehe KOmmentar):

'in Motor_Bearbeiten:
Private Sub Form_Load()
On Error GoTo fehlerbehandlung

    If Not IsNull(Me.OpenArgs) Then
        Dim rs As Object
        Dim id As Integer
       
        id = Me.OpenArgs
        Set rs = Me.RecordsetClone
        rs.FindFirst "[MotorID] = " & id
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
' Me.cmbMotor = Forms!KalkulationGesamt!Navigationsformular.Formular!Kombinationsfeld99
    Else:
        DoCmd.RunCommand acCmdRecordsGoToNew
    End If

'in einem der anderen Formulare:
Private Sub bttnChangeKF_Click()
On Error GoTo fehlerbehandlung

    DoCmd.OpenForm "Motordaten_Bearbeiten", acNormal, , , , acDialog, Me.FKMotorID
    Me.Requery


Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: DF6GL am September 11, 2014, 14:24:19
Hallo,

wo sind da Kombifelder?

Lass die Form_Load-Prozedur einfach weg und öffne das/die entsprechende/n Formulare so:

DoCmd.OpenForm "Motordaten_Bearbeiten", acNormal, ,  "MotorID=" & Me!FKMotorID
Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: MaggieMay am September 11, 2014, 14:47:04
Hallo,

es ist ein Unterschied, ob man ein Formular filtert oder auf den gesuchten Datensatz springt

Der Befehl zum Füllen des Kombifeldes enthält einen Fehler:Me.cmbMotor = Forms!KalkulationGesamt!Navigationsformular.[color=red]Formular[/color]!Kombinationsfeld99Vielleicht klappt es ja schon, wenn du an der Stelle Form schreibst.
Eine Fehlermeldung hast du uns ja leider nicht mitgeteilt.

Bist du sicher, dass "Navigationsformular" ein Unterformular von "KalkulationGesamt" ist?
Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: YvS am September 11, 2014, 15:56:02
@ MaggieMay:
Dein Vorschlag war gut! Das ist mir gar nicht aufgefallen:-) aber geht leider trotzdem nicht.

@DF6GL:
Die Namen der Kombifelder sind cmbMotor und Kombinationsfeld99.
Ich habe deinen Vorschlag auch getestet, leider kommt dann die Fehlermeldung "Typen unverträglich" :-(

Liebe Grüsse
Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: DF6GL am September 11, 2014, 16:35:23
Hallo,

dann ist das Tabellenfeld "MotorID" nicht vom Datentyp Zahl,Long, bzw. in Me!MotorID steht keine reine Zahl (Ziffern) ,sondern auch andere Zeichen...

In diesem Fall sollte es dann so lauten:

DoCmd.OpenForm "Motordaten_Bearbeiten", acNormal, ,  "MotorID='" & Me!FKMotorID & "'"


Vermutlich sind noch einige Korrekturen am Tabellen- und Ablaufkonzept erforderlich. (Benamsungen, Datentypen, Formularsteuerung, etc.)
Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: YvS am September 11, 2014, 16:46:29
Hallo DF6GL,
wie befürchtet geht es immer noch nicht. Die Fehlermeldung ist die gleiche.:-/
Aber ich denke, dass ich auf dem richtigen Weg bin!:-)

Danke vielmals;-)
Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: MaggieMay am September 11, 2014, 17:07:24
Hi,

im letzten Code von DF6GL ist ein Komma zu viel.
Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: DF6GL am September 11, 2014, 18:18:01
In der Tat,habe es korrigiert...
Titel: Re: Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen
Beitrag von: YvS am September 12, 2014, 08:05:38
Es hat geklappt!
Vielen Dank für Eure Hilfe!
:-D