Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Chris_HN am Dezember 15, 2023, 09:44:53

Titel: Zeilenumbruch / Textfeldgröße im Bestellformular
Beitrag von: Chris_HN am Dezember 15, 2023, 09:44:53
Hallo zusammen,

ich hätte einige Fragen zur Optimierung von einem Bestell- bzw. Rechnungsformular (ausgehende Rechnungen).


Für die Hilfe im Voraus schon mal meinen ergebendsten Dank.
Chris

Titel: Re: Zeilenumbruch / Textfeldgröße im Bestellformular
Beitrag von: PhilS am Dezember 15, 2023, 11:27:58
Zitat von: Chris_HN am Dezember 15, 2023, 09:44:53ich hätte einige Fragen zur Optimierung von einem Bestell- bzw. Rechnungsformular (ausgehende Rechnungen).
Meinst du hier wirklich Rechnungsformular im Sinne eines Access-Formulars? Wenn ja liegt darin ein teil deines Problems. Die richtige Wahl für die Ausgabe von Daten auf Papier/PDF wäre ein Bericht.

Zitat von: Chris_HN am Dezember 15, 2023, 09:44:53Hier habe ich das Thema, dass ich teilweise mit dem Text über der Länge des Texfeldes liege. Heißt, der Text wird nicht vollständig angezeigt.
In einem Bericht lässt sich dieses Problem mit CanGrow=True für die Textbox und die übergeordnete Section für die meisten Fälle recht einfach lösen.


Zitat von: Chris_HN am Dezember 15, 2023, 09:44:53Wenn ich mehrere Positionen in der Bestellung/Rechnung habe und dazu in der Zeile darunter einen Zusatztext schreibe, dann "verhaut" mir Acces gerne mal die Reihenfolge. Aktuell umgehe ich das Ganze, in dem ich als "Positions-Nr." im Formular vor jeder Zeile eine fortlaufende Zahl eintrage und bei Aktualisierung des Formulars dann nach diesem Feld aufsteigend sortiert wird.
Das ist der richtige Ansatz! Wenn du keinerlei Attribut für die Reihenfolge hast, wie soll Access dann die Daten "richtig" sortieren?

Titel: Re: Zeilenumbruch / Textfeldgröße im Bestellformular
Beitrag von: joschi50 am Dezember 15, 2023, 14:18:00
Zitat von: Chris_HN am Dezember 15, 2023, 09:44:53Gibt es irgendwelche Workarounds, wie man so etwas professioneller umsetzt? Letzten Endes hätte ich gerne (es ist ja schließlich bald Weihnachten) es so, dass die Pos.-Nr. auch freie Felder enthalten kann. Heißt: Die Bestell- und Rechnungsposition bekommt eine Zahl, der ergänzende Text im Feld darunter jedoch nicht (oder allenfalls dann bspw. 1.1, 1.2, 1.3 ...). Das Ganze soll aber auch so bleiben und nicht durch Access durcheinandergebracht werden. Irgendwas hat meine Wenigkeit da falsch gemacht, weiß nur nicht was.

Warum packst Du Deinen ganzen Positionstext nicht in ein Memofeld?
Ich handhabe es immer so dass eine Auftragsposition aus einem Kurztext (1-zeilig) und einem Langtext (Memofeld) besteht.
Im Memofeld stehen dann die detailierten Angaben zur Auftragsposition. Im Bericht kannst Du das Memofeld mit cangrow wie von Phil beschrieben ausgeben, im Formular z.B. mit Doppelklick auf das Feld und Ereignis: DoCmd.RunCommand acCmdZoomBox.

Eigentlich sollte eine Rechnungsposition nur eine Positionsnummer haben - es sei denn, sie besteht aus diversen Unterpositionen für die ggf. eine Zwischensumme ausgegeben werden soll. In solchen Fällen hab ich mir angewöhnt Positionsnummern nach dem Schema 001.00 zu vergeben. Ich kann dann Unterpositionen mit 001.01, 001.02.... vergeben.


Titel: Re: Zeilenumbruch / Textfeldgröße im Bestellformular
Beitrag von: Chris_HN am Dezember 18, 2023, 09:49:49
Zitat von: PhilS am Dezember 15, 2023, 11:27:58Meinst du hier wirklich Rechnungsformular im Sinne eines Access-Formulars? Wenn ja liegt darin ein teil deines Problems. Die richtige Wahl für die Ausgabe von Daten auf Papier/PDF wäre ein Bericht.

Da hast Du natürlich Recht. Aber ich habe ein Formular erstellt, indem ich zuerst die Postionen, Preise etc. eingebe. Im Nachhinein dann - zum Druck ins "Papier" oder Pdf - habe ich auch noch den entsprechenden Bericht erstellt. Auch beim Bericht ergibt sich dann die Frage, wie ich ein mehrzeiliges Feld hier abbilden kann.
Titel: Re: Zeilenumbruch / Textfeldgröße im Bestellformular
Beitrag von: Chris_HN am Dezember 18, 2023, 09:58:01
Zitat von: joschi50 am Dezember 15, 2023, 14:18:00Warum packst Du Deinen ganzen Positionstext nicht in ein Memofeld?
Ich handhabe es immer so dass eine Auftragsposition aus einem Kurztext (1-zeilig) und einem Langtext (Memofeld) besteht.
Im Memofeld stehen dann die detailierten Angaben zur Auftragsposition. Im Bericht kannst Du das Memofeld mit cangrow wie von Phil beschrieben ausgeben, im Formular z.B. mit Doppelklick auf das Feld und Ereignis: DoCmd.RunCommand acCmdZoomBox.

Interessanter Ansatz, auf den ich so nicht gekommen wäre. Funktioniert .... Musste erst herausfinden dass "CanGrow" vergrößerbar" heißt im deutschen Access..
Das Video hat mir sehr geholfen:  https://www.youtube.com/watch?v=SdRed7XT4Pc. Hier ist insbesondere auch erklärt, dass man "CanShrink" dann ebenfalls auf "Ja" setzen soll. Ansonsten: TopTipp von Euch. Danke vielmals dafür.

Nur für mich zum Verständnis: Memofeld bedeutet: Felddatentyp: "langer Text" in der zugehörigen Tabelle? Oder kann ich auch "kurzer Text stehen lassen?

Wegen der Positions-Nummer noch eine Frage: Wie stelle ich es am geschicktesten an, dass Access die von Dir aufgeführte Postionierung 01.001, 01.002 (...) etc. auch richtig sortiert?
Titel: Re: Zeilenumbruch / Textfeldgröße im Bestellformular
Beitrag von: joschi50 am Dezember 18, 2023, 11:24:15
Zitat von: Chris_HN am Dezember 18, 2023, 09:58:01Nur für mich zum Verständnis: Memofeld bedeutet: Felddatentyp: "langer Text" in der zugehörigen Tabelle? Oder kann ich auch "kurzer Text stehen lassen?

Wegen der Positions-Nummer noch eine Frage: Wie stelle ich es am geschicktesten an, dass Access die von Dir aufgeführte Postionierung 01.001, 01.002 (...) etc. auch richtig sortiert?

Ja, früher hieß es Memofeld, jetzt langer Text. Du musst auf langer Text umstellen da das kurze Textfeld nur 255 Zeichen aufnehmen kann.

Die "Positionsnummer" ist ja im Grunde nun ein String und kein Nummernfeld mehr. Stelle sicher dass in dem Schema die maximale Anzahl an möglichen Positionen abgebildet werden können die Du brauchst. In diesem Fall 99 Hauptpositionen mit jeweils max. 999 Unterpositionen. Bei mehr Hauptpositionen müsstest Du als Vorgabe 001.000 verwenden.
Ich habe mit dieser Art komplette Leistungsverzeichnisse aus der Baubranche aufgebaut.
Sortiere in Deinem Bericht dann einfach nach der Positionsnummer aufsteigend.
Da ich nicht weiß wie Dein Formular zur Erfassung der Daten aufgebaut ist, kann ich Dir aus dem Stegreif nicht sagen wie sich die Sortierung dort darstellen lässt. Ich denke aber genauso einfach.
Titel: Re: Zeilenumbruch / Textfeldgröße im Bestellformular
Beitrag von: Chris_HN am Dezember 18, 2023, 14:39:03
Zitat von: joschi50 am Dezember 18, 2023, 11:24:15Ich habe mit dieser Art komplette Leistungsverzeichnisse aus der Baubranche aufgebaut.

Hut ab! Chapeau!