Neuigkeiten:

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

Mobiles Hauptmenü

Gruppieren

Begonnen von AccessNewbieNoob, Juni 11, 2022, 10:48:17

⏪ vorheriges - nächstes ⏩

AccessNewbieNoob

Hallo zusammen,

ich hab mal wieder ein Problem, welches ich scheinbar alleine nicht lösen kann:
Ich habe einen Bericht, der insgesamt 5 Unterberichte enthält.
Jetzt kann es passieren, dass die Seite beim Ausdruck mehr als 1 Seitenlänge hat.
Ich möchte jetzt den Bericht so haben, dass (falls er über die 1. Seite hinaus geht) das unterbrochene Unterformular komplett auf die nächste Seite gedruckt wird. - Falls z.B. bereits beim 3. Unterformular soviel Datensätze sind (oder der Text zu viel wird), dass es im Unterbericht 4 zu einem Seitenumbruch kommt, dann soll der Unterbericht 4 und 5 eben erst auf der nächsten Seite gedruckt werden und nicht die ersten 3 Zeilen auf Blatt 1 und der Rest auf Blatt 2. Irgendwie kapier ich das mit dem gruppieren nicht - Access will immer SORTIEREN, ich will doch nur eine Gruppe zusammenhalten und auf die nächste Seite drucken. Kann mir jemand helfen?
~Joe~

Starr mich nicht so an, ich bin auch nur eine Signatur.

MzKlMu

#1
Hallo,
Zitat von: undefinedAccess will immer SORTIEREN,
Eines vorweg, Du kannst sortieren ohne zu Gruppieren, aber ein Gruppieren erfordert immer ein Sortieren, die Gruppen müssen ja zusammenhängend dargestellt werden.
Aber ich fürchte, Dein Problem lässt sich nicht so ohne weiteres lösen. Du musst die UB's entsprechend einstellen, wenn das auf Grund der Datenlage überhaupt möglich ist.
Wozu brauchst Du da überhaupt 5 Unterberichte ?

Zeige mal ein Bild des Beziehungsfensters und erkläre was die UB's darstellen.
Gruß
Klaus

AccessNewbieNoob

#2
Hallo Klaus,

wenn du das Bild siehst wirst du verstehen wo die 5 UB´s herkommen:
Sie dürfen in diesem Board keine Dateianhänge sehen.

Die stehen alle immer einzeln über eine 1:n mit der Haupttabelle in Verbindung.
Mir fällt in dieser Beziehung kein anderer Weg ein, weil sich ja die Menge der Einträge in jeder Kategorie ändern.
Also ist der Bericht in 6 Gruppen unterteilt:
1. Hauptthema (darin ist der Kopf und die Firmenangaben usw.)
2. Gefahren für Mensch und Umwelt (UB1)
3. Schutzmaßnahmen (UB2)
4. Verhalten (UB3)
5. Erste Hilfe (UB4)
6. Instandhaltung (UB5).

Ich möchte das NICHT in Word haben, weil mir die Sucherei und das Durcheinander das bei vielen BA´s entsteht auf den Zeiger gehen. Darum hab ich das in eine DB gepackt.
Ich bin auch offen für Vorschläge es anders aufzubauen (ohne die 5 UB´s), wenn dir was einfällt.
Wichtig für mich wäre nur, dass eben immer die Gruppen zusammen bleiben, weil es sonst unübersichtlich wird.
~Joe~

Starr mich nicht so an, ich bin auch nur eine Signatur.

trebuh

Hallo,

ich habe mich mit Access Programmentwicklung schon länger nicht mehr befasst, aber ich meine damals in meiner Anwendung auch vor dem Problem gestanden zu haben.
Wenn ich mich nicht täusche, kann man es im Bericht einstellen, ob die Gruppe zusammenbleiben soll oder nicht.
Ich hatte damals in einem der Bücher von André Minhorst z.B. "Access im Unternehmen" dazu was gelesen und das umgesetzt.

Ich müsste mich da aber erst mal wieder einarbeiten.

Gruß
Hubert

DF6GL

#4
HAllo!


ZitatDie stehen alle immer einzeln über eine 1:n mit der Haupttabelle in Verbindung.

Wenn das korrekt und der Situation entspr. aufgebaut ist , dann


Erstelle eine Abfrage für den Bericht, die alle Tabellen umfasst und über die Schlüsselfelder verknüpft.


Im Bericht wird für jeden PK aus den Tabellen eine Gruppe erzeugt. Im Detailbereich kommen alle relevanten Felder aus den Tabellen zu stehen.  Sind die Felder in den Tabellen unterschiedlich, so müssen die nicht zur aktuellen Tabelle (PK) gehörenden Felder ausgeblendet werden.

Haben die n-Tabellen nur einen DS (was lt. dem Beispielbild)  vermutet werden könnte, so können die Felder aus den einzelnen n-Tabellen in den dazugehörenden Gruppenkopf gelegt werden.  Der Detailbereich wird in diesem Fall ausgeblendet.

MzKlMu

Hallo,
da ich angenommen habe, dass das echte Namen sind auf dem Bild, habe ich das Bild vorsorglich gelöscht.
Bitte Namen schwärzen und noch mal hochladen.
Und ein Bild des Beziehungsfensters wäre wesentlich aussagefähiger.
Gruß
Klaus

AccessNewbieNoob

Hallo  zusammen,

Das Bild war aus dem Netz. Im Anhang ist das originale Beziehungsbild aus der DB.
Im Berichtskopf ist das, was auf jeder Seite angezeigt werden soll (Also Überschrift, Logo, Datum usw.).
Im Detailbereich des Berichts ist dann das Teil, um welches geht und dann dazu die Unterformulare für das ausgewählte Teil.

@DF6GL :
Sorry, das verstehe ich nicht: Macht Access dann selbstständig die entsprechenden DS je nach Menge?
Muss ich mal ausprobieren...
~Joe~

Starr mich nicht so an, ich bin auch nur eine Signatur.

MzKlMu

#7
Hallo,
die Struktur ist falsch. Die 5 Tabellen sind in einer Tabelle zu erfassen, mit einem Kennzeichen (Schlüssel) für die Art. Dass die Tabellen in einer zusammengefasst werden sollten erkennt man auch an der Ähnlichkeit. Die unterschiedlichen Felder lassen sich sicher alle als Beschreibung anlegen.
Die SEC_Gef-Nummer ist als Primärschlüssel ungeeignet, nimm die ID, das ist ja Sinn einer ID. Die SEC_Gef-Nummer ist in der Betriebsanweisungstabelle ohnehin falsch. Die steht ja bereits bei den Beschreibungen.

In den Beziehungen stellt man grundsätzlich den Typ 1 ein. Beziehungstypen werden bei Bedarf nur in Abfragen (da sind es Verknüpfungen) geändert.

Und vermeide unbedingt Leer und Sonderzeichen (-) in Feldnamen.

Wenn die Struktur stimmt kannst Du nach den Arten gruppieren. Dann dürfte sich Dein Problem erledigt haben.

Das hochgeladene Bild (das ich gelöscht habe) war ziemlich unbrauchbar für die wirklich vorliegende Tabellenstruktur.
Gruß
Klaus

AccessNewbieNoob

Hallo Klaus,
sorry, aber diesmal glaube ich, dass du das von Dir gelöschte Bild nicht verstanden hast.
1. Wenn ich die verschiedenen Unterformulare weg lasse, dann wirft Access mir alles in 1 Haupttabelle und 1 Untertabelle. - Dann kann ich unmöglich nach verschiedenen Gruppen aufteilen. Wie stellst du dir das vor, zwischen Datensatz 7 und 8 eine neue Überschrift zu erstellen?
Nehmen wir mal an, es geht um eine Lampe. Die steht dann in der Überschrift und ist somit die Grundlage in der Haupttabelle. Jetzt sollen separat die Gefahren beschrieben werden, die von der Lampe ausgehen (Bei mir UB1). okay, lässt sich aufsteigend sortieren, jetzt kommen als Beispiel 11 Gefahren (bei einem PKW sind es eventuell 20). - Das alles kann in eine Tabelle unter der ID 1 und der ZusatzID 1.
Als 12. Datensatz kommt jetzt ZusatzID 2 mit ihren Schutzmaßnahmen. Hier beginnt aber dann ein Problem: Wie komme ich (im Bericht) zur Überschrift "Schutzmaßnahmen"? Das von Dir gelöschte Bild hat gezeigt, dass das eine eigene Kategorie ist (und beim PKW dürfte die Überschrift logischerweise erst nach dem 20. Eintrag kommen.). Das selbe Problem haben auch ZusatzID3, 4 und 5.
2. Wieso ist die SEC_Gef-Nummer (okay, das Minus sollte weg, sehe ich ein) ungeeignet als Primärschlüssel? Ist es nicht egal, wie eine ID heißt?
3. Beziehung Typ 1? Kann ich ändern, allerdings funktioniert meine 1:n ohne Duplikate auch.

Irgendwie steh ich aktuell echt auf dem Schlauch...  :(
~Joe~

Starr mich nicht so an, ich bin auch nur eine Signatur.

MzKlMu

#9
Hallo,
Zitat von: undefinedIch bin auch offen für Vorschläge es anders aufzubauen (ohne die 5 UB´s), wenn dir was einfällt.
Ich habe Dir einen entsprechenden Vorschlag gemacht. Nur, Du hast meine Antwort nicht verstanden. Die von Dir angedachte Struktur ist falsch. Du brauchst nur 3 Tabellen.
In meiner Antwort habe ich das ausführlich beschrieben. Schon mal damit beschäftigt ?
Du kannst dann nach der Art (Instandhaltung, Störungen usw.) gruppieren und hast automatisch nur die entsprechenden Beschreibungen im Detailbereich, automatisch die entsprechende Anzahl, egal ob 5 oder 20.

Die  SEC_Gef-Nummer taugt nicht als PS, das da Text (vermutlich) ist und Texte sind als PS prinzipiell ungeeignet. Außerdem hat diese Nummer in der Betriebsanweisungstabelle nicht zu suchen. Du ordnest ja entsprechende SEC_Gef-Nummer, wozu dann noch mal speichern.

Gib mir mal ein Beispiel für eine solche Nummer

Ich mache Dir später mal ein Beziehungsbild wie das aussehen sollte.
Ich brauche aber erst mal das Beziehungsbild in dem die Tabelle mit den Betriebsanweisungen so groß gezogen ist, dass man alle Felder sieht.
Gruß
Klaus

AccessNewbieNoob

Hallo,

yepp, ich hab deine Antwort gelesen und auch mal eine neue Tabelle ausprobiert. Aber ganz ehrlich: Nicht wirklich verstanden. Ich habe es mit 2 Tabellen probiert, aber das geht auf jeden Fall nicht.

Eine solche Sec_Gef-Nummer wäre z.B. "Ger WS001" (Ger=Geräte, WS=Werkstatt, 001=lfdNr.).


Danke für deine Geduld, bin scheinbar etwas überfordert. Ich probier schon seit 2 Wochen alles mögliche und nix klappt.  :-\
~Joe~

Starr mich nicht so an, ich bin auch nur eine Signatur.

MzKlMu

#11
Hallo,
"Ger WS001" ist als PS ungeeignet, außerdem würde man hier 3 Felder verwenden, mehrere Werte in einem Feld verstößt gegen die 1. Normalform. Die Sec_Gef-Nummer wird dann bei Bedarf nur zusammengesetzt. Für die Art der BA (GER=Gerät) und den Bereich (WS=Werkstatt) sind auch Tabellen erforderlich. Wahrscheinlich auch noch eine Tabelle für die Geräte selbst.

Zitat von: undefinedIch habe es mit 2 Tabellen probiert,
Mit 2 Tabellen geht es definitiv nicht.
Das mit den Piktiogrammen ist auch falsch. Aufzählungsfelder (mit der Zahl hinten) sind so gut wie immer falsch. Du brauchst eine Tabelle für die Piktogramme, alle Piktogramme mit einem Kennzeichen ob Gefahr oder Schutz in je einem Datensatz. In einer weiteren Tabelle werden die Piktogramme der Betriebsanweisung zugeordnet, auch in jeweils einem Datensatz. Die Felder für die Piktogramme in der Betriebsanweisung entfallen dann ersatzlos.

Du brauchst zwei n:m Beziehungen, eine zwischen Betriebsanweisung und den Beschreibungen und eine zwischen Betriebsanweisung und den Piktogrammen. Das ist alles reltiv einfach, wenn man es erst mal begriffen hat.

Was gibt es denn noch außer Gerät und Werkstatt noch ?
Beschreibe das mal genauer.
Oder lade Deine bisherige DB mal hier hoch.

Ich mache Dir dann später mal ein Beispiel.

Beschäftige Dich auch zwischenzeitlich mal mit diesem Tutorial. Da sind auch n:m Beziehungen beschrieben (unter Tabellen).

https://www.access-tutorial.de/
Gruß
Klaus

AccessNewbieNoob

Hallo,

Zitat von: MzKlMu am Juni 12, 2022, 16:28:16Das ist alles relativ einfach, wenn man es erst mal begriffen hat.
ist jetzt nicht dein Ernst, ich sehe das alles als extrem kompliziert an. Aber ich versuche es.
Der PS kann eigentlich benannt werden wie ich das will, ich habe da keine Vorgaben. Ich dachte nur, dass der einen Sinn macht, weil man da an dem Feld schon erkennen kann worum es sich handelt. Dazu dann eine Legende, die die Zusammensetzung erklärt und fertig.
Die Piktogramme selbst sind schon in einer Tabelle, im Formular / Bericht habe ich die erforderlichen Felder eingebaut, damit sie angezeigt werden können (Wie soll ich denn die Pikto´s in einen Bericht einsetzen, wenn gar kein Feld für sie da ist? - Genau so etwas bringt mich dann komplett durcheinander, weil ich es nicht verstehe) . Es könnten bei den Gefahren bis zu 6 Piktogramme gleichzeitig notwendig werden.
Die bisherige DB ist leer, ich habe da nur 2 Test-Datensätze drin, damit ich im Bericht sehe wie es aussehen würde, besonders eben bei einem Bericht mit mehr als 1 Seite.

Zitat von: MzKlMu am Juni 12, 2022, 16:28:16Was gibt es denn noch außer Gerät und Werkstatt noch ?
Das kann ich dir nicht mal sagen, weil es ist eben alles möglich. Je nach Objekt, welches eine Werkstatt, ein Lager, ein Büro oder selbst eine Baustelle sein kann erstelle ich dazu dann die passende Beurteilung.

...irgendwo hab ich das Gefühl das wird wohl doch unmöglich für mich. Ich lese ständig nur: falsch, falsch falsch.  :'(
~Joe~

Starr mich nicht so an, ich bin auch nur eine Signatur.

trebuh

Hallo AccessNewbieNoob.

Klaus hat mit der Aussage:
ZitatDas ist alles relativ einfach, wenn man es erst mal begriffen hat
schon recht.

Wenn man das Prinzip einer Datenbank begriffen hat, ist es einfach.
Das Problem als Neuling ist meist, dass man mal mit was anfängt. Dann kommt dieses und jenes hinzu, und dann kommt man nicht weiter, weil es vom Grundgerüst her nicht passt. Da ist Excel einfacher zu handhaben.

Aber ich denke, das wird schon noch ;-)
Hast Du denn was an Literatur zur Hand?

Klaus hat Dir angeboten, eine Beispieldatei zu erstellen. Beschreibe mal genauer was Du vor hast, bzw. was die Anwendung machen muss.
Aber ich warne Dich schon im Voraus. Der Appetit kommt beim Essen. :-D
Soll heißen, dass man dann gerne schnell mal dies und jenes noch dazu haben möchte, wenn man sieht, wie die Anwendung wächst.

Gruß
Hubert

 

MzKlMu

#14
Hallo,
Zitat von: undefineddass der einen Sinn macht, weil man da an dem Feld schon erkennen kann worum es sich handelt.
Den Sinn habe ich ja nicht bestritten, nur als Primärschlüssel taugt das dann nicht.
Zitat von: undefinedWie soll ich denn die Pikto´s in einen Bericht einsetzen, wenn gar kein Feld für sie da ist?
Die Felder gibt es schon, nur eben nicht in der Tabelle mit der Betriebsanweisung. Die stehen dann in der n:m Tabelle (und zwar nur die Zutreffenden) und können dann natürlich auch im Bericht angezeigt werden.
Zitat von: undefinedwelches eine Werkstatt, ein Lager, ein Büro oder selbst eine Baustelle sein kann
Und was ist mit dem Kürzel Ger, das steht ja für Geräte, was gibt es noch für Kürzel ?
Nach dem Grät hbe ich schon mal gefrat, bist Du aber nicht darauf eingegangen.

Ich kann Dir nur einen brauchbaren Vorschlag machen, wenn ich die Zusammenhänge einigermaßen überblicke.
Also bitte immer alles beantworten.

Anmerkung:
Du musst Dich unbedingt mit den Grundlagen zur Entwicklung relationaler Datenbanken beschäftigen.
Access muss man lernen, da geht nix intuitiv. Und vor allen Dingen, darf man nich falsch anfangen, weil Korrekturen an der Struktur (=Datenmodell) immer mit einem Haufen Aufwand verbunden ist. Wenn Du das nicht tust, wirst Du frustiert aufgeben. Access lässt sich nicht intuitiv bedienen wie Excel oder Word.
Hast Du Dich schon mal mit dem Tutorial aus #11 beschäftigt ?
Hier noch ein Link zu etwas mehr Theorie:
https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/
Gruß
Klaus