Neuigkeiten:

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

Mobiles Hauptmenü

Kombinationsfeld die Auswahl aus einem anderen Formular zuweisen

Begonnen von YvS, September 11, 2014, 12:21:36

⏪ vorheriges - nächstes ⏩

YvS

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



DF6GL

#1
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

MaggieMay

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?
Freundliche Grüße
MaggieMay

YvS

@ 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

DF6GL

#4
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.)

YvS

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;-)

MaggieMay

Freundliche Grüße
MaggieMay


YvS