Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Problem referenzieren UFOs in Formular-Instannzen
zurück: Probleme mit Kombinationsfeld weiter: Auswahleinschränkungen mittels Kombinationsfelder Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
frachtfrei
Neuling


Verfasst am:
03. Jun 2010, 18:47
Rufname: Hugo

Problem referenzieren UFOs in Formular-Instannzen - Problem referenzieren UFOs in Formular-Instannzen

Nach oben
       Version: Office 2007

Hallo,

ich starte aus einem Startformular heraus ein HauptFormular geichzeitig in mehreren Instanzen um parallel Stammdaten anzuzeigen. Das funktioniert auch schon ganz gut. In diesen Formularinstanzen befinden sich je ein Register mit mehreren Seiten und Unterformularen mit Detailinformationen zu den jeweiligen Stammdaten. Aus dem Hauptformular heraus kann ich auch ohne Probleme den 'RecordSource' der Unterformulare mit 'Me!Unterformular' referenzieren.
Wenn ich aber aus einem Unterformular heraus Felder oder den RecordSource eines anderen Unterformulars mit Forms!HauptFormular!Unterformular! ansprechen will bekomme ich die Fehlermeldung "Access kann das Formular 'HauptFormular' nicht finden". Schreibfehler ist es keiner, denn ich habe den Namen des übergeordneten Formulares, in diesem Fall das Hauptformlar mit 'Me.Parent.Name' kontrolliert.
Ich vermute, dass die Referenzierung mit Forms! bei einer Instanz nicht das richtige ist.

Dazu habe ich ein Testprogramm mit dem gleichen Effekt geschrieben, mit dem ich die Ursache für das Problem, leider ohne Erfolg, finden wollte.

der Starter für die Instanzen: 'frm_StartInstanz'
Code:
Option Compare Database
Option Explicit

Private Sub Befehl0_Click()
    Dim frm As Form_frmHaupt
   
    Set frm = New Form_frmHaupt
    'Festlegen, das das Formular nach Terminierung von frm geöffnet bleiben soll
    frm.StayOpen = Nz(True, False)
    frm.Visible = True
    'frm.Name = "frmHaupt"
    MsgBox "frm.Name=" & frm.Name
    Set frm = Nothing '... jetzt wird frmTest geschlossen, falls StayOpen = false
End Sub
das instanzierte Hauptformular 'frmHaupt':
Code:
Option Compare Database
Option Explicit

Private m_FormInstance As Form_frmHaupt

Public Property Get StayOpen() As Boolean
    StayOpen = Not (m_FormInstance Is Nothing)
End Property


Public Property Let StayOpen(ByVal bStayOpen As Boolean)
    If bStayOpen Then
        If m_FormInstance Is Nothing Then
            Set m_FormInstance = Me
        End If
      Else
        If Not (m_FormInstance Is Nothing) Then
            Set m_FormInstance = Nothing
        End If
    End If
End Property

Private Sub Form_Load()
    Me!Text1 = Forms!StartInstanz!Text6
    Me!frmU1!Text0 = Me!Text1
    Me!frmU2!Text0 = Me!Text1
    Set m_FormInstance = Me
    Me.Detailbereich.BackColor = RGB(0, 0, 1)
    MsgBox "Formular wird geöffnet"
End Sub

Private Sub Befehl0_Click()
    If m_FormInstance Is Nothing Then
        'per DoCmd schließen
        DoCmd.Close acForm, Me.Name
      Else 'nur Insatz killen
        'DoCmd.Close
        Set m_FormInstance = Nothing
    End If
End Sub

Private Sub Form_Close()
    If Not (m_FormInstance Is Nothing) Then
        Set m_FormInstance = Nothing
    End If
    MsgBox "Formular wird geschlossen"
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If Not (m_FormInstance Is Nothing) Then
        Cancel = (MsgBox("Formular schließen?", vbYesNo) = vbNo)
    End If
End Sub
2 UFos: frmU1 und frmU2 mit je einem Textfeld
Im UFO1 will ich nun das Textfeld des 2 UFOs mit dem Wert des 1. UFOs belegen:
Code:
    Forms!frmHaupt!frmU2!Text0 = Me!Text0
und dann kommt die Fehlermeldung.
Ich sage noch dazu, dass ich mich erst seit 3 Monaten mit Access und VBA beschäftige und mein Wissen hauptsächlich aus den diversen Foren (auch den Code für das Instanzieren von Formularen) und schmökern im Access-2007-Handbuch zusammengetragen habe.

Könnt Ihr mir da weiterhelfen ?

Grüsse

Hugo
Nouba
nicht ganz unwissend :)


Verfasst am:
03. Jun 2010, 20:34
Rufname:
Wohnort: Berlin


AW: Problem referenzieren UFOs in Formular-Instannzen - AW: Problem referenzieren UFOs in Formular-Instannzen

Nach oben
       Version: Office 2007

Hallo,

versuche es mal mit Me.frmU2.Form.Text0 = Me.Text0.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
frachtfrei
Neuling


Verfasst am:
03. Jun 2010, 21:01
Rufname: Hugo

AW: Problem referenzieren UFOs in Formular-Instannzen - AW: Problem referenzieren UFOs in Formular-Instannzen

Nach oben
       Version: Office 2007

Hallo Nouba,

funkt leider auch nicht --> 'Methode oder Datenobjekt nicht gefunden'.
Was wird eigentlich aus einem Formular wenn man es instanziert ?

Grüsse

Hugo
Nouba
nicht ganz unwissend :)


Verfasst am:
11. Jun 2010, 07:08
Rufname:
Wohnort: Berlin

AW: Problem referenzieren UFOs in Formular-Instannzen - AW: Problem referenzieren UFOs in Formular-Instannzen

Nach oben
       Version: Office 2007

Hallo,

vom Unterformular aus muss es natürlich Me.Parent.frmU2.Form.Text0 = Me.Text0 heißen. Ich hatte nicht beachtet, dass Du vom Unterformular frmU1 ausgehst.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Gast



Verfasst am:
13. Jun 2010, 08:46
Rufname:


AW: Problem referenzieren UFOs in Formular-Instannzen - AW: Problem referenzieren UFOs in Formular-Instannzen

Nach oben
       Version: Office 2007

Hallo Nouba,

ich habe die Lösung im Access-Handbuch von Walter Doberenz/Thomas Gewinnus gefunden. Eine Instanz kann man nur über den entsprechenden Index in der Forms-Auflistung ansprechen. Beim Öffnen der Instanz bekommt man mit 'Forms.Count - 1 ' den Index der Instanz ( Anzahl - 1 deswegen, weil die Tabelle 0-relativ ist) . In Folge wird dann mit Forms(index)!Ufo referenziert. Aber vorsicht, denn beim Schliessen einer der Instanzen wird der Eintrag aus der Forms-Auflistung gelöscht und die Indexeinträge rücken nach.

Ich speichere mir nun in jedem UFO den Index der jeweiligen Instanz. Beim Schliessen einer Instanz vermindere ich bei allen folgenden Instanzen den gespeicherten Index um 1.

Danke für Deine Unterstützung
Hugo
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Programmierung / VBA: Form.-Ref. auf UFOs/UFO-Container vereinfacht {Nachgefragt} 6 Gast 190 19. Feb 2014, 18:07
JensFliese66 Form.-Ref. auf UFOs/UFO-Container vereinfacht {Nachgefragt}
Keine neuen Beiträge Access Formulare: Probleme mit Ufos 1 KKJ 94 30. Aug 2013, 07:27
Willi Wipp Probleme mit Ufos
Keine neuen Beiträge Access Formulare: Ereignisreihenfolge von mehreren Ufos ändern 5 Boerek 85 17. Jul 2013, 11:06
MissPh! Ereignisreihenfolge von mehreren Ufos ändern
Keine neuen Beiträge Access Formulare: Berechnung im HF mit Werten aus mehreren UFOs 2 Markus83 83 06. März 2013, 12:01
Markus83 Berechnung im HF mit Werten aus mehreren UFOs
Keine neuen Beiträge Access Formulare: Ist die anzahl an Ufos in einem Formular begrenzt? 4 steli 89 06. Feb 2013, 18:35
KlausMz Ist die anzahl an Ufos in einem Formular begrenzt?
Keine neuen Beiträge Access Berichte: Formularinhalt in Bericht drucken - einige ufos fehlerhaft 20 obroa 622 20. Aug 2012, 16:30
obroa Formularinhalt in Bericht drucken - einige ufos fehlerhaft
Keine neuen Beiträge Access Formulare: Kombinationsfeldabfrage in abhängigen Ufo`s 17 robbitobbi 411 29. März 2012, 15:39
MissPh! Kombinationsfeldabfrage in abhängigen Ufo`s
Keine neuen Beiträge Access Formulare: Berechnung Summe aus 2 UFOs 1 Gast 296 24. März 2011, 11:25
Gast Berechnung Summe aus 2 UFOs
Keine neuen Beiträge Access Programmierung / VBA: CommandButton ach für UFO's? 4 Prexx 187 25. Okt 2010, 16:26
Prexx CommandButton ach für UFO's?
Keine neuen Beiträge Access Formulare: Datenblatt mit 2 Ufos 0 frodo111 189 13. Sep 2010, 09:10
frodo111 Datenblatt mit 2 Ufos
Keine neuen Beiträge Access Programmierung / VBA: von einem Ufo auf ein Feld eines anderen Ufos zugreifen 4 Toblerone 387 05. Mai 2010, 07:08
Toblerone von einem Ufo auf ein Feld eines anderen Ufos zugreifen
Keine neuen Beiträge Access Formulare: 1 HFo mit 9 UFos (Wie verknüpft man richtig?) 9 Pizzaleberkäs 891 11. Sep 2008, 12:40
Gast 1 HFo mit 9 UFos (Wie verknüpft man richtig?)
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln