Aus dem Inhalt:

Formularelemente für Web-Formulare

Die Formularerstellung in Verbindung mit Datenbanken im Web nutzt in der Regel die Grundfunktionalitäten der Zur Verfügung stehenden Listboxen und Textfelder. Mit etwas mehr Ansprüchen wqird es schnell zu einer Plackerei. Hierzu habe ich eine Combobox sowie ein eingabefähiges Tabellenkontrollfeld ähnlich dem z.B. von OpenOffice entwickelt. Die Formularelemente können hier als gepacktes Verzeichnis heruntergeladen werden.

Erste Versuche mit separaten Texteingaben neben Listboxen waren nicht sehr bedienungsfreundlich. Zwei nebeneinander stehende Formularelemte für den gleichen Zweck einzusetzen konnte leicht verwirrend sein. Was passiert, wenn im ersten Formularelemnt ein anderer Wert ausgewählt wird als im 2. Element eingetragen wurde?

Mit den Möglichkeinen von AJAX und wachsendem Verständnis von CSS gelang es mir schließlich, eine Kombination aus Listbox und Textfeld übereinander zu legen. Wird in der Listbox ein Wert vorgewählt, so wird dieser in die Textbox kopiert. Wird in der Textbox geschrieben, so dient die Listbox als Vorschlagsliste. Letzlich ausgewertet wird nur das Textfeld. Von dem wird überprüft, ob der entsprechende Wert in einer der Listbox zugrundeliegenden Tabelle vorhanden ist. Ist dies der Fall, so wird die ID aus dieser Tabelle ausgelesen. Ist dies nicht der Fall, so wird der neue Wert eingetragen und die ID an die Haupttabelle, die zur Zeit bearbeitet wird, zurückgegeben. Die Kombination wird zur Listbox.

Die einfache Listbox habe ich schließlich erweitert zu einer Listbox, die aus 2 verschiedenen Tabellenfeldern auch unterschiedlicher Tabellen bestückt werden kann. Als Beispiel habe ich dies mit Postleitzahlen und Orten dargestellt. Auch hier erfüllt die Combobox ihren Zweck - und all das mit lediglich einigen Variablen, die der Funktion letzlich übergeben werden.

Tabellenkontrollfeld

Nachdem die Grundlagen geschaffen waren war der Schritt nicht mehr weit, diese Comboboxen noch besser nutzen zu wollen. Aus OpenOffice abgeschaut habe ich mir dazu das Tabellenkontrollfeld. Daten direkt eingeben wie in eine Tabelle, im Hintergrund aber immer noch mit einer richtigen Datenbank arbeiten - dies alles klappt recht komfortabel mit dem oben abgebildeten Tabellenkontrollfeld. Hier lassen sich dann auch Datensätze löschen, Daten filtern usw.

Die beiliegenden Skripte stellen keine vollwertige Datenbank dar, obwohl eine einfache Adressverwaltung schon allein mit dem Tabellenkontrollfeld und der angeschlossenen MySQL-Datenbank realisiert ist. Dem Downloadpaket liegt eine kurze Installationsanleitung der Datenbank bei. Auf dem Computersystem muss Apache und PHP installiert sein. Getestet sind die Formularelemente nur mit dem Firefox-Browser. Javascriptunterstützung muss angeschaltet sein.

Kontakt: Robert Großkopf

3339

Vereinsverwaltung mit OpenOffice/LibreOffice

Download: OOo_Verein

Die Vereinsdatenbank stellt einen etwas umfangreicheren Einstieg in die OpenOffice-Datenbankwelt dar. OOo_Verein enthält neben der Datenbank, Abfragen, Formularen und Berichten eine ausführliche Beschreibung, die hier direkt eingesehen werden kann. Die Datenbank selbst arbeitet zur Erleichterung von Eingaben und zur besseren Erstellung von Berichten an sehr vielen Stellen mit Makros, die im Quelltext erläutert werden und mit der Zeit auch in der ausführlichen Beschreibung noch genauer unter die Lupe genommen werden.

Wer einen Einstieg in Datenbanken sucht sollte dafür vielleicht besser die unter dem Punkt Datenbankentwicklung beschriebene Adressdatenbank zuerst unter die Lupe nehmen. Dort ist von Grund auf beschrieben, wie der Weg über eine Tabelle schließlich zu einem Formular mit Subformular führt.

Wie die anderen hier gezeigten OpenOffice-Datenbanken greift diese Datenbank auf das OpenOffice-interne Modul der HSQLDB zu. Vorteil: Eine separate Installation einer Datenbank ist also nicht notwendig. Nachteil: Es gibt keine Mehrbenutzerlösung zum gleichzeitigen Bearbeiten der Daten auf von verschiedenen Rechnern aus.

Die Formulare dieser Datenbank wurden mit OOo 3.1.1 erstellt. Die meisten Eingabemöglichkeiten erfolgen in vorher durch Filterung zusammengestellte Datensätze. So wird z.B. in einem Filtermodul eine Person vorgewählt, deren Daten innerhalb des Formulars angezeigt werden. Durch einen Bug in der Version 3.2 sind die Formulare deshalb dort nicht lauffähig. In der Version 3.3 ist dieser Fehler wieder behoben. Auch in LibreOffice 3.3 laufen die Formulare.

Für die 3.3-er-Versionen musste etwas nachgebessert werden, da das Haupteingabeformular bei neuen Datensätzen einen "Ungültigen Cursorstatus" produzierte.

Durch einen Bug im ReportGenerator in Verbindung zumindest mit LibreOffice erscheinen in den Versionen 3.3 und 3.4 leider Linien in Berichten nicht.

Kontakt: Robert Großkopf

2498

Base – HSQLDB: Daten intern oder Daten extern?

In den Mailinglisten kommen hin und wieder Anfragen, wie eventuell noch Daten aus einer Datei zu retten sind, die bei einem Totalabsturz des PCs irgendwie beschädigt wurde. Eine entsprechende Beschreibung hierzu hatte ich im Netz gefunden und für die Leute, die mit englischen Texten Probleme haben, ins Deutsche übertragen.

Wer die erste Datenbankreparatur hinter sich hat fragt sich natürlich, ob nicht irgendwie für etwas mehr Datensicherheit gesorgt werden kann. Hierfür ist im Anschluss der Weg beschrieben, von der internen Datenbank auf eine externe Datenbank umzustellen und die gesamten Daten, Formulare, Abfragen und Berichte dennoch weiter nutzen zu können.

Wer dann schließlich noch die Möglichkeit sucht, mit mehreren Personen auf die eigene Datenbank zuzugreifen wählt schließlich die Server-Version der HSQLDB und verteilt sein *.odb-Päckchen mit den erstellten Abfragen, Formularen und Berichten an die anderen Gruppenmitglieder, die im Serverbetrieb dann alle den gleichen Datenbestand nutzen können.

Aber Achtung: Bei der Nutzung einer externen HSQLDB ohne Serverbetrieb lauern auch Fallen, die je nach verwendeter OpenOffice-Version dazu führen, dass sich interne Datenbanken plötzlich nicht mehr öffnen lassen. Was dann zu unternehmen ist wird entsprechend in dem Kapitel zur Datenbankreparatur erklärt.

Eine Anleitung, die diese Punkte nacheinander abhandelt, steht hier zum Downlod: Base – HSQLDB: Daten intern oder Daten extern?

1747

Datenbankreparatur für *.odb-Dateien

Regelmäßige Datensicherung sollte eigentlich Grundlage für den Umgang mit dem PC sein. Sicherheitskopien sind so der einfachste Weg, auf einen halbwegs aktuellen Datenstand zurückgreifen zu können. Doch in der Praxis mangelt es eben häufig an dieser Stelle.

Bei plötzlichen Abstürzen des PC kann es passieren, dass geöffnete Datenbanken von OpenOffice (interne Datenbank HSQLDB) nicht mehr zu öffnen sind. Stattdessen wird beim Versuch, die Datenbank zu öffnen, nach einem entsprechenden Filter für das Format gefragt.

Das Ganze liegt daran, dass Teile der Daten der geöffneten Datenbank im Arbeitsspeicher liegen und lediglich temporär zwischengespeichert werden. Erst beim Schließen der Datei wird die gesamte Datenbank in die Datei zurückgeschrieben und gepackt.

Um eventuell doch nach an die Daten zu kommen kann das folgende Verfahren hilfreich sein:

  1. Fertige eine Kopie Deiner Datenbank für die weiteren Schritte an.

  2. Versuche die Kopie mit einem Packprogramm zu öffnen. Es handelt sich bei der *.odb-Datei um ein gepacktes Format, ein JAVA-Archiv. Lässt sich die Datei so nicht direkt öffnen, so funktioniert das Ganze vielleicht auch über die Umbenennung der Endung von *.odb zu *.zip.
    Funktioniert das Öffnen nicht, so ist vermutlich von der Datenbank nicht mehr zu retten.

  3. Folgende Verzeichnisse siehst Du nach dem Öffnen einer Datenbankdatei im Packprogramm auf jeden Fall:


  4. Die Datenbankdatei muss ausgepackt werden. Die entscheidenden Informationen für die Daten liegen im Unterverzeichnis „database“ in den Dateien „data“ und „script“.

  5. Gegebenenfalls empfiehlt es sich, die Datei „script“ einmal anzuschauen und auf Ungereimtheiten zu überprüfen. Dieser Schritt kann aber auch erst einmal zum Testen übersprungen werden. Die „script“-Datei enthält vor allem die Beschreibung der Tabellenstruktur.

  6. Gründe eine neue, leere Datenbankdatei und öffne diese Datenbankdatei mit dem Packprogramm.

  7. Ersetze die Dateien „data“ und „script“ aus der neuen Datenbankdatei durch die unter „4.“ entpackten Dateien.

  8. Das Packprogramm muss nun geschlossen werden. War es, je nach Betriebssystem, notwendig, die Dateien vor dem Öffnen durch das Packprogramm nach *.zip umzubenennen, so ist das jetzt wieder nach *.odb zu wandeln.

  9. Öffne die Datenbankdatei jetzt mit OpenOffice und Du kannst hoffentlich wieder auf Deine Tabellen zugreifen.

  10. Wie weit sich jetzt auch Abfragen, Formulare und Berichte auf ähnliche Weise wiederherstellen lassen bleibt dem weiteren Testen überlassen.

Siehe hierzu auch: http://user.services.openoffice.org/en/forum/viewtopic.php?f=83&t=17125

3187

Erstellung einer Adressdatenbank mit OpenOffice

In der deutschen OpenOffice-Mailingliste tauchen immer wieder Fragen grundsätzlicher Art zur Entwicklung von Datenbanken mit OpenOffice Base auf. Eine derartige Anleitung wird hier in Grundzügen versucht. Adressdatenbank mit OpenOffice enthält neben unterschiedlichen Versionen einer Datenbank, die alle eine einfache Adresseingabe zum Ziel haben, sowie eine ausführliche Anleitung, die hier direkt eingesehen werden kann. Zur Zeit existieren 2 Startvarianten sowie eine mit Makros optimierte Variante der Adressdatenbank. Die Zwischenschritte zu dieser optimierten Datenbank werden im Laufe der Zeit weiter dokumentiert.

Neben der Adressdatenbank steht auch eine Datenbank zur Verfügung, mit der unterschiedliche Kalender aus einer einfachen Termineingabe erstellt werden können. Anleitungen für die Grundzüge dieser Datenbank gibt es als Entwurf einer Datenbank als PDF-Datei im Netz.

Die Datenbank Termine benötigt für die Kalenderdarstellung den Report-Builder.

Kontakt: Robert Großkopf

1536
Logo

Open/LibreOffice Medien

Nicht für den Server, sondern für den Desktop ist die Datenbank "Medien" in Open/LibreOffice konzipiert. Medien Open/LibreOffice kann hier als gepacktes Verzeichnis heruntergeladen werden.

Die Eingabemöglichkeiten wurden gegenüber der Serverdatenbank stark reduziert. Neben den wesentlichen Informationen, die auch in der Bibliotheksdatenbank enthalten sind, kommt hier eine separate Abspeicherung von Untertiteln hinzu. Hier finden sich dann die z.B. die Songs einer CD in ihrer vorher bestimmten Reihenfolge, eventuell auch mit der Länge der Musikstücke, wieder.

Neu am 15.2.2010: Überarbeitung der Makros für die Kombination von Comboboxen und versteckten Feldern. Funktionsweise auf Listfelder mit zusammengefassten Abfragen aus 2 Tabellenfeldern ("Concat") verbessert..

Neu am 1.2.2010: Komplette Überholung des Formulars. Listfelder werden durch eine Kombination von Comboboxen und versteckten Feldern ersetzt. Eine Allround-Suchfunktion ist hinzugekommen.

Neu am 20.11.07: Die Nachinstallation der Grafiken auf den Buttons ist jetzt nicht mehr notwendig. Sie werden über ein Makro mit dem Formular verbunden. Außerdem ist die Beschreibung erweitert worden. Im Anhang befindet sich eine ausführliche Erläuterung (zur Zeit an einem Beispiel) zur Verbindung von Formular und Datenbank über Makros.

Neu am 17.11.07: Die Suchfunktion wurde überarbeitet und findet jetzt komplett im Arbeitsspeicher statt. Außerdem ist eine Verbesserung bei der Datenbankanmeldung und bei der Bearbeitung von Nebenformularen (Verfasser, Ort etc.) hinzugekommen.

Formularansicht Medien

Der Zugriff auf die Datenbank erfolgt lediglich durch eine Formularansicht. Hier ist die Eingabe aller Werte der zugrundeliegenden Tabellen realisiert.

Über Makros ist eine Suchfunktion integriert, die auch eine Suche in Unterformularen ermöglicht. So kann z.B. festgestellt werden, auf welcher CD noch einmal ein bestimmtes Lied zu finden war.

Eine ausführliche Dokumentation kann hier eingesehen werden, liegt aber auch dem Paket bei.

Wie die für Bibliotheken gedachte MyPHPlib ist "Medien" auf die Anregung der Nutzer angewiesen. Neue Ideen, Fehlerbeseitigungen usw. werden von mir, sofern es meine Zeit ermöglicht, eingepflegt.

Weitere Datenbankbeispiele für OpenOffice Base sind bei Mechtilde.de oder als base_entwurf_einer_datenbank.pdf auf de.openoffice.org zu finden.

Eine sehr umfangreiche Beschreibung zur OpenOffice-Datenbank hat Jan-Christian Wienandt auf www.wienandt.de ins Netz gestellt.

Kontakt: Robert Großkopf

3648
Logo

MyPHPlib

Download: Bibliotheksprogramm, Version vom 08.10.15

Aktuell 10/15: Die folgenden Änderungen wurden vorgenommen:

Alle Änderungen können durch Kopie der entsprechend neueren Dateien und den Aufruf der Datei "update.php" über den Browser übernommen werden.

Aktuell 05/15: Beim Export wurde der Downloadlink nicht korrekt angezeigt. Außerdem wurde über den Export aus der Medienrecherche heraus nur die Anzahl der Datensätze exportiert.

Aktuell 11/13: Zum Datenaustausch zwischen zwei Serverdatenbbanken (Schulen an zwei Standorten) wurde eine Export der Neuaufnahmen in eine Sammlung von *.csv-Dateien erstellt. Die *.csv-Dateine entsprechen dabei den notwendigen Daten in den verschiedenen Tabellen. Damit können dann Neuaufnahmen problemlos von einem Server auf den anderen übertragen werden.

Außerdem waren einige Ansichten so formuliert, dass nicht zweifelsfrei alle erforderlichen Daten angezeigt wurden. Hier wurde ebenso nachgebessert wie bei dem Druck von Mahnungen als Serienbrief, der bisher noch aus der Testphase des Programms heraus für die Liste auf 4 Mahnungen begrenzt worden war.

Aktuell 04/13: Das Importmodul funktionierte nicht einwandfrei, seit in der Medienverwaltung die Aufnahme von Klassensätzen ermöglicht wurde. Medien wurden aufgenommen, erschienen aber nicht mehr in der Auswahl. Hier wurde nachgebessert.

Außerdem wurden die folgenden Korrekturen vorgenommen:

Aktuell 01/13: Die Eingabe der Schließzeiten der Bibliothek funktionierte nicht ordnungsgemäß. Der Fehler wurde beseitigt.

Aktuell 06/12: Die Medienausgabe wurde so umgearbeitet, dass mit einem Barcodescanner Medien ausgeliehen werden können. Die Prüfziffern können von dem Barcode entfernt werden, wenn mit den vorherigen Mediennummern weiter gearbeitet werden soll. Damit der Barcodescanner ordnungsgemäß läuft, ist in seinen Einstellungen "Linefeed" (LF) auszuschalten.

Die Views für Medieneingabe und Medienrecherche wurden verbessert. Sie liefen nach der Aufnahme von Klassensätzen deutlich zu langsam.

Aktuell 07/11: Die Suchfunktion wurde erweitert. Wird eine Tabelle durchsucht oder gefiltert, so geht die erneute Filterung von dem bereits eingeschränkten Datensatz aus. Vorhergehende Suchbegriffe und Filterungen lassen sich allerdings über das Filtermodul direkt entfernen.

Die Aufnahme ganzer Klassensätze wurde integriert. So ist es jetzt möglich, mit der Aufnahme eines Buches gleichzeitig viele weitere Datensätze zu erzeugen, die aber in der Übersicht nur als Anzahl des jeweilgen Datensatzes erscheinen.

Der Import für Medien wurde ergänzt um den Import aus der MAB (= Maschinelles Austauschformat für Bibliotheken), die beim ekz-Bibliotheksservice mit neuen Medien mitgeliefert werden kann.

Die Eingabemöglichkeiten wurden für ein Mehrbenutzersystem angepasst. Die gleichzeitige Bearbeitung eines Datensatzes von unterschiedlichen Rechnern wird über die Rechner-IP und den Primärschlüssel der betreffenden Tabelle gesperrt.

Aktuell 06/11: Der Import für Medien aus einer *.csv-Liste wurde integriert. Der Import für LeserInnen wurde dem vereinfachten Medienimport angepasst.

Die Anzeige in einigen Tabellen wurde abhängig von der Fensterhöhe begrenzt, damit die Eingabeformulare im oberen Bildschirmbereich fest positioniert bleiben.

Aktuell 05/11: Die Startposition für den Etikettendruck bei Tintenstrahldruckern kann nach Zeile und Spalte festgelegt werden. So lassen sich auch Etikettenbögen bedrucken, die schon teilweise genutzt wurden. Für Laserdrucker ist diese Funktion nicht zu empfehlen, da nur ein Druck ganzer Bögen gefahrlos möglich ist. Bei Teilbögen verklebt hier eventuell die komplette Mechanik.

Fehler bei der Erstellung von Tabellen im Standardzeichensatz von MySQL wurden behoben. Auch die Sprachdatei wurde weiter ergänzt.

Aktuell 04/11: Die Wartungsfunktion für Verfasser, Schlagworte usw. wurde überarbeitet. Auch die Zusatzkürzel und die Artikel wurden in die Wartung übernommen. Die Druckfunktionen wurden erweitert. Auf Nachfrage von Nutzern ist jetzt auch der Druck von Bibliotheksausweisen sowie der Druck von Etiketten für die Medien über den PDF-Export möglich. Als Bibliotheksausweis reicht in Schulen allerdings genauso gut der Schülerausweis. Zum Etikettendruck eignet sich eigentlich besser ein separates Druckgerät mit Eingabefunktion. Der Ausdruck von Etiketten auf DIN A4 - Format hat den Nachteil, dass vor allem bei Laserdruckern erst einmal genügend Etiketten für ein ganzes Blatt vorhanden sein müssen. Beim Neuaufbau einer Bibliothek ist dies sicher der Fall, während der täglichen Arbeit kommen aber häufig nur weniger Neuerscheinungen hinzu, so dass viele Etiketten auf einem DIN A4 - Blatt verfallen würden.

Aktuell 03/11: Die Tabellenansichten bei einigen Tabellen mit Suchfunktion wurden als einzeln scrollbar gestaltet. So muss bei großen Tabellen nicht der gesamte Bildschirminhalt gescrollt werden sondern lediglich die Tabelle.

Fehlerkorretur: Beim Setup einer neuen Version gab es das Problem, dass eine Datei nicht richtig benannt war. Dies wurde korrigiert.

Aktuell 01/11: Umbau der Tabellenkonstruktion. Die Tabellen wurden mehr einer relationalen Datenbank angepasst. Außerdem wurde die Verbindung zu MySQL über PHP auf die neuere Verbindungs-API "mysqli" umgestellt. Mit der Version vom 17.01.2011 ist es inzwischen möglich, Tabellenausdrucke und vor allem Mahnungen im *.pdf-Format zu erstellen. Dazu ist die fpdf-Bibliothek integriert worden. Entsprechend hat der Umfang des Paketes etwas zugenommen. Die Mahnungserstellung per *.pdf hat den Vorteil, dass Kopfzeile und Fußzeile nicht vom Browser vorgegeben werden und dass ein Seriendruck der Mahnungen mit 2 Mahnungen auf einer DIN-A4-Seite möglich ist.

Mit Ausnahme der Hilfe und der Einstellungsfunktionen wurden sämtliche sprachabhängigen Bildschirmausgaben in eine separate Sprachdatei ausgelagert. Hier habe ich die Anregung eines Users aufgegriffen, der das Programm gerne in Mexiko nutzen wollte. So ist es jetzt möglich, sämtliche Spracheinstellungen in einer ergänzenden Datei vorzunehmen. Die gesamte Datenbank läuft jetzt aus diesem Grunde auch nicht mehr mit der Iso-Kodierung, sondern über utf-8.

Außerdem wurden viele Teilbereiche überarbeitet, so dass die Suchfunktionen an den unterschiedlichsten Stellen zur Verfügung stehen. Probleme bereiten in der Praxis noch Felder, die mehrere Eingabemöglichkeiten zulassen. Dies ist zur Zeit noch bei den Verfassern und den Schlagworten der Fall. Da die entsprechenden Trenner nicht richtig gesetzt werden kommt es immer wieder vor, dass statt eines Verfassers anschließend mehrere Verfasser zu einem Verfassernamen zusammengefasst in die Datenbank aufgenommen werden.

Dieses Programm wird zur Verwaltung der Schülerbücherei der Euregio Gesamtschule Rheine verwendet. Der Datenbestand beläuft sich dort auf ca. 7000 Medien und 1200 Bibliotheksnutzer(innen). Medienaufnahme, Ausleihe und Recherche sind Bestandteile der PHP-Scriptsammlung.

In dem ZIP-Paket befindet sich auch eine Hilfestellung im XML-Format, die das Programm näher beschreibt. Die Hilfestellung steht hier auch online zur Verfügung.

Ebenso direkt auf dieser Seite einzusehen ist die Liesmich-Datei, die die Installation genauer beschreibt.

Die Scriptsammlung setzt einen laufenden Webserver, die MySQL-Datenbank und eine PHP-Installation voraus. Die Bildschirmauflösung sollte mindestens 1024*768 Punkte betragen, da sonst auch waagrerecht gescrollt werden muss. Die Scripte sind nur mit dem Browser Firefox ausführlich getestet. Mit Opera scheinen die Scripte ebenfalls einwandfrei zu funktionieren. Beim Konqueror (Linux, KDE 3.5) gibt es kleinere grafische Darstellungsprobleme. Ob die neue Version von MyPHPlib auch unter dem Internet-Explorer lauffähig ist wurde bisher nicht getestet.

Neben Modulen zur Ausleihe und Wartung gibt es auch ein Recherchemodul. Ausleihe- und Wartungsmodul sind über eine Session-Verwaltung passwortgeschützt.

Bibiothekssystematik

Das Hauptformular zur Medieneingabe

Hier wird gerade die Einordnung in die Systematik ermittelt. An der Euregio Gesamtschule Rheine benutzen wir die Allgemeine Systematik für Bibliotheken (ASB). Dies hängt vor allem damit zusammen, dass ursprünglich geplant war, die Bibliothek als Stadtteilbibliothek mit Anschluss an die Stadtbibliothek zu nutzen. Das damalige DOS-Programm haben wir nicht über das Jahr 2000 retten können, eine neue Version kostete 2000,- DM. Das Geld haben wir lieber in die Hardware gesteckt und die alte Datenbank zuerst nach Star-Office 5.2 mit Adabas portiert. Da aber MySQL in Verbindung mit PHP mehr Möglichkeiten bietet und auch die Inventar- und Finanzverwaltung der Schule auf dem Wege erfolgreich lief, ist schließlich eine weitere Portierung nach MySQL/PHP erfolgt.

Medieneingabe

Die Medieneingabe ist der umfangreichste Teil der Formularsammlung. Hier erscheint, wie bei anderen Formularen, eine Tabelle mit allen Datensätzen. Die Datensätze können sortiert, durchsucht und gefiltert werden. Diese Tabelle ist nicht gefiltert, allerdings vorsortiert nach dem Spaltenkopf Sys., beginnend mit den leeren Einträgen. Ein Druck auf das Stiftsymbol rechts in der Tabelle lädt einen Datensatz in das Formular.

Filter

Im Filtermodul wird ein Spaltenkopf der Tabelle vorgewählt. Dann erfolgt die Wahl der Verknüpfungsbedingung und, wenn wie in diesem Fall, "gleich" gewählt wurde, wird ein Listenfeld mit dem Inhalt der Spalte erzeugt, aus dem der Eintag ausgewählt. Anschließend wird die Filterung angewandt. Der gesetzte Filter wird unterhalb der Tabelle angezeigt.

Filterergebnis

Die Scriptsammlung wird beständig an die Bedürfnisse der Schule angepasst. So ist mittlerweile neben einer Hitliste für die meistgewünschten Medien auch eine Liste der begehrtesten Autoren immer aktuell abrufbar.

Ohne (lediglich einen) Mausklick wird aber auch bei dieser Scriptsammlung keine Rückgabe möglich. So kommt es denn vor, dass Medien angemahnt werden, obwohl sie über den Bibliothekstresen zurückgegeben wurden. Gegen fehlende Eingaben ist eben auch der Computer machtlos.

Bei einer Programmumstellung können sich natürlich auch kleine Fehler einschleichen. Da dies aber nicht den Betrieb der Datenbank gefährdet (der Grundstock ist der gleiche wie in der Vorversion) habe ich diese Version so ins Netz gesetzt. Fehlermeldungen und Verbesserungsvorschläge sind gern gesehen, solange es nicht darum geht, eine völlig neue Scriptsammlung zu erstellen.

Kontakt: Robert Großkopf

Veränderungen im Laufe der Zeit

Aktuell 10/08: Einige Wartungsfunktionen funktionierten in der Eingabe nicht richtig. Naturgemäß fallen solche Elemente eher auf, wenn eine Datenbank neu aufgebaut wird. Bei uns im täglichen Betrieb läuft in der Regel die Medienverwaltung und die Ausleihe. Deshalb die Bitte an alle, die diese Scripte nutzen: Meldet eventuelle Fehler sofort, damit die Datenbank für alle anderen Nutzer auch rund läuft.

Aktuell 09/08: Kleine Korrektur in Sortierfunktionen.

Aktuell 06/08: Kleine Korrektur im Medien-Eingabemodul. Werte für die Systematik-Zusätze werden jetzt auch in den Listboxen angezeigt und sind über diese wie vorher auch löschbar.

Aktuell 04/08: Kleine Korrekturen. Die Auswahl der einzugebenden Sprachen wurde in die Wartungsmodule übernommen. Die Darstellung auch auf kleineren Bildschirmen ist jetzt mit Scrollbalen möglich. Die Suchfunktion wurde an die gängige Praxis angepasst, dass bei Kleinschreibung eines Begriffes auch die Begriffe mit großem Anfangsbuchstaben gesucht und markiert werden.

Aktuell 03/08: Die Formulare von MyPHPlib wurden komplett überarbeitet. Stark verbessert ist jetzt die Such- und Filterfunktion. Auch das Navigieren durch Tabellen über mehrere Seiten wurde erleichtert. Ebenfalls neu ist ein Export nahezu aller Tabellen in eine *.csv-Tabelle, die anschließend in eine Tabellenkalkulation wie z.B. OpenOffice Calc eingelesen werden kann. Diese Seite wurde entsprechend mit Screenshots der neuen Version ausgestattet und auch inhaltlich in einigen Punkten korrigiert.

MyPHPlib: Suchfunktion lässt jetzt auch Ansicht der kompletten Tabelle zu. Nach entsprechender Konfiguration steht ein Benutzer zur Verfügung, bei dem die fehlenden Medien abgespeichert werden können. Außerdem können jetzt Medien aus dem Bestand ausgebucht und nicht nur einfach gelöscht werden.

Aktuelle Änderung 08/07: Eine vereinfachte Suchfunktion ist in das Startmenüe integriert worden. Der gesamte Medienbestand mit allen wichtigen Eigenschaften wird nach einem Suchbegriff durchforstet. Die jeweilige Zelle mit dem Suchbegriff ist in der Ausgabetabelle farbig unterlegt. Die Suche mittels einzelner Filter ist hiervon nicht berührt.

Für Schulen interessant: Ausleihlisten, die nach Klassen gefiltert sind, zeigen die Leseaktivität der Schülerinnen und Schüler innerhalb der letzten 6 Monate nach Schuljahresbeginn.

Änderung 07/07: Lediglich die Zugänge zur Datenbank müssen noch in einer Konfigurationsdatei eingestellt werden. Weite zentrale Einstellungen können über den Browser erledigt werden. Außerdem wurden einige Fehler korregiert, die besonders den Import von Lesern über *.csv-Listen betrafen.

16641

Rechnungserstellung mit OpenOffice- und LibreOffice-Datenbanken

Diese Datenbanken sind im Rahmen des Schulunterrichts eines 8. Jahrganges der Euregio Gesamtschule in Rheine entstanden. Sie können hier zur Zeit in 3 Versionen heruntergeladen werden: Die einfache Variante EGR_Rechnung_einfach, die sich als für den Unterricht gut praktikabel herausgestellt hat, und die komplexere Variante EGR_Rechnung, die nur recht wenige Schüler und Schülerinnen letztlich halbwegs erfolgreich einsetzen konnten.

Die älteren Varianten bauen darauf, dass im Laufe des Unterrichts die Eingabemöglichkeiten eines Barcodescanners genutzt werden können. Auch bei der neueren Variante ist dies möglich. Hier sind aber viele alternative Datenbanken enthalten. Die neuere Variante besteht aus einer Einführung für c.a. 6 Doppelstunden und weiteren Hinweisen sowie einem Paket von insgesamt 12 Datenbanken, die auf einer ebenfalls beiliegenden Grunddatenbank aus den ersten 6 Doppelstunden aufbauen.

Beziehungsansicht einfache Datenbank Rechnung

Die Übersicht zeigt es bereits: Keine großen Tabellen, dafür Wert gelegt auf die entsprechenden Beziehungen und all die Felder, die aus einer Warenausgabe eine Rechnung ermöglichen.

Beziehungsansicht Datenbank Rechnung

Hier waren die Wünsche wesentlich größer: Schließlich sollte nicht nur eine einfache Rechnung ausgegeben werden sondern eine richtige Rechnung mit dem Report erstellt werden. Da durfte dann die komplette Kundenverwaltung nicht fehlen, die allerdings bei den Eingabeformularen etwas stiefmütterlich wegkam.

Die erweiterte Variante wird im Unterricht nicht weiter verfolgt, von mir aber weiter zu einer funktionieren Datenbank ausgebaut. Die Grundvariante findet zur Zeit weiter Anwendung im Unterricht und scheint als Beispiel Schülerinnen und Schülern recht gut verständlich zu sein.

Die folgende Übersicht zeigt eine Struktur, wie sie für eine Überarbeitung der ausführlichen Version denkbar ist.

Beziehungsansicht Datenbank Rechnung (Planung)

Kontakt: Robert Großkopf

3252

Haushaltsdatenbank mit LibreOffice und OpenOffice

Download: Haushalt

Auf die wichtigsten Funktionen beschränkt zeigt diese Datenbank auf, wo monatlich das Geld geblieben ist.

Eingabeformular Haushaltsdatenbank

Eingabe, Übersicht und Filterung erfolgt innerhalb eines Formulars. Die Listenfelder sind als Kombination von Eingabefeldern und nicht sichtbaren numerischen Feldern ausgelegt, so dass dort eingetragene neue Begriffe (z.B. neue Kategorie) direkt in die entsprechende Tabelle eingetragen wird und in der Haupttabelle nur die entsprechende Primärschlüsselnummer vermerkt wird.

In der Vorauswahl werden die Buchungen angezeigt, die als periodische Buchungen gekennzeichnet wurden. Wird hier ein Datensatz gewählt, so wird er in die Felder eingelesen und nach Neuauswahl des Datums und gegebenenfalls weiteren Änderungen neu abgespeichert.

Soll ein alter Datensatz gefunden werden so geht dies am besten über die Datenfilterung. Die in der Filtertabelle angezeigten Datensätze stehen in der darüberliegenden Tabelle als Datensätze zur Bearbeitung zur Verfügung.

Der aktuelle Umsatz wir nach jeder Eingabe neu berechnet und in den untenstehenden Tabellen ausgegeben.

Wer eine besser Übersicht sucht findet diese in Form von Diagrammen in dem Berichtscontainer. Allerdings funktionieren die Diagramme (zumindest unter OpenSuSE 11.4) nicht in Verbindung mit OpenOffice 3.3.

Kontakt: Robert Großkopf

1913

Termin- und Kalenderdatenbank mit LibreOffice und OpenOffice

Download: Termine

Problemstellung aus der Schule: Jedes Schuljahr werden Termine festgelegt. Zum Schuljahresbeginn sollen dann anhand dieser Termine verschiedene Kalenderarten und Übersichten der Termine erstellt werde. Ohne Datenbank mussten Terminänderungen in den verschiedenen Modulen neu eingepflegt werden. Da ist zum einen die Jahresübersicht in Monatsform ohne Berücksichtigung der Wochenenden, dann die tabellarische Übersicht nach verschiedenen Kategorien (sämtliche Termine sowie eine abgespeckte Auswahl, die auch für Eltern wichtig ist) und schließlich die Einbindung der Termine in ein A4-Notizbuch, wobei eine Doppelseite je eine Woche darstellt.

Die Eingabe sollte möglichst einfach gestaltet sein. Da die "möglichst einfache" Art doch stark benutzerabhängig ist sind gleich 4 Formulare erstellt worden, die alle das gleiche Ziel haben. Mal ist die Kategorie, nach der die Termine eingeordnet werden, übergeordnet im Hauptformular vertreten. in einem anderen Formular werden alle Termine des aktuellen Monats in Kalenderform dargestellt usw. Hier gilt es das Lieblingsmodul zu finden und die anderen gegebenenfalls zu löschen.

Wichtigstes Element ist der Ausdruck der Termine in Form von Berichten. Hier können die verschiedenen oben genannten Formate erstellt werden. Leider zeigt der Reportdesigner unter LibreOffice Linien zur Zeit nicht an, so dass wesentliche Elemente in den Berichten fehlen. Daher ist der Ausdruck nur mit OpenOffice 3.3 sinnvoll.

Zwei Tabellen sind nicht über Formulare beschreibbar. Hier reicht ein direkter Aufruf der Tabellen aus. Die Tabelle "Ferien" beinhaltet alle Ferientermine, die in dem Kalender besonders eingefärbt erscheinen sollen. Die Tabelle "Zielgruppe" soll dazu dienen, bestimmte Termine an entsprechende Personengruppen zu binden. Für die Schule haben wir hier lediglich als 1. "Zielgruppe" den Begriff "Alle" und als Termingruppe die ID dieser Zielgruppe ("0"), als 2. "Zielgruppe" den Begriff "LehrerInnen" und als Termingruppe die ID der Zielgruppe "Alle" und die ID dieser Zielgruppe durch Komma getrennt angegeben ("0,1"). So werden bei der Auswahl "LehrerInnen" sowohl die Termine für "Alle" als auch für "LehrerInnen" an den Bericht weitergegeben.

Kontakt: Robert Großkopf

2640

Handbuch LibreOffice Base

Aktuell erschienen ist das Handbuch Base (10,8 MB), das alle Versionen von Base bis LO 5.1 abdeckt. Das Handbuch ist auch direkt als HTML-Datei hier lesbar:

Vorwort

Einführung in Base

Datenbank erstellen

Tabellen

Formulare

Abfragen

Berichte

Datenbank-Anbindung

Datenbank-Aufgaben

Makros

Wartung

Anhang

Glossar

1694