Formulareintragungsart ändern (Oder wie man das nennen soll)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formulareintragungsart ändern (Oder wie man das nennen soll)

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Mo, 19.11.2012 09:41

Danke für die Info.
Ich habs jetzt anders gelöst:
Ich hab ein Formular gemacht, um Neukunden zu erfassen und das andere um bestehende Kunden zu bearbeiten...

In den seltensten Fällen bestellt ein neuer Kunde gleich am ersten Tag, weshalb auf die Produkteingabe verzichtet werden kann...

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von RobertG » Mo, 19.11.2012 09:29

Hallo Vanner,

"duplicate value for "Benutzer4"" sagt doch den Grund: Prinzipiell kannst Du eingeben, nur hast Du irgendwo definiert, dass "Benutzer4" nicht zweimal den gleichen Wert haben darf. Wenn ich die Angabe in dem Formularnavigator richtig verstehe, dann ist "Benutzer4" Dein Primärschlüssel. dieses Feld müsste also von dem Hauptformular ans Unterformular weitergegeben werden.
Du hast im Subformular irgendwelche Buttons untergebracht. Versuche einmal, den Datensatz nur zu speichern, indem Du den Formularnavigator benutzt. Der Befehl, der auftaucht, ist ein Einfügebefehl (Insert); da der Datensatz existiert müsste aber ein Änderungsbefehl (Update) erfolgen.

Gruß

Robert

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Mo, 19.11.2012 08:56

Grmpf!
Ich packs nicht!
Dateianhänge
Unbenannt5.PNG
Unbenannt5.PNG (117.18 KiB) 847 mal betrachtet

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von RobertG » Mo, 19.11.2012 08:27

Hallo Vanner,

Du hast ein Hauptformular und ein Unterformular. In dem Hauptformular steht vermutlich der Primärschlüssel, der im Unterformular auch gebraucht wird. Ich hoffe einmal, dass Du im Hauptformular neben dem Primärschlüssel noch ein weiteres Feld stehen hast, z.B. den Firmennamen.
Wichtig ist jetzt, dass in der zugrundeliegenden Tabelle nur die Felder aus dem Hauptformular auch Pflichtfelder sind.
Gehe ins Hauptformular, gründe dort einen neuen Datensatz (durch Neueingabe des Firmennamens). Nach dem Speichern dieses Datensatzes kannst Du in das Unterformular wechseln und alle weiteren Daten zu diesem neuen Firmennamen eingeben.

Gruß

Robert

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Mo, 19.11.2012 08:17

Ich werd noch wahnsinnig!
Jetzt klappt zwar die Bearbeitung der bestehenden Daten, aber ich kann dafür keine neuen Kunden mehr im Formular erfassen...!?!?

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Sa, 17.11.2012 20:49

Hat geklappt! Super! Jetzt bin ich happy! Vielen Dank!

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Sa, 17.11.2012 18:41

Hallo Robert

Vielen, vielen Dank!
Ich werde mich gleich dran versuchen!

Gruss Mic

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von RobertG » Sa, 17.11.2012 09:21

Hallo Vanner,

Du kannst das Ganze vielleicht am einfachsten dadurch lösen, dass Du ein zusätzliches Tabellenkontrollfeld einbaust. Damit scrollst Du durch die Datensätze, die gleichzeitig im ganzen Formular bearbeitet werden können. Sthet als letzte Lösung für ein einfaches Formular (mit zwei Tabellenkontrollfeldern) ebenfalls im Handbuch Base.

Der eigentliche Weg ist aber der folgende: Es wird ein (Haupt)formular erstellt. Mit diesem kannst Du, je nach Konstruktion, auch Neueingaben tätigen. In der Hauptsache dient es aber beim Filtern von Daten dazu, die Daten im Unterformular zu dem Datensatz aus dem Hauptformular darzustellen. Du kannst dann z.B. eine Hotelnummer wie bei Dir im Hauptformular über ein Listenfeld oder ein Tabellenkontrollfeld aufsuchen. Dann bekommst Du alle Daten im Unterformular dazu präsentiert. Die Daten im Unterformular kannst Du entsprechend ändern. Da in Deinem Fall das Hauptformular und das Unterformular den gleichen Datensatz darstellen kannst Du im Unterformular neue Datensätze allerdings erst dann eingeben, wenn der Start der Eingabe im Hauptformular gemacht wurde.

Bei Deiner Datenbank geht das eigentlich recht einfach: (alle Schritte erst einmal mit einer Kopie anfertigen!)
  • Formular zum Bearbeiten öffnen.
    Formularnavigator öffnen.
    Rechter Mausklick auf "Formulare" und ein neues Formular erstellen.
    Eigenschaften des neuen Formulars gleich den Eigenschaften des Formulars "MainForm" einstellen.
    Das Formular "MainForm" im Navigator mit der Maus in das neue Formular verschieben.
    In den Daten-Eigenschaften von "MainForm" jetzt die Einstellungen von "Verknüpfen von" - "Verknüpfen nach" vornehmen (steht im Base-Handbuch).
    Jetzt alle Felder Deines Formulars markieren und etwas nach unten schieben, damit Du etwas Platz für ein Tabellenkontrollfeld bekommst, aus dem Du auswählen kannst.
    Wieder das neue (Haupt)Formular markieren.
    Jetzt ein Tabellenkontrollfeld oben in Deinem Gesamtformular erstellen. Dieses Tabellenkontrollfeld soll ein Element des neuen (Haupt)formulars sein, nicht von "MainForm".
    Das Tabellenkontrollfeld soll auf jeden Fall die Kundennummer und eine weiteres wichtiges Feld, z.B. das Feld "Firma" enthalten.
Wenn Du jetzt das Formular nutzt kannst Du im Tabellenkontrollfeld die Firma aussuchen und bekommst die kompletten Daten in Deiner momentanen Formularansicht dargestellt. Um im Tabellenkontrollfeld zu filtern benötigst Du allerdings die Navigationsleiste, die ganz unten im Formular sitzt. Ich nehme stattdessen gerne eine Navigationsleiste, die direkt bei dem Tabellenkontrollfeld liegt. Da ist der Zugriff schneller.

Da ich aus den Bezeichnungen der Felder in Deinem Formularnavigator entnehme, dass Du das Formular zuerst einmal mit dem Assistenten erstellt hast und nur mit einer Tabelle arbeitest, halte ich die oben geschilderte Variante für die, die am einfachsten auszuführen ist. Wenn Du wirklich immer konkret z.B. die "Kundennummer" weißt, dann bieten sich auch andere Verfahren an, die von der späteren Handhabung her komfortabler sind, aber beim Erstellen erst einmal etwas komplizierter zu handhaben sind. Wenn Du das Base-Handbuch dazu genauer liest, dann wirst Du auf Filter stoßen, die auch ohne Makros und mit der jetzt gerade erstellten Konstruktion von (Haupt)formular und Unterformular ("MainForm" bei Dir) laufen.
Ganz ohne Formularänderung geht es nur, wenn Du ein zusätzliches Feld für die Filtereingabe einbaust und Makros zu Hilfe nimmst. Für Experten ist das die schnellste und komfortabelste Lösung - für Leute, die noch nie mit Makros gearbeitet haben aber wieder etwas völlig neues.

Gruß

Robert

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Fr, 16.11.2012 21:17

Also, ich hab mir das ganze Dossier durchgelesen, versteh aber immernoch nur Bahnhof...
Das Dossier erklärt ja den Aufbau mit Tabellen und ich schaffs ums verr...en nicht das auf meine Darstellung umzusetzen.
Muss ich denn die ganzen Felder jetzt auf Unterformulare aufteilen und mehrere Tabellen erstellen? Hä? BlackOut!
So wie ich das verstanden habe, muss ich ein Unterformular erstellen, in dem ich die Daten anschauen kann, und ein separates, indem ich Änderungen erfasse!?

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von RobertG » Fr, 16.11.2012 17:12

Hallo Vanner,

die Einstellungen sind eigentlich korrekt. Du hast lediglich ein Formular im Formularnavigator zu sehen, kein Unterformular. Du erlaubst das Hinzufügen und ändern von Daten und hast am unteren Bildschirmrand eine Navigationsleiste.
Da es sich um ein einfaches Formular handelt kannst Du nicht so navigieren, wie Du Dir das vorstellst. Die Navigation geht nur über die Navigationsleiste am unteren Bereich. Die Felder des Formulars enthalten ja alle den originalen Inhalt. Durch einen anderen Eintrag änderst Du diesen Inhalt.
Wenn Du auf andere Art und Weise durch Deine Daten navigieren möchtest, dann musst Du in dem Formular eine Trennung von Formular und Subformular herbeiführen oder eine Lösung mittels Makro anstreben, die gleichzeitig Eingaben und schnelle Suchen ermöglicht.
Vielleicht schaust Du Dir dazu einfach einmal das Kapitel zu den Formularen aus dem Base-Handbuch für LO (ist übertragbar auf OOo) an: http://wiki.documentfoundation.org/imag ... re_V35.pdf
Vor allem im Unterkapitel "Hauptformular und Unterformular" wird so etwas (für einen etwas anderen Anwendungsbereich) vorgestellt.

Gruß

Robert

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Fr, 16.11.2012 13:35

Hab erst jetzt genauer gemerkt was du meintest...
Dateianhänge
Unbenannt2.PNG
Unbenannt2.PNG (46.86 KiB) 1917 mal betrachtet

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Fr, 16.11.2012 13:23

Et voilà, ich hoffe das hilft weiter...
Dateianhänge
Unbenannt.PNG
Unbenannt.PNG (150.23 KiB) 1920 mal betrachtet

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Fr, 16.11.2012 12:50

Kommt sofort!

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von RobertG » Fr, 16.11.2012 12:16

Hallo Vanner,

das hat jetzt mit der Ferndiagnose natürlich so seine Haken. Hast Du vielleicht ein Formular mit Unterformular? Wenn Du ein Element auf Deiner Formularansicht anklickst, dann öffnest Du über dieses Element nur das Formular, zu dem dieses Element gehört.
Gehe noch einmal in den Bearbeitungsmodus des Formulars.
An der unteren Leiste ist ziemlich weit links ein Button, mit dem Du den Formularnavigator öffnen kannst.
Öffne den Navigator und mache von diesem Fenster einen Screenshot. Diesen Screenshot kannst Du dann hier posten.
Mach' dann auch noch einen Screenshot von den Daten-Eigenschaften des Formulars, die Du bearbeitet hast. Dann sehen wir weiter.

Gruß

Robert

Re: Formulareintragungsart ändern (Oder wie man das nennen s

von Vanner » Fr, 16.11.2012 07:27

Also nochmals vielen Dank für den Tipp!
Ich hab das jetzt so gemacht wie du beschrieben hast. Hab nun aber das Problem, dass mir nur der erste Datensatz angezeigt wird. und wenn ich eine andere Kundennummer eingebe, (ID), übernimmt er die restlichen Daten nicht...
Ich hab als ersten Kunden ein Hotel ID 1005.
Wenn ich jetzt im ID-Feld den Kunden 1623 aufrufen möchte, bleibt alles andere beim Hotel, Bzw. ändere ich eigentlich nur die Kundennummer vom Hotel. Das ist gar nicht gut...
Hab ich da was falsch gemacht?

Nach oben