Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Designproblem UFO im UFO
zurück: Formular öffnen und Feld ausblenden per Button Code weiter: Mit Kombinationsfeld in Tabelle schreiben Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
sk42
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Mai 2012, 11:29
Rufname:

Designproblem UFO im UFO - Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,

Ich habe ein Hauptformular, in dem sich ein Unterformular befindet. Da die Daten im Unterformular als Liste angezeigt werden müssen, dieses UFO aber wiederum ein UFO (als Endlosformular, d.h. ich muß auch hier alle Datensätze auf einmal sehen können) enthalten muß, kann ich hier nur "Datenblattansicht" wählen (in einem Endloskomular kann man ja kein UFO mehr rein setzen; das läßt Access leider nicht zu).

Wie kann ich es nun erreichen, daß dieses UFO in der Datenblattansicht des 1. UFOs immer angezeigt wird, wenn sich Datensätze darin befinden? Bisher muß ich immer erst auf das Plus-Zeichen links bei jedem Datensatz klicken, damit mir das UFO im UFO angezeigt wird. Es soll aber bereits beim Öffnen des Formulares angezeigt werden, da ich alle Datensätze gleichzeitig sichtbar benötige.

Beim Editieren reicht es mir dann aus, wenn ich zum Einfügen neuer Datensätze im untersten UFO auf das Plus-Zeichen klicken muß.

Aus Platz- und vor allem auch Übersichtsgründen soll dieses UFO im UFO aber nur dann angezeigt werden, wenn sich auch wirklich Daten darin befinden. Dieses Konstukt UFO in Datenblattansicht mit darin befindlichem UFO ist ja von Haus aus nicht gerade übersichtlich, aber wohl leider nicht anders zu lösen.

PS: vielleicht noch erwähnenswert, daß in diesen UFOs lediglich 2-5 Datensätze pro Hauptformulardatensatz vorhanden sind, d.h. es müssen dort keine lagen Listen angezeigt werden)
derArb
getting better


Verfasst am:
10. Mai 2012, 21:15
Rufname: derArb
Wohnort: Berlin


AW: Designproblem UFO im UFO - AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,
man kann soviele UFOs mit Endlosformularen darin in einem HF plazieren, wie man will.
Hier ein Beispiel.

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.



HF_4x_Unterformulare.zip
 Beschreibung:
mdb

Download
 Dateiname:  HF_4x_Unterformulare.zip
 Dateigröße:  179.43 KB
 Heruntergeladen:  16 mal

sk42
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Mai 2012, 23:12
Rufname:

Re: AW: Designproblem UFO im UFO - Re: AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,

Ja, aber das war gar nicht meine Frage. Wink
Ich fragte nach einem UFO im UFO als Listenansicht (Datenblattansicht, weil UFO im Endlosformular ja nicht möglich ist) in einem HF.

Ich muß die Datensätze im untersten UFO optisch mit einem Blick eindeutig einem Datensatz im darüber liegenden UFO zuordnen können. Das ist bei deinem Beispiel nicht gegeben, denn da sind die UFOs nebeneinander optisch losgelöst vom übergeordneten Datensatz angeordnet. Ich kann da nicht sofort mit einem Blick erkennen, welcher Schüler in welchem Fach 2 Punkte in Algebra geschrieben hat (da muß man sich erst mühsam durch die Schlüssel hangeln).

Habe mal schnell eine Beispiel-DB zusammen geklickt. Das unterste UFO (frm_Unterdetail) soll schon beim Öffnen des Formulares (und auch beim Datensatzwechsel) ausgeklappt angezeigt werden, aber nur dann, wenn sich auch ein Datensatz darin befindet.



UFOimUFO.zip
 Beschreibung:

Download
 Dateiname:  UFOimUFO.zip
 Dateigröße:  22.5 KB
 Heruntergeladen:  16 mal

derArb
getting better


Verfasst am:
11. Mai 2012, 18:23
Rufname: derArb
Wohnort: Berlin

AW: Designproblem UFO im UFO - AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,
ich hab mir sagen lassen, dass man Formulare auch verschieben kann, wenn einem
eine "Nebeneinanderansicht" nicht gefällt.
Aber hier mal etwas, was gefallen könnte. Das Verstecken des Ufo's bedarf allerdings etwas VBA Code

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.



UFOimUFO [1] [1].zip
 Beschreibung:
mdb

Download
 Dateiname:  UFOimUFO [1] [1].zip
 Dateigröße:  28.48 KB
 Heruntergeladen:  17 mal

sk42
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Mai 2012, 21:44
Rufname:


Re: AW: Designproblem UFO im UFO - Re: AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,
derArb - 11. Mai 2012, 18:23 hat folgendes geschrieben:
ich hab mir sagen lassen, dass man Formulare auch verschieben kann, wenn einem
eine "Nebeneinanderansicht" nicht gefällt.
Ich denke du hast noch nicht verstanden was ich hier benötige. Nebeneinander oder untereinander ist irrelevant, wenn die benötigte Funktionalität nicht gegeben ist.
Ich wollte in deinem ersten Beispiel mal einen neuen Datensatz eigeben und stellte dann beim Klicken in ein Feld fest, daß sich die Datensätze in den hierarchisch darunter liegenden UFOs änderten! Dein Formular ist zwar ein schönes mehrstufiges Suchformular, was ich bestimmt an anderer Stelle verwenden kann (ich mache sowas ähnliches z.Zt. mit Listenfeldern), aber es ist nicht das was ich in diesem speziellen Fall brauche. Ich möchte im untersten UFO alle Datensätze sehen und auch, zu welchem Datensatz im darüber liegenden Datensatz der jeweilige Datensatz gehört.
Wenn ich mich erst durch die Datensätze des übergeordneten UFOs durchklicken muß, ist eine mit einen Blick erfaßbare Übersicht nicht gegeben.

Zitat:
Aber hier mal etwas, was gefallen könnte. Das Verstecken des Ufo's bedarf allerdings etwas VBA Code
Beim Klick auf den Button tut sich nichts. Was soll da passieren? Confused

Auch hier sieht man die Datensätze im unteren UFO erst alle, wenn man sich durch die Datensätze im oberen UFO durchklickt.

Ich wüßte auch nicht, wie man die gewünschte Funktionalität anders erreichen könnte als in meinem Beispiel, wobei mein Problem dabei ist, daß ich nicht weiß, wie man das unterste UFO dazu bringt, sich automatisch zu öffnen, sobald dort ein Datensatz vorhanden ist (Klicken ist schlecht, denn damit bekommt man keine Übersicht).
MissPh!
Office-VBA-Programmiererin


Verfasst am:
12. Mai 2012, 00:14
Rufname:
Wohnort: NRW

AW: Designproblem UFO im UFO - AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,
Zitat:
Ich möchte im untersten UFO alle Datensätze sehen und auch, zu welchem Datensatz im darüber liegenden Datensatz der jeweilige Datensatz gehört.
wenn das so ist, könnte evtl. die Einstellung der Eigenschaft "SubdatasheetExpanded" im übergeordneten (=mittleren) Formular helfen.

Ich hatte dich zunächst so verstanden, dass du den Klick auf das Pluszeichen beim Betreten des Datensatzes automatisch auslösen, also ausschließlich die Unterdatensätze zum aktuellen Datensatz sehen wolltest.

Allerdings wirkt sich die Einstellung "SubdatasheetExpanded = True" auf alle Unterdatenblätter aus, unabhängig davon, ob sie Datensätze enthalten oder nicht.

Willst du dort nur vorhandene Daten anzeigen und keine neuen eingeben können, dann wähle die Einstellung "Anfügen zulassen = Nein".

_________________
Gruß MissPh!
derArb
getting better


Verfasst am:
12. Mai 2012, 11:29
Rufname: derArb
Wohnort: Berlin

AW: Designproblem UFO im UFO - AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,
Zitat:
Beim Klick auf den Button tut sich nichts. Was soll da passieren?
Logischerweise tut sich da nur was, wenn das UFO unsichtbar ist.
_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
sk42
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Mai 2012, 14:02
Rufname:

Re: AW: Designproblem UFO im UFO - Re: AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,

Aber es ist nicht unsichtbar. Die Überraschung kam dann beim Datensatzwechsel. Cool Das ist für den Anwender aber nicht sofort ersichtlich. Wink

Es funktioniert auch mit meiner Ursprünglichen Anordnung UFO im UFO. Cool
Ich werde also so eine Sichtbar/Unsichtbar-Funktionalität einbauen in mein Formular.

MissPh hat folgendes geschrieben:
könnte evtl. die Einstellung der Eigenschaft "SubdatasheetExpanded" im übergeordneten (=mittleren) Formular helfen.
Ah, "Subdatasheet" heißt das. Da habe ich mal wieder nach völlig falschen Stichwörtern gesucht (logischerweise nach "Unterformular", denn es handelt sich ja um Unterformulare). Crying or Very sad
Die Online-Hilfe ist da mal wieder unverständlich: sucht man dort nach "SubdatasheetExpanded", so wird da von Tabellen gesprochen (es gibt ja auch diese Untertabellen-Anzeige in Tabellen). Confused Wer soll darauf kommen, daß sich dies auf Unterformulare bezieht. Confused

Zitat:
Ich hatte dich zunächst so verstanden, dass du den Klick auf das Pluszeichen beim Betreten des Datensatzes automatisch auslösen, also ausschließlich die Unterdatensätze zum aktuellen Datensatz sehen wolltest.
Damit erreicht man aber keine übersichtliche Datendarstellung. Das ist nur sinnvoll, wenn viele Datensätze vorhanden sind (das würde dann sowieso nicht auf den Monitor passen). Wenn aber standardmäßig nur 3-4 Datensätze und Detaildatensätze vorhanden sind, dann will man natürlich alle gleichzeitig angezeigt bekommen. Nichts ist schlimmer, als sich da erst durchklicken zu müssen. Übersichten sind unersetzlich (fast alle meine UFOs sind daher auch in Datenblattansicht, man will die Daten ja schließlich auch sehen)! Aus dem Grund mache ich auch viel Gebrauch von Listenfeldern, in denen ich die aufgrund der Normalisierung über mehrere Tabellen verteilte Daten wieder in eine lesare Form zusammen setze (auch aufgrund der UFO-im-UFO-Problematik). Access bietet bei verketteten 1:n bzw. n:m-Tabellen bei mehr als 2 Tabellen ja keine übersichtliche Darstellungs (und Editier)-Möglichkeit mehr (bei 2 Tabellen geht das noch sehr gut mit HFO und UFO in Datenblattansicht oder Endlosformular). So manches mal habe ich deswegen auch schon das Datenmodell angepassen müssen, weil anders der benötigte Workflow nicht hinzubekommen war. Crying or Very sad
Ein weiteres UFO im Datenblattansicht-UFO ist allerdings auch nur eine Notlösung, da man dies nicht vernünftig formatieren kann. Aber das ist immer noch besser, als sich erst durchklicken zu müssen wenn man die Unterdaten sehen will.
Leider kann man in einem Endlosformular ja gar kein UFO mehr plazieren (Endlosformulare kann man wenistens formatieren, so daß man eine optisch übersichtliche Darstellung machen könnte). Der Grund für diese Einschränkung erschließt sich mir allerdings nicht. Was bei der Datenblattansicht möglich ist, sollte doch auch bei der Endlosformular-Ansicht möglich sein. Confused

Zitat:
Allerdings wirkt sich die Einstellung "SubdatasheetExpanded = True" auf alle Unterdatenblätter
Gibt es keine Möglichkeit, nur das UFO eines bestimmten Datensatzes auszuklappen? Manuell mit klick auf das Plus-Zeichen geht das doch auch? Und Access behält den Zustand auch nach Datensatzwechsel bei. Also müßte dies doch auch irgendwie mit VBA genauso zu erreichen sein?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
12. Mai 2012, 22:05
Rufname:
Wohnort: NRW

Re: AW: Designproblem UFO im UFO - Re: AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo.
sk42 - 12. Mai 2012, 14:02 hat folgendes geschrieben:
Die Online-Hilfe ist da mal wieder unverständlich: sucht man dort nach "SubdatasheetExpanded", so wird da von Tabellen gesprochen (es gibt ja auch diese Untertabellen-Anzeige in Tabellen). Confused Wer soll darauf kommen, daß sich dies auf Unterformulare bezieht. Confused
Access-Hilfe hat folgendes geschrieben:
Die Eigenschaften SubdatasheetExpanded und SubdatasheetHeight haben Wirkung auf das Unterformular-Steuerelement (Subdatasheet), wenn das Formular in der Datenblattansicht ist.

Zitat:
Gibt es keine Möglichkeit, nur das UFO eines bestimmten Datensatzes auszuklappen?
Ich denke auch, dass das gehen müsste, habe aber leider nichts dazu gefunden.
_________________
Gruß MissPh!
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
13. Mai 2012, 03:05
Rufname:


AW: Designproblem UFO im UFO - AW: Designproblem UFO im UFO

Nach oben
       Version: Office 2003

Hallo,

leider gibt es keine direkte Methode, um nur einzelne Subdatasheets ein- oder auszublenden. Hier gibt es nur die Methode, SendKeys zu verwenden (was ich persönlich ungern tue, aber in der Not...).

Wenn Du das hier dem Hauptformular hinzufügst, funktioniert es so wie gewünscht:
Code:
Private Sub Form_Current()
    Dim lngRecords As Long
    Dim i As Long
    Dim rs As DAO.Recordset

    Set rs = Me.sfDetail.Form.Recordset.Clone
    Me.sfDetail.Form.SubdatasheetExpanded = False
    With rs
        If Not (rs.EOF And rs.BOF) Then
            .MoveLast
            If .RecordCount > 0 Then
                .MoveFirst
                For i = 1 To .RecordCount
                    lngRecords = DCount("*", "Tab_Unterdetail", "Detail_FK=" & Nz(rs.Fields("Detail_PK"), 0))
                    If lngRecords > 0 Then
                        Me.SetFocus
                        Me.sfDetail.SetFocus
                        Me.sfDetail.Form.Detail_PK.SetFocus
                        SendKeys "+^{DOWN}^{TAB}"
                        'SendKeys ""
                        Debug.Print lngRecords
                      Else
                        Me.SetFocus
                        Me.sfDetail.SetFocus
                        Me.sfDetail.Form.Detail_PK.SetFocus
                        SendKeys "{DOWN}"
                    End If
                    rs.MoveNext
                Next
            End If
        End If
    End With
    Set rs = Nothing
End Sub
Das Problem bei SendKeys ist, daß man ihm nicht "dazwischenfunken" darf. Wenn man innerhalb der Schleife auf das Formularrecordset zurückgreift, hört SendKeys einfach auf, weiterhin zu funktionieren. Daher habe ich hier mit der Clone-Methode eine Kopie des Formularrecordsets erstellt, so daß ich mich in diesem bewegen kann, ohne daß am Formular etwas geändert wird.
Mit den Tasten STRG+SHIFT+Down kann man ein UFO ausklappen und mit STRG+TAB springt der Cursor auf die nächste Zeile des übergeordneten Datasheets. So bewegt sich dann der Cursor im Formular und das Recordset im Hintergrund.
Über das Recordset wird dann anhand des Keys abgefragt, ob es im Unterdatenblatt Datensätze gibt oder nicht, wenn ja, wird das UFO ausgeklappt, ansonsten nur (ebenfalls mit SendKeys) ein Datensatz tiefer gewechselt.
Am Ende steht das Formular immer auf dem neuen Datensatz.

Witzig ist auch, wenn man in die Schleife ein "DoEvents" mit einfügt, funktioniert SendKeys auch nicht mehr. Debuggen geht auch nur äußerst schwierig, da im Einzelschrittmodus das SendKeys auf das VBA-Fenster wirkt...

Man sollte auch überlegen, daß die Methode sicherlich nicht sehr performant ist, wenn das Datasheet sehr viele Datensätze enthält. Für eine kleine Menge Datensätze ist es OK. Etwas mehr Performance könnte man sicher noch erreichen, wenn man das Datasheet auf einer Abfrage beruhen läßt, die als zusätzliche Spalte den Count gleich mit holt, so daß nicht für jede Zeile nochmal DCount aufgerufen werden muß (das habe ich mir hier geschenkt, kannst Du ja selbst ausprobieren).

Eine ganz andere Methode mit Windows API-Funktionen ist hier beschrieben, sogar auf dem offiziellen Access-Blog erwähnt - bloß bei mir hat's nicht funktioniert. Vielleicht ist ja auch meinem Rechner mit Vista etwas anders. Hier der Link:
Expand only the SubDatasheets you want

Diese Methode ist allerdings sehr viel komplizierter und möglicherweise noch fehleranfälliger.

Gruß

Christian



UFOimUFO2.zip
 Beschreibung:
Selektives Einblenden von Subdatasheets mit Hilfe von SendKeys

Download
 Dateiname:  UFOimUFO2.zip
 Dateigröße:  33.33 KB
 Heruntergeladen:  15 mal

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 Tabellen & Abfragen: Designproblem 2 Anton.W 92 13. Jan 2012, 12:48
Anton.W Designproblem
Keine neuen Beiträge Access Tabellen & Abfragen: Daten aus Tabelle in UFO anzeigen lassen 3 Jondalar 585 25. Feb 2008, 09:37
Marmeladenglas Daten aus Tabelle in UFO anzeigen lassen
Keine neuen Beiträge Access Formulare: Im Formular berechnung mit felder aus gefiltertem UFO 2 jdf1976 986 16. Mai 2006, 01:03
jdf1976 Im Formular berechnung mit felder aus gefiltertem UFO
Keine neuen Beiträge Access Formulare: Ufo automatisiert wechseln 0 jeem 502 15. Mai 2006, 08:18
jeem Ufo automatisiert wechseln
Keine neuen Beiträge Access Formulare: UFO problem lösbar? 1 rw597678 694 27. März 2006, 21:33
faßnacht(IT); UFO problem lösbar?
Keine neuen Beiträge Access Formulare: Ufo mit Code ansprechen 1 Gast 481 23. Feb 2006, 21:01
jens05 Ufo mit Code ansprechen
Keine neuen Beiträge Access Formulare: Sortierreihenfolge im Ufo, letzter zu erst. 3 Alwin 693 19. Jan 2006, 10:32
Willi Wipp Sortierreihenfolge im Ufo, letzter zu erst.
Keine neuen Beiträge Access Formulare: Zugriff auf UFO auch ohne Inhalt 0 SvenP 485 18. Nov 2005, 16:37
SvenP Zugriff auf UFO auch ohne Inhalt
Keine neuen Beiträge Access Formulare: Listenfeld in UFO 0 magicsource 480 13. Okt 2005, 14:30
magicsource Listenfeld in UFO
Keine neuen Beiträge Access Formulare: Wert in UFO setzen 1 Alwin 590 02. Okt 2005, 09:54
Alwin Wert in UFO setzen
Keine neuen Beiträge Access Formulare: Setzen von Wahr/Falsch Feldern auf True im UFO mit Filter 1 AccessPaul 793 20. Sep 2005, 19:44
jens05 Setzen von Wahr/Falsch Feldern auf True im UFO mit Filter
Keine neuen Beiträge Access Formulare: Anzeigen von Daten in einem UFO 1 Susanne23 496 15. Aug 2005, 23:16
Helge Anzeigen von Daten in einem UFO
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: PHP JavaScript