Seltsames verhalten beim Öffnen eines Form

12/11/2008 - 19:34 von Peter Wilker | Report spam
Hallo

Ich habe ein Endlosform, aus dem ich mit einem Doppelklick auf ein Feld
ein anderes Form öffne und gleichzeitig einige Werte übergebe.
Wenn ich jetzt in das Feld der Form "A" Doppelklicke, öffnet sich das
2.Form. Gut so.

Jetzt zu meiner Frage:
Sobalt sich das Form geöffnet hat, geht der Focus im 1. Form auf den
ersten Datensatz. Das soll er aber nicht, da beim Schließen des 2. Form
(Rechnung)Werte an das 1. Form übergeben werden die in den gewàhlten
Datensatz eingetragen werden sollen.
Beim Öffnen der Form "Rezept" bleibt der Focus in Form 1 auf dem
entsprechenden Datensatz bestehen.

Der Code bei Doppelklick des 1. Form:

Private Sub Aufw_honorar_DblClick(Cancel As Integer)

If Me.Aufw_rezrech = True Then

' ################## Wenn Rezept ########################

If Me!Aufw_arzt <> "" Then
Me.Refresh 'aktuellen Datensatz sichern

DoCmd.OpenForm "Rezept", , , "ID_Aufw_vorg=" & _
Nz(Me!ID_Aufw)

Forms!Rezept!ID_Aufw_vorg = Me!ID_Aufw

Forms![Rezept]![Behandelnder_Arzt_Rezept]![kombi_Apotheke]_
= Nz(Me!apoth)
Forms![Rezept]![Behandelnder_Arzt_Rezept]![kombi_Arzt] _
= Nz(Me!Aufw_arzt)
Forms![Rezept]![Behandelnder_Arzt_Rezept]![kombirezept] _
= Me!Aufw_mek

DoCmd.RunCommand acCmdRefresh

Else
MsgBox "Sie müssen das Feld 'Behandelnder Arzt ' ausfüllen"
Me!Aufw_arzt.SetFocus

End If

' ################## Wenn RECHNUNG ########################

Else

On Error Resume Next

If Me!Aufw_honorar <> "" Then
Forms!rechnung!eingetragen = Me!Aufw_honorar
Forms!rechnung!eingetragen.Visible = True
End If

Me.Refresh 'aktuellen Datensatz sichern

DoCmd.OpenForm "Rechnung", , , "ID_Aufw_vorg=" & _
Nz(Me!ID_Aufw)

Forms!rechnung!ID_Aufw_vorg = Me!ID_Aufw

Forms!rechnung!kombipatient = Me!Aufw_mek
Forms!rechnung!kombipatient.SetFocus
DoCmd.RunCommand acCmdRefresh

End If

End Sub


Da dem Form "Rechnung" beim Öffnen die Datensatzquelle zugewiesen wird,
könnte der Fehler dort zu suchen sein. Zumal das Öffnen der Form
"Rezept" eimwandfrei funktioniert.(Fokus bleibt bestehen)

der Code beim Öffnen der 2.Form:


Private Sub Form_Open(Cancel As Integer)


If DLookup("[Arzt-Zahnarzt]", "Abfrage_selArzt") = False Then

Me.GOÄ_GOZ = "Gebührenordnung Ärzte"
Me.GOÄ_GOZ.BackColor = RGB(194, 225, 171)

Me.RecordSource = "abfrage_rechn"
Me!cbo1.RowSource = "Abfrage_A"
Me!cbo2.RowSource = "Abfrage_B"
Me!cbo3.RowSource = "Abfrage_C"

Me!verstDef.DefaultValue = True

Else

Me.GOÄ_GOZ = "Gebührenordnung Zahnàrzte"
Me.GOÄ_GOZ.BackColor = RGB(250, 204, 153)


Me.RecordSource = "abfrage_rechn_zahn"
Me!cbo1.RowSource = "Abfrage_A_a"
Me!cbo2.RowSource = "Abfrage_B_a"
Me!cbo3.RowSource = "Abfrage_C_a"

Me!verstDef.DefaultValue = False

End If



End Sub

Wer kann mir Weiterhelfen?

Besten Dank

Hans-Peter Wilker
 

Lesen sie die antworten

#1 Thomas Winkler
12/11/2008 - 21:06 | Warnen spam
Hi,

Sobalt sich das Form geöffnet hat, geht der Focus im 1. Form auf den
ersten Datensatz. Das soll er aber nicht, da beim Schließen des 2. Form
(Rechnung)Werte an das 1. Form übergeben werden die in den gewàhlten
Datensatz eingetragen werden sollen.



Warum willst Du aus einem Form heraus Daten in ein anderes *Form*
übertragen? IMO ist folgender Weg besser:

Das 2. Form übertràgt die Daten nicht ins 1. Form, sondern schreibt sie
in die *Tabelle* die dem 1. Form zugrund liegt. Danach wird ein
Form1.Requery ausgelöst und die Daten sind drin.

HTH

Thomas

Ähnliche fragen