Aktuelle Zeilennummer bei zwei Subforms

12. Juni 2008 19:01

Hallo!

Leider hänge ich seit 2 Stunden beim gleichen Problem und benötige wiedermal eure Hilfe.

Ich habe mir einen Wunderschöne Maske gebastelt, die den Inhalt von 3 Tabellen anzeigt. Das ganze ist als Form mit zwei Subforms aufgebaut. Ich möchte nun zB bei Eingabe der Menge die aktive Zeilennummer des Subforms 1 in das Subform 2 übernehmen. Ich komme zwar mit GETRECORD von der Hauptform ohne Probleme auf den Inhalt der aktiven Zeile der einzelenen Subforms. Jedoch schaffe ich es einfach nicht, das Subform2 mit Subform1 spricht. Ich bekomme einfach keine Daten zurück.

Vielleicht könnte mir jemand sagen, wie ich das am besten Lösen kann.

Danke vielmals im Voraus.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

12. Juni 2008 20:39

Verstehe ich das richtig?
Subform1 zeigt weitere Inhalte für einen Datensatz der Mainform, Subform2 zeigt eine Verfeinerung der Suform1?

Wenn ja, dann binde doch Subform2 als Subform der Subform1 ein? Über einen passenden SubformLink (sofern möglich) ist dann gewährleistet, dass die Forms sich gegenseitig aktualisieren.
Also zur Verdeutlichung: Deine jetzige Mainform hat nur eine einzige Subform (nämlich Subform1). Und Subform1 hat wiederum Subform2.

Habe ich so aber auch noch nicht gesehen oder ausprobiert :-)

13. Juni 2008 08:02

Hi Natalie,
eine subform in der Subform gibt Nav leider nicht her. (warum eigentlich nicht?)
Eine Möglichkeit wäre die Zeilennummer der sub 1 an eine SI Codeunit zu übergeben. Die kann dann auch von Sub 2 gelesen werden.

13. Juni 2008 08:28

tba hat geschrieben:Hi Natalie,
eine subform in der Subform gibt Nav leider nicht her. (warum eigentlich nicht?)


Hm interessant, und warum geht es nicht? Gibt es Darstellungsfehler, bestimmte Fehlermeldungen?

13. Juni 2008 09:01

Morgen!

Dank für eure schnellen Antworten.

Wie schon ganz zu Beginn erwähnt, beruht die Anzeige auf 3 Tabellen. Sprich das Mainform, Subform1 und Subform2 beruhen auf 3 unterschiedlichen Datenquellen.

Die Idee Subform1 gleich ins Mainform einzubauen hatte ich auch, ist jedoch an den unterschiedlichen Datenquellen gescheitert.

In der zwischenzeit habe ich die Sache so gelöst, dass ich OnTimer im Subform1 bei einem Zeilenwechsel die aktuelle Zeilennr. in ein Feld in das Mainform schreibe. Und dieses Feld bei Eingabe der Menge im Subform2 wieder auslese. Jedoch gefällt mir das nicht. Ich möchte nicht permanent in die Datenbank schreiben. Vor allem können dann zwei User nicht mehr gleichzeitig am gleichen Auftrag arbeiten.

Ich habe ziemlich lange Versucht das Problem über mehrere Functions in den einzelnen Subforms zu lösen, um einfach eine Variable zu befüllen, die ich dann wieder auslesen. Es hat zwar funktioniert, wenn ich die Function über das Mainform aufgerufen haben, jedoch schaffte ich es nicht, dass Subform2 über das Mainform mit Subform1 sprach.

Vielleicht hat jemand noch eine Idee. Danke vielmals.

13. Juni 2008 09:11

Hm interessant, und warum geht es nicht? Gibt es Darstellungsfehler, bestimmte Fehlermeldungen?

Es kommt eine Fehlermeldung die ca. so geht: "Es darf keine Subform in einer Subform dargestellt werden" oder so :)
Mit welcher Version ging das denn? (bin noch nicht so lange in der Branche :))

@Topic
Da eine Subform nicht mit ihrer Mainform kommunizieren kann könnte das schwierig werden.
Vielleicht mit einer Codeunit die dann die drei Tabellen abgleicht bzw. anpasst.

13. Juni 2008 09:27

MatthiasKönig hat geschrieben:Mit welcher Version ging das denn? (bin noch nicht so lange in der Branche :))


Hat doch keiner behauptet, dass es in irgendeiner Version funktioniert hat :-)

13. Juni 2008 10:45

soweit ich mich zurückerinnere (version 2.00) gings da auch noch nicht.
@Martin
versuchs über eine Singleinstance Codeunit.
bei aftergetrecord in sub1 schreibst du den wert da rein und bei Bedarf liest du ihn in sub2 aus.