Access 2003 - Viele Unterformulare auf mehreren Registern

17/08/2010 - 21:02 von Martin Hockemeyer | Report spam
Hallo zusammen,

ich bin gerade dabei eine Anwendung umzusetzen die hauptsàchlich aus 2
Registern besteht.
Register A hat 7 Reiter mit jeweils einem Ufo hinter dem je ein
anderes Formular mit eigener Datensatzherkunft in Endlosansicht
steckt.

Register B hat insgesamt 15 Reiter, die in Abhàngigkeit der Auswahl in
Register A Sichtbar oder Unsichtbar werden.
Teilweise überschneiden sich die angzeigten Reiter von Register B.
Soll heißen, Reiter 1 von Register B kann angezeigt werden wenn Reiter
1 von Register A gewàhlt ist, aber auch wenn z.B. Reiter 3, 4 und 5
gewàhlt ist.

In jedem Reiter des Registers B steck wieder ein eigenstàndiges
Unterformular in Endlosformansicht.
Die angezeigten Datensàtze der UFoŽs in Register B stehen aber immer
in Abhàngigkeit der gewàhlten Datensàtze der UFoŽs in Register A.

In jedem UFo stecken auch noch ein paar Funktionen wie farbiger
Zeilenwechsel, Sortier und Filterfunktionen und die Überprüfung von
Pflichfeldern etc.

Nun bin ich mittlerweile mit der Programmierung der sàmtlicher UFoŽs
aus Register A fertig und beim 2. UFo deren Daten in abhàngigkeit von
den UFos aus Register A angezeigt werden und fange an, an
verschiedenen Stellen Abstürze von Access zu erleben. z.B. wenn ich
einen Registerwechsel per Button ausführe. Dann stürzt die DB
beispielsweise ab wenn das Current Ereignis eines UFos 2 mal
hintereinander durchlaufen wird. Aber auch anderen eigentlich
problemlosen Stellen.

Da ich sàmtlich /Decompile, etc. Maßnahmen schon durch habe, wende ich
mich verzweifelt an die Newsgroup.
Bevor ich jetzt detailiert auf das Datenmodell eingehe, liegt mir die
Frage nàher:

Hat jemand Erfahrung mit der Verwendung vieler gleichzeitiger UFoŽs?
Geht das überhaupt? Ich hab mir schon die Finger wund gegoogelt aber
keine brauchbaren Infos gefunden und bin mir aber fast sicher das
meine Probleme daher rühren. Vielleicht sind es zu viele
Datenbankzugriffe gleichzeitig wegen der vielen UFoŽs? Aber bei 255
dürfte ich noch nicht angekommen sein...
Evtl. gibt es ja auch ein paar Tricks oder Dinge die man bei einem
Vorhaben mit vielen UFoŽs beachten sollte?

Über ein paar Anregungen würde ich mich sehr freuen.

Viele Grüße,
Martin
 

Lesen sie die antworten

#1 Karl Donaubauer
17/08/2010 - 23:18 | Warnen spam
Martin Hockemeyer wrote:

ich bin gerade dabei eine Anwendung umzusetzen die hauptsàchlich
aus 2 Registern besteht.
Register A hat 7 Reiter mit jeweils einem Ufo hinter dem je ein
anderes Formular mit eigener Datensatzherkunft in Endlosansicht
steckt.

Register B hat insgesamt 15 Reiter, die in Abhàngigkeit der Auswahl
in Register A Sichtbar oder Unsichtbar werden.
Teilweise überschneiden sich die angzeigten Reiter von Register B.
Soll heißen, Reiter 1 von Register B kann angezeigt werden wenn
Reiter 1 von Register A gewàhlt ist, aber auch wenn z.B. Reiter 3,
4 und 5 gewàhlt ist.

In jedem Reiter des Registers B steck wieder ein eigenstàndiges
Unterformular in Endlosformansicht.
Die angezeigten Datensàtze der UFoŽs in Register B stehen aber immer
in Abhàngigkeit der gewàhlten Datensàtze der UFoŽs in Register A.

In jedem UFo stecken auch noch ein paar Funktionen wie farbiger
Zeilenwechsel, Sortier und Filterfunktionen und die Überprüfung von
Pflichfeldern etc.

Nun bin ich mittlerweile mit der Programmierung der sàmtlicher UFoŽs
aus Register A fertig und beim 2. UFo deren Daten in abhàngigkeit
von den UFos aus Register A angezeigt werden und fange an, an
verschiedenen Stellen Abstürze von Access zu erleben. z.B. wenn ich
einen Registerwechsel per Button ausführe. Dann stürzt die DB
beispielsweise ab wenn das Current Ereignis eines UFos 2 mal
hintereinander durchlaufen wird. Aber auch anderen eigentlich
problemlosen Stellen.

Da ich sàmtlich /Decompile, etc. Maßnahmen schon durch habe,
wende ich mich verzweifelt an die Newsgroup.
Bevor ich jetzt detailiert auf das Datenmodell eingehe, liegt mir
die Frage nàher:

Hat jemand Erfahrung mit der Verwendung vieler gleichzeitiger UFoŽs?
Geht das überhaupt?
...



Es geht schon, ist aber nicht empfehlenswert, einfach weil man mit
einem solchen Anwendungsdesign sehr viele Objekte und Daten làdt.
Zudem klingt deine Beschreibung, als hàttest du auch noch viel
Programmierung in dieser Bündelung von Formularen.
Das arbeitet alles gegen die Stabilitàt der Anwendung.

Was du deshalb und schon aus Performancegründen zumindest
vom Prinzip her machen solltest, ist, nur die UFos zu laden, die im
Moment wirklich nötig sind (bzw. waren), weil der Anwender sie sieht.

Das kannst du steuern, indem du die Eigenschaft "Herkunftsobjekt"
der UFo-Steuerelemente ab Seite 2 leer làsst und erst beim
Wechseln zur jeweiligen Registerseite das SourceObject des
UFos zuweist (s. a. www.donkarl.com?FAQ4.17). Also ca.

Select Case Me!RegisterA
Case 1
If Me!UFoAufSeite2.SourceObject = "" Then _
Me!UFoAufSeite2.SourceObject = "DasHerkunftsformular2"
Case 2
If Me!UFoAufSeite3.SourceObject = "" Then _
Me!UFoAufSeite3.SourceObject = "DasHerkunftsformular3"
usw.
End Select

Servus
Karl
****************
http://www.donkarl.com Access-FAQ
http://www.donkarl.com/?aek 13. Access-Entwickler-Konferenz
Nürnberg: 25./26.9. + 2./3.10.2010, Hannover: 16./17.10.2010

Ähnliche fragen