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
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
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]!Kombinationsfeld99
Vielleicht 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?
@ 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
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.)
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;-)
Hi,
im letzten Code von DF6GL ist ein Komma zu viel.
In der Tat,habe es korrigiert...
Es hat geklappt!
Vielen Dank für Eure Hilfe!
:-D