Seite 1 von 1

Anfänger: Produktionsvorgang erfassen

Verfasst: Mi 8. Mai 2013, 08:54
von Nedi
Hallo liebe Community,

ich habe von einem meiner Ausbilder die Aufgabe übertragen bekommen, eine sinnvolle und "einfache" Möglichkeit zu erstellen, unsere Produktionsvorgänge zu erfassen (und im weiteren in einer Auswertung wiederzugeben).
Nun hab ich mich also eine Weile mit LibreOffice befasst, eine Testdatenbank nach Anleitung erstellt und bin nun dazu übergegangen die mir auferlegte Arbeit anzunehmen. ;)

Ich bin (mMn) auch schon relativ weit gekommen, allerdings hänge ich jetz quasi bei dem Formular in dem ich den Vorgang eingeben möchte...
Vielleicht kann einer von euch mal drüber schauen und mir ggf eine Lösung geben. Denn jetz bekomme ich, wenn ich alle eingeben gemacht habe und speichern will, eine Fehlermeldung (siehe Screenshot).
Fehlermeldung.gif
Fehlermeldung.gif (315.55 KiB) 4754 mal betrachtet
Ich hänge logischerweise auchdie Datei an... sind ja noch keine ultrageheimen Daten drin :D

Ich bedanke mich schonmal im Vorraus und hoffe ihr könnt mir hier und auch bei weiteren Fragen helfen.

MfG Nedi

PS: da .odb Anhängen irgendwie nicht möglich ist hab ich hier einen Downloadlink dazu:

http://www.file-upload.net/download-756 ... n.odb.html


EDIT: ich merke gerade, als ich meine DB wieder öffnen wollte, war/ist das ein einziges Zeichekauderwelsch... also alle arbeit für umsonst :/

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Mi 8. Mai 2013, 16:03
von gogo
Hallo!

1. Das Listenfeld "Profil" hat als gebundenes Feld "TypID" - den musst Du auf "Profil" ändern (denn "Profil" ist ein Mussfeld in der Tabelle)
2. Der Listeninhalt aller 3 Listenfelder ist falsch. In der 2. Spalte muss jeweils die ID stehen: statt SELECT "Profil", "Profil" FROM "Profil" => SELECT "Profil", "ID" FROM "Profil"

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Fr 10. Mai 2013, 08:26
von Nedi
Heyho,

ich bedanke mich für die schnelle Hilfe. Jetzt funktioniert das ganze auch. Dankeschön :)

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Mi 15. Mai 2013, 07:53
von Nedi
So, da melde ich mich nochmal, habe noch eine weitere Frage:

Ich hab jetzt soweit alles wie ich es möchte. Als nächstes wollte ich mir quasi eine Produktionsaufstellung (Formular) erstellen. Diese soll mir eben alle eingegebenen Produktionsvorgänge auflisten. Von der Sache her funktioniert das auch.
Das Problem besteht jetzt aber darin, dass mir in den Spalten "Profil", "Farbe", "Zustand" und "Mitarbeiter" nur die Zahlenwerte angezeigt werden, welche die ID des jeweiligen Wertes in den eigenen Tabellen entsprechen (z.B. Farbe soll "weiß" angezeigt werden, es kommt aber "1" )


Wie kann ich dieses Problem lösen? Wäre nett wenn ihr mir wieder helfen könntet.

Anhang: Datenbank

http://www.file-upload.net/download-759 ... n.odb.html

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Mi 15. Mai 2013, 19:32
von RobertG
Hallo Nedi,

wenn Du Inhalt nur anzeigen, aber nicht verändern möchtest, so hilft eine einfache Abfrage. Dort kannst Du dann die entsprechenden Tabellen kombinieren, so dass die Inhalte und nicht die Fremdschlüsselwerte wie 1, 2, 3 usw. angezeigt werden.
Wenn es sich um ein Formular handelt, das auch bearbeitet werden soll, so brauchst Du für die Darstellung ein Listenfeld.
Ändere das entsprechende Feld, das zur Zeit 1, 2, 3 ... anzeigt um in ein Listenfeld. Angenommen, das Feld enthält zur zeit den Primärschlüssel aus der Tabelle "Profil" als Fremdschlüssel in Deiner momentanen Anzeige. Dann musst Du jetzt bei Daten die Einstellung "Werteliste" in "SQL" ändern und kannst mit dem Button mit den drei Punkten den entsprechenden SQL-Code über den Abfrageeditor zusammenstellen. Der Code müsste nachher in etwa so lauten:
SELECT "Profil", "ID" FROM "Profil" ORDER BY "Profil" ASC
Zuerst steht der darzustellende Inhalt, als zweites der Primärschlüssel der ausgewählten Tabelle. Den Primärschlüssel siehst Du zur Zeit als Fremdschlüssel. Beim Listenfeld wird stattdessen der Inhalt "Profil" dargestellt.
Wenn Du damit nicht auf Anhieb klar kommst wirf einmal einen Blick ins Handbuch. Da werden die Listenfelder dann auch mit Screenshots erklärt.

Gruß

Robert

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Fr 17. Mai 2013, 08:06
von Nedi
heyho,

und auch hierfür möchte ich mich natürlich wieder herzlich bedanken. Jetzt hab ich es so wie ich es haben wollte. Hätte man auch selber drauf kommen können, wenn man nich so versteift auf das Formular gewesen wäre *g*

Möglich das weitere Fragen folgen. :)

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Mi 29. Mai 2013, 15:45
von Nedi
Hallo liebe LO-Gemeinde,

ich hab eine weitere Frage:

Meine Datenbank ist nun soweit, dass ich gerne das Eingabeformular auf mehreren Rechnern gleichzeitig zur Verfügung stellen möchte um eben Eingaben zu tätigen. Bei einem Test sah das ganze so aus, dass nur auf dem zuerst geöffneten Formular Eingaben möglich waren.

Meine Frage also: Ist es möglich dieses Problem zu beheben oder is Base/Lo dafür einfach nicht ausgelegt? Oder muss das ganze ggf. über ein Writer-Formular geschehen?

MfG André aka Nedi

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Mi 29. Mai 2013, 15:53
von RobertG
Hallo André,

wenn Du die interne Datenbank nutzt, so kann auf die Datenbank nur ein Nutzer schreibend zugreifen. Du hast keinen Server, der regelt, wie mit gleichzeitigem Zugriff auf Tabellen zu verfahren ist und dass gleiche Datensätze nicht gleichzeitig bearbeitet werden können. Deswegen stoppt die Person, die als erste auf die *.odb-Datei zugreift, alle anderen möglichen Schreibzugriffe.

Du musst also mit einer externen Serverdatenbank arbeiten. Dazu steht Dir, wenn Du schon Daten in Deiner DB drin hast, auch die externe Lösung einer HSQLDB zur Verfügung. Mehr Anleitungen für externe Datenbanken findest Du wohl zu MySQL, PostgreSQL o.ä. Für die interne HSQLDB habe ich im Handbuch (Anhang) beschrieben, wie Du daraus eine externe Datenbank und ggf. eine Serverdatenbank machen kannst.

Gruß

Robert

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Do 30. Mai 2013, 13:30
von Nedi
Heyho,

danke zuerst einmal für die Erklärung des Problemursprungs.

Wie du schon richtig sagst bleibt mir jetzt nur die Lösung eine externe DB zu erstellen. Ich würde gerne die Variante mit HSQL nutzen. Habe das Handbuch auch schon immer und immer wieder durchgelesen. Allerdings stellt sich mir jetz die Frage wie ich mit meiner aktuell erstellten Datenbank verfahre, denn diese ist ganz einfach über Base erstellt und deswegen ja eine Interne. Muss ich diese jetz erst irgendwie zu einer internen HSQLDB machen und dann in eine externe HQSLDB "wandeln"? So ganz verstehe ich leider die hier anzuwendende Vorgehensweise nicht... (möchte noch darauf hinweisen das ich kein Meiter irgendeiner Programmiersprache oder sonstiges bin).

Um ehrlich zu sein, mir war klar das Datenbanken viel leisten können...aber für Laien ist das wirklich keine einfach Sache XD

Re: Anfänger: Produktionsvorgang erfassen

Verfasst: Do 30. Mai 2013, 21:43
von RobertG
Hallo Andre,

die einfachste Variante zuerst. Du hast in Deinem LO-Verzeichnis im Verzeichnis "program" ein Unterverzeichnis "classes". In diesem Verzeichnis befindet sich eine "hsqldb.jar". Diese Datei kopierst Du Dir irgendwo in Dein Heimatverzeichnis, vielleicht dorthin, wo später auch die Datenbank liegen soll. Sie enthält das Datenbankprogramm der HSQLDB. Damit Du später mit diesem Datenbankprogramm auch extern arbeiten kannst musst Du diese Datei in den Java-Classpath aufnehmen (Extras → Optionen → LibreOffice → Java → ClassPath ...).
An die Daten Deiner bisherigen Datei kommst Du mit einem Packprogramm. Aber immer nur mit einer Kopie arbeiten; das Original unberührt lassen. Mit einem Packprogramm entpackst Du das Verzeichnis "database" nach außerhalb. Wie weiter damit umzugehen ist steht im Anhang des Handbuches, ca. S. 329, Unterkapitel "Änderung der Datenbankverbindung". Die Verbindung zur externen Datenbank kannst Du wie dort beschrieben lösen (Änderung der Datei "content.xml", wenn Du die alte Datei weiter nutzen willst (Abfragen, Berichte, Formulare, Makros ...). Du kannst natürlich auch eine neue Datenbank nehmen, mit der Du die Verbindung zu den externen Daten herstellst. Dann musst Du allerdings Abfragen etc. in diese neue Datenbank kopieren.

Du kannst also die bisher erstellten Daten, Abfragen, Formulare und Berichte vollständig weiter benutzen. Probiere einfach einmal den Weg mit einer Kopie aus. Sofern Du nur die mit Deiner LO-Version gelieferte HSQLDB nutzt brauchst Du auch erst einmal keine weiteren komplizierten Installationen, um erst einmal die Umstellung zu bewältigen.

Gruß

Robert