Neuigkeiten:

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

Mobiles Hauptmenü

datenübertragung zwischen zwei Unterformular als Endlos

Begonnen von Icemann1970, Januar 13, 2018, 17:37:39

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

wozu brauchst Du das SetFocus?

Wenn, dann so:

Me!RegisterformularTechnik!FormularMaterialeingabe2.SetFocus

rot:  Name des UFO-Steuerelementes, das das Formular "FormularMaterialeingabe2"  anzeigt.

Icemann1970

Hallo Franz.
Ich habe bei http://www.donkarl.com?FAQ4.2
Um den Fokus auf ein Element im Ufo setzen zu können, oder z.B. die Methode GoToRecord im Ufo anwenden zu können, ist es notwendig, vorher den Fokus auf das Ufo-Steuerelement im Hauptformular zu setzen
gelesen.
Auf welches Steuerelement muss ich denn den Focus setzen ? Ich dachte mir das es reicht das Formular nur auf SetFocus zu setzen um die Daten vom Ufo2 in Ufo1 zu schreiben
Mfg. Udo

Icemann1970

Mfg. Udo

Icemann1970

Klar steht das in der Beschreibung von donkarl aber ich bekomme das nicht hin. Ich hatte zum testen ein Textfeld angelegt und versucht das zum Focus zu bringen.
Mfg. Udo

Lachtaube

Mit   Me.Parent.SetFocuswird der Fokus auf das Hauptformular gelegt.

Mit   Me.Parent.NameDesZielUFO.SetFocuswird das Ziel-Unterformularsteuerelement fokussiert.

Mit   Me.Parent.NameDesZielUFO.Form.NameDesSteuerelements.SetFocuswird das Steuerelement im Zielunterformular fokussiert.

Zusammengefasst:   With Me.Parent
      .SetFocus
      .NameDesZielUFO.SetFocus
      .NameDesZielUFO.Form.NameDesSteuerelements.SetFocus
   End With
Grüße von der (⌒▽⌒)

Beaker s.a.

Hallo Udo,
Vielleicht hilft dir dieser Tipp.
Benenne das U-Formular mit dem Prefix "uf_FormName" und das
U-Steuerelement auf dem HFo mit dem Prefix "uc_FormName".
Dann kommst du da nicht mit durcheinander und weisst was zusammengehört.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Icemann1970

Hallo zusammen.
Vielen Dank für den Code und die gute Erklärung und danke für den Hinweis das Formular umzubenennen. Das Umbenennen werde ich noch machen. Den Code habe ich eingebaut und den Focus auf das Formular bekommen.
Der Recordset läuft aber nicht durch, habe eine MsgBox nach und nach eingesetzt um zu sehen an welcher Stelle er hängen bleibt.
Private Sub SetSenden_Click()

With Me.Parent
.SetFocus
.FormularMaterialeingabe2.SetFocus
          '.FormularMaterialeingabe2.Form.Anzahl2.SetFocus <---- Anzahl2 war zum testen ob der Focus in Ufo2 kommt.
End With

Dim rs As DAO.Recordset
Set rs = Me.Parent.FormularMaterialeingabe2.Form.Recordset.Clone()
With Me.Recordset.Clone()
Do Until .EOF
rs.AddNew
rs![GeräteNummer] = Me.Parent.[GeräteNummer]
rs!Artikel = !Artikel
rs!Hersteller = !Hersteller
rs!Bezeichnung = !Bezeichnung
MsgBox "bis hier bekomme ich Meldung der MsgBox"

rs.Update
.MoveNext
Loop
End With

Me.Parent.FormularMaterialeingabe2.Form.Requery
End Sub

was ist da falsch ?
Mfg. Udo

DF6GL

Hallo,

die Angabe der Fehlermeldung wäre sinnvoller...

Wenn rs.Update abbricht, dann dürfte das Recordset nicht aktualisierbar sein, bzw. es liegt ein Index-Konflikt vor, z. B. wenn Feld "Gerätenummer" einen eindeutigen Index besitzt und mehrmals gespeichert werden soll.

Lachtaube

... und für die geschilderte Szenerie muss auch kein Fokus irgendwo hingesetzt werden.
Grüße von der (⌒▽⌒)

Icemann1970

#24
Hallo zusammen,
@Franz: Kommt keine Fehlermeldung, wird nur nicht gespeichert bzw bleibt da hängen weil die MsgBox nicht anspricht.
@Lachtaube: ok, dann weis ich auch nicht weiter.
Aber danke für eure Unterstützung.
Gruß Udo

Ich habe gerade eine kleine Test DB mit den gleichen Bedingungen erstellt HFO, RegisterFO,UFO1 und UFO2 ............ mist, da funktioniert alles. dann mache ich mich mal auf die Suche.
Gruß Udo

Sooooooo, ich habe den Fehler bzw die Ursache gefunden.... Das Formular war beschädigt. Habe ein neues erstellt und 1 zu 1 alles übernommen und es Funktioniert.
Mfg. Udo