Neuigkeiten:

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

Mobiles Hauptmenü

Mehre Instanzen bei Formular-> Unterformular mitsteuern

Begonnen von martie01, Dezember 04, 2022, 20:08:50

⏪ vorheriges - nächstes ⏩

martie01

Hallo,
ich komme nicht weiter.
Ich habe mehrere Instanzen eines Formulars und möchte die entsprechenden Unterformularen mit syncronisieren.
Private Sub dtArtikelNrExt_DblClick(Cancel As Integer)
 Set Frm = New Form_frm_Stammliste
 
Frm.RecordSource = "SELECT * FROM tbl_stammliste WHERE dtArtikelNrExt = '" & Me!dtArtikelNrExt & "'"
       Frm.Visible = True
Frm.Move 1000, 1000
   
End Sub

Wie bekommt man das bitte hin?

Grüße Martin
  •  

markusxy

Über die Formular Referenz kannst du doch alles tun, was du willst.

Es ist schwer zu erraten was dein konkretes Problem ist.
  •  

martie01

Hallo,

ich habe ein kleines Detail vergessen ::)
Ich habe in dem Haupt- und Unterformular Listenfelder, welche auf sich auf die Artikelnr. im Hauptformular beziehen.
Versuche ich jetzt ddas Formular Stammliste zu öffnen, bekommen ich die Meldung, das ich den Parameterwert... eingeben soll.
Das möchte ich gerne abstellen...

Gruß Martin
  •  

markusxy

Zitat von: martie01 am Dezember 05, 2022, 18:15:13Ich habe in dem Haupt- und Unterformular Listenfelder, welche auf sich auf die Artikelnr. im Hauptformular beziehen.

Da müsste man wissen was du genau machst.
Aber grundsätzlich:
Bei mehreren Formular Instanzen hast du natürlich ein Problem wenn du Bezüglich via Forms Auflistung machst, da das Formular darin dann mehrfach vorkommt.
Solche Bezüge müssen dann ersetzt werden, indem man Bezüge direkt über vorhandene Steuerelemente herstellt oder auch mit Events arbeitet. Man verliert also etwas den Luxus des "einfachen" Programmierens.
  •  

martie01

Hallo,
ich denke, ich weiß jetzt konkret, was nicht funktioniert.
Wie bekomme ich es hin, das ein Listenfeld sich in einem Formular syncronisiert, wenn es mehree Instanzen gibt? I.A. habe ich es so gemacht, ds sich das Listenfeld auf ein Textfeld im Formular referenziert.
  •  

markusxy

Zitat von: martie01 am Dezember 05, 2022, 18:15:13Versuche ich jetzt ddas Formular Stammliste zu öffnen, bekommen ich die Meldung, das ich den Parameterwert... eingeben soll.

Da hab ich wohl zu schnell drüber gelesen.
Das Problem: Unterformulare werden immer vor dem Hauptformular geladen.
Im Hauptformular stehen also beim Laden des Subforms noch keine Daten zur Verfügung.
Ich weiß jetzt nicht wie andere das lösen, in der Regel verwende ich Events.
Aktion im Hauptformular löst also eine Event-Prozedur im Subform aus, die dann im Subform die nötige Synchronisierung umsetzt.
Das hat aber überhaupt nichts damit zu tun, das du Formular-Instanzen verwendest, sondern ist einfach ein Problem mit dem Timing. Events sind in Objekten da die saubere Lösung. Umgehen könnte man das auch indem man das Subform dem Hauptform erst zur Laufzeit zuweist, damit umgeht man das Timing Problem ebenso.

Wie sorgst du denn aktuell für die Synchronisierung wenn sich im Hauptformular die Artikelnummer ändert?

  •  

Josef P.

Hallo!

Eine einfache Lösung könnte sein, die Unterformulare erst nach dem Laden des HF zu laden (ausfüllen von Unterformularsteuerelement.SourceObject).

Gruß
Josef

martie01

Hallo,
ich schreibe den Wert mit der entsprechenden ArtNr in eine Tabelle.
Das zu öffnenden Formular bedient sich dann aus dieser Tabelle.

Wie bekomme ich es das denn hin ? "Laden des HF zu laden (ausfüllen von Unterformularsteuerelement.SourceObject)"
  •  

martie01

update....

so, ich habe jetzt die Listenfelder gegen Unterformulare getauscht.
Die Unterformulare sind mit dem Hauptformular verknüpft.

Das andere wäre schöner gewesen, aber egal... ::)
  •  

markusxy

Zitat von: martie01 am Dezember 09, 2022, 10:05:53Das andere wäre schöner gewesen, aber egal... ::)

Na ja, vielleicht solltest du dich mal damit beschäftigen, damit du Zusammenhänge verstehst.
Du könntest das Thema ja mal googeln und dich einlesen.

  •  

Beaker s.a.

Hallo,
ZitatWie bekomme ich es das denn hin ? "Laden des HF zu laden (ausfüllen von Unterformularsteuerelement.SourceObject)"
Private Sub Form_Load()
    Me.DeinUFoControlName.ControlSource = "DeinUFoName"
End Sub
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
  •