1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Hilfe bei Open Office Base gesucht

Discussion in 'Office-Programme' started by white-noise, May 6, 2009.

Thread Status:
Not open for further replies.
  1. Ich bin gerade dabei, eine Datenbank für meinen Arbeitgeber zu erstellen, um das Archiv in elektronischer Form zusätzlich zu speichern. Das Ganze besteht aus 5 Tabellen, soweit ist auch alles kein großes Problem bisher.
    Nun aber der Punkt, an dem ich nicht weiterkomme ...

    Ich habe versucht, eine bzw. mehrere Abfragen zu erstellen, die es dem Nutzer später ermöglichen sollen, geziehlt nach Aktenordnern zu suchen.

    Momentan sieht die Abfrage in der SQL-Ansicht so aus:

    SELECT "Akten"."Ordner" AS "Ordner", "Akten"."Datum" AS "Datum", "Akten"."Erfassungsdatum" AS "Erfassungsdatum", "Mitarbeiter"."Name" AS "Erfasser", "Archive"."Archiv" AS "Archiv", "Kategorien"."Kategorie" AS "Kategorie", "Fristen"."Frist" AS "Aufbewahrungsdauer", "Akten"."vernichtet" AS "vernichtet", "Akten"."vernichtet am" AS "vernichtet am", "Mitarbeiter"."Name" AS "vernichtet von", "Akten"."Bemerkungen" AS "Bemerkungen" FROM "Akten" AS "Akten", "Archive" AS "Archive", "Fristen" AS "Fristen", "Kategorien" AS "Kategorien", "Mitarbeiter" AS "Mitarbeiter" WHERE "Akten"."Archiv" = "Archive"."ID" AND "Akten"."Aufbewahrungsdauer" = "Fristen"."ID" AND "Akten"."Kategorie" = "Kategorien"."ID" AND "Akten"."vernichtet von" = "Mitarbeiter"."ID" AND "Akten"."Ordner" = :Aktenname ORDER BY "Ordner" ASC

    Das Problem ist, wenn man das so benutzt, muss man den konkreten Namen der Akte kennen, was schwierig sein dürfte. Ich bräuchte eigentlich eine Suche nach Zeichenketten, aber habe es nicht hinbekommen, die Variable :Aktenname mit einem Platzhalter zu kombinieren.
    Wenn mir da jemand helfen könnte, wäre echt super.
     
  2. Hascheff

    Hascheff Moderator

    Hallo white-noise,
    bevor ich zu deiner Frage komme, mir ist etwas anderes in deiner Abfrage aufgefallen:

    "Mitarbeiter"."Name" AS "Erfasser", [...] "Mitarbeiter"."Name" AS "vernichtet von"

    Das wird so nicht funktionieren. In Access müsste ich erst für eines der beiden Felder eine einfache Abfrage erstellen, die auf der Tabelle "Mitarbeiter" basiert.

    Für dein Problem ist eine Abfrage nicht geeignet. Lass die Abfrage in dieser Beziehung wie sie ist, nur ohne Variable. Du wirst ja ohnehin für die Arbeit mit der Abfrage noch ein Formular erstellen. In diesem kannst du für die Auswahl des Datensatzes ein Kombinationsfeld erstellen, in dem die Akten aufgelistet sind, so dass man nur den richtigen Namen auswählen muss.
     
  3. Also ich kann nur sagen, das es funktioniert, die Beiden Felder ERFASSER und VERNICHTET VON enthalten jeweils die ID aus der Tabelle Mitarbeiter. Die Abfrage als solches, wenn man den richtigen Aktennamen kennt, geht ja schon.

    Mein Problem ist, das ist mein erstes Projekt in Base und es wird zeitlich eng, da ich evtl. bald eine andere Arbeit haben werde. Habe bisher kein Formular erstellt, bzw. nur welche zur Dateneingabe. Aber was mich stutzig macht, das was Du beschreibst, wäre ja am Ende eine Auflistung aller Akten ... in dem Kombinationsfeld. Das ist in meinen Augen wenig sinnvoll, da es bestimmt ca. 1000 werden. Es geht ja darum, einzelne Akten zu suchen, nach Wörtern, die auf dem Aktendeckel stehen müssten. Also wenn man z B nach Rechnungen sucht, das er alle auflistet, wo eben Rechnung mit drauf steht, egal was noch.
     
  4. Hascheff

    Hascheff Moderator

    Die Liste basiert auf einer gewöhnlichen Auswahlabfrage mit all ihren Möglichkeiten, also auch Filter oder Parameter-Variablen.
    Ich habe schon befürchtet, dass du eine Volltext-Suche benötigst. Damit kenne ich mich nicht aus.
     
  5. Naja, deshalb bräuchte ich auch eine Verknüpfung von Platzhalter und Variable, wäre die schnellste Möglichkeit.
     
  6. neppo1

    neppo1 Halbes Gigabyte

  7. Hascheff

    Hascheff Moderator

    Vielleicht hilft dir das: Regulärer_Ausdruck
    Kostet aber auch Zeit. Schau besser vorher in der Hilfe nach, ob OO damit etwas anfangen kann.
     
  8. Also generell ist in OO Base der Platzhalter ein * ... wobei sowas wie:

    *Rechnung* alles ausgibt, wo irgendwo Rechnung drin steht. Das Problem ist aber, das *:Aktenname* nicht funktioniert ... weil sich so Variable und Platzhalter nicht kombinieren lassen.
     
  9. So, das erste Problem ist gelöst, die Abfrage funktioniert, und ein Formular gibt es auch, was die Datensätze der Abfrage anzeigt.

    Nun aber zum nächsten Problem ... da ich anscheindend in der Abfrage keine Daten hinzufügen kann, wie kann man realisieren, das man bestimmte Datensätze sucht und gleich ändern kann?
     
  10. Hascheff

    Hascheff Moderator

    Das ist knifflig. Wenn eine Abfrage nicht aktualisierbar ist, kann das verschiedene Gründe haben.
    Erster Kandidat bei der Fehlersuche sind die Beziehungen zwischen den Tabellen. Dies lassen sich als "Inner join" und "Outer join" gestalten. Das hilft oft. Wie das in OO eingestellt wird, kann ich dir jetzt nicht sagen.
    Dann kommt es vor, dass ID falsch eingesetzt werden.
    Es kann aber auch schlicht und einfach an der Verwendung von Variablen liegen.

    In der Regel ist es so, dass eine Abfrage aktualisierbar ist, wenn das gebraucht wird und kein Denkfehler bei der Erstellung passiert ist. Mir ist es aber auch schon so gegangen, dass ich eine Abfrage noch mal erstellt habe und nach jedem Schritt geprüft habe, ob sie noch funktioniert.

    Viel Glück bei der Suche,
    Hascheff
     
Thread Status:
Not open for further replies.

Share This Page