Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Unterformular aktulaisieren?

Begonnen von silentwolf, September 24, 2015, 13:07:02

⏪ vorheriges - nächstes ⏩

silentwolf

Hallo mal wieder...
im Anhang habe ich ein bild von meinem Formular... der schwarze Rand ist ein UF sfm_ObjTyp...
in diesem UF ist ein weiteres UF mit subfrmObjAust im Fussbereich eingefügt rot markiert.
Im HF ist noch ein weiteres UF subfrmEinrichtung grün markiert.

Nun wo oder wie muss ich denn nun das formular requery damit der dazugehörige DS aus subfrmObjAust im subfrmEinrichtung erhalte?
Habe es mit dem Ereignis beim Anzeigen beim sfm_ObjTyp und im subfrmObjAust probiert aber leider keinen Erfolg bislang gehabt.

Kann mir hier bitte jemand helfen ich hab schon geschaut und probier aber leider weis ich nicht weiter :(
Private Sub Form_Current()
    Dim ParentDocName As String

    On Error Resume Next
    ParentDocName = Me.Parent.Name

    If Err <> 0 Then
        GoTo Form_Current_Exit
    Else
        On Error GoTo Form_Current_Err
        Me.Parent![subfrmEinrichtung].Requery
    End If

Form_Current_Exit:
    Exit Sub

Form_Current_Err:
    MsgBox Error$
    Resume Form_Current_Exit
End Sub

Lg und vielen Dank wiedermal :)

Albert

MaggieMay

#1
Hi,

du kannst die Verknüpfung des "subfrmEinrichtung" so einstellen, dass automatisch synchronisiert wird. Welche Datenfelder werden dazu benötigt?

Das Aktualisieren sollte folgendermaßen aussehen:
Me.Parent![subfrmEinrichtung].Form.Requery
Freundliche Grüße
MaggieMay

silentwolf

Hi Maggie!
Danke Dir für Deine mail! Also es geht um ObjArtAust_id PK im subfrmObjAust
Und im subfrmEinrichtung ist es ObjArtAust_id_f als FK
muss ich da noch etwas machen??

LG

silentwolf

Also ich habe es nun im Beim Anzeigen von subfrmObjAust Deinen Code eingegeben da bekomme ich einen Laufzeitfehler 2465 kann das in Ihren Ausdruck angesprochene Feld subfrmEinrichtung nicht finden..
muss ich das wo anders einfügen??
Also bei einem anderen formular??
Habe es auch im sfm_ObjTyp probiert da bekomme ich auch einen Laufzeitfehler 2455 Sie haben einen Ausdruck eingegeben der einen ungültigen Verweis auf die Form/Report Eigenschaft enthält.

hmm?

MaggieMay

Also entweder per Code:
Private Sub Form_Current()
On Error GoTo Form_Current_Err
    Dim ParentDocName As String
    ParentDocName = Me.Parent.Name
    Me.Parent![subfrmEinrichtung].Form.Requery
Form_Current_Exit:
    Exit Sub
Form_Current_Err:
    If Err.Number = 2452 Then
    Else
        MsgBox Err.Description, , Err.Number
        Resume Form_Current_Exit
    End If
End Sub


Oder über die Verknüpfung mit einem Hilfsfeld im Hauptformular mit dem Steuerelementinhalt:
=[sfm_ObjTyp].[Formular]![subfrmObjAust].[Formular]![ObjArtAust_id]

PS:
Es sind ja zwei Ufos, also Me.Parent.Parent.subfrmEinrichtung.Form.Requery
Freundliche Grüße
MaggieMay

silentwolf

Hallo Maggie,
ma tut mir leid aber es geht nicht..
In welchen Formular muss ich den diesen Code einfügen?
Beim Anzeigen des HF?
Zitat
Me.Parent.Parent.subfrmEinrichtung.Form.Requery
Und warum diesen Code noch ..

MaggieMay

Ich schrieb ja "entweder - oder", also entweder aktualisierst du das UF "subfrmEinrichtung" im Ereignis "Beim Anzeigen" des UF "subfrmObjAust" (wo sonst?!) ODER du synchronisierst das UF über ein Hilfsfeld im HF über die Verknüpfungseigenschaften.
Beides funktioniert, der Verknüpfung würde ich den Vorzug geben.
Freundliche Grüße
MaggieMay

silentwolf

Hallo Maggie,
vielen dank nochmal für die Info..
Also ich muss da noch probieren denn irgendwo ist da noch ein Problem es geht leider noch nicht ...
ich werd noch ganz gar mit diesem Formular grr..

Aber vielen Dank!!
LG

MaggieMay

Kannst du konkret beschreiben oder zeigen was du gemacht hast und was genau nicht funktioniert? Gibt es Fehlermeldungen?
Freundliche Grüße
MaggieMay

silentwolf

Also ich habe folgendes Probiert..

Beim Anzeigen von subfrmObjAust
On Error GoTo Form_Current_Err
    Dim ParentDocName As String
    ParentDocName = Me.Parent.Name
    Me.Parent![subfrmEinrichtung].Form.Requery
Form_Current_Exit:
    Exit Sub
Form_Current_Err:
    If Err.Number = 2452 Then
    Else
        MsgBox Err.Description, , Err.Number
        Resume Form_Current_Exit
    End If

dann bekomme ich eine Fehlermeldung...2465 als Msgbox Microsoft kann das in Ihren Ausdruck angesprochene Feld 'subfrmEinrichtung nicht finden.
Dann habe ich den gleichen Code beim Anzeigen des subfrmEinrichtung eingefügt dann kommt keine Fehlermeldung aber sobald ich im endlosformular das es ja auch ist einen DS darunter anklicke ist der DS weg.. bei wieder öffnen ist der aber immer noch nicht sichtbar sondern fängt wieder bei einen neuen DS an.
Das mit dem Hilfsfeld verstehe ich leider nicht.. ein textfeld einfügen im HF oder wie?
Ich weis bin lästig tut mir leid!!!

Lg

MaggieMay

Dass hier ein doppeltes "Parent" gebraucht wird, wurde bereits festgestellt.
ZitatDann habe ich den gleichen Code beim Anzeigen des subfrmEinrichtung eingefügt
Da gehört er aber nicht hin.  ::)

Nochmal zum Hilfsfeld:
Füge ein unsichtbares Textfeld ins Hauptformular ein und gib ihm den bereits geposteten Steuerelementinhalt.
Dann gehe in die Eigenschaften des Unterformulars "subfrmEinrichtung", Register "Daten" und trage dort den Namen des Textfeldes unter "Verknüpfen nach" ein und den Namen des Referenzfeldes im "subfrmEinrichtung" in die Zeile darunter.

Die Ereignisprozdur kannst du dann wieder entfernen.
Freundliche Grüße
MaggieMay

silentwolf

Hallo Maggie,

Dass hier ein doppeltes "Parent" gebraucht wird, wurde bereits festgestellt.
Ja das stimmt schon das Du das geschrieben hast aber brauche ich den noch oder nicht? Bin ganz durcheinander  :o
Und wenn ja dann wo gehört der hin??
Also jetzt habe ich es so gemacht .. im HF txtTest mit Steuerelementinhalt =[sfm_ObjTyp].[Formular]![subfrmObjAust].[Formular]![ObjArtAust_id]
Im Eigenschaftsfenster des subfrmEinrichtung
Verknüpfen von txtTest
Verknüpfen nach ObjArtAust_id_f
Ansonsten keinen weiteren Code... jetzt kann ich ohne Fehlermeldung daten einfügen. Gehe ich dann wieder zurück auf den DS en ich vorher ausgewählt habe im subfrmObjAust dann werden diese Daten nicht mehr angezeigt im subfrmEinrichtung.
:'(

MaggieMay

Ist das UF evtl. zur Dateneingabe eingestellt? Schau dir die Eigenschaften an.

ZitatGehe ich dann wieder zurück auf den DS en ich vorher ausgewählt habe im subfrmObjAust dann werden diese Daten nicht mehr angezeigt im subfrmEinrichtung.
Klar, wenn du den Datensatz in "subfrmObjAust" wechselst, ändert sich auch die Einrichtung - oder was meintest du?
Freundliche Grüße
MaggieMay

silentwolf

Also im UF subfrmEinrichtung "Daten eingeben" das ist das Feld das Du meinst oder?
Dort steht nein
Ich meine wenn ich im subfromObjAust den ersten DS auswähle und im subfrmEinrichtung DS eingebe.. das geht..
wechsle ich nun den DS in subfrmObjAust zu DS 2 ändert sich as subfrmEinrichtung.. das soll es auch ist schon klar...
Geht ich aber nun wieder zurück zum 1 DS in Ausstattung bleiben die DS in Einrichtung leer.

MaggieMay

Also bei mir funktioniert das...

Zeig doch mal den SQL-Code der Abfrage zu "subfrmEinrichtung".
Freundliche Grüße
MaggieMay