FM - unsaubere Lösung?

Diskutiere mit über: FM - unsaubere Lösung? im Datenbanken und Archiv Software Forum

  1. WiKainZwaida

    WiKainZwaida Thread Starter MacUser Mitglied

    Beiträge:
    131
    Zustimmungen:
    0
    Registriert seit:
    21.04.2006
    Hallo zusammen !

    Bin seit langem mal wieder dabei, mit FM rumzubasteln. Und zwar wollte ich es so einrichten, dass man, wenn man später einen Datensatz bearbeitet, die Möglichkeit hat, entweder die Änderungen zu bestätigen oder die Änderungen rückgängig zu machen.

    Daher wird der entsprechende Datensatz vor den Änderungen samt seinen Bezugsdatensätzen dupliziert. Die Änderungen werden am "Original"datensatz vorgenommen. Bestätigt der Benutzer diese Änderungen, wird das Duplikat (und automatisch die duplizierten Bezugsdatensätze) einfach wieder gelöscht. Will der Benutzer die Änderungen rückgängig machen, wird dementsprechend der "Original"datensatz gelöscht und sozusagen durch das Duplikat ersetzt.

    Funktioniert soweit wunderbar! Nur habe ich festgestellt, dass die fortlaufende Nr., über die mein Testdatensatz eindeutig identifiziert wird, mittlerweile bei 54 liegt. Ich weiß, dass jedem Datensatz ohnehin eine interne Nr. oder sowas zugeordnet wird.

    Situation ist also: Ich habe erst einen Datensatz, der aber schon die fortlaufende Nr. 54 und interne Nr. was-weiß-ich-wie-viel inne hat.

    Ich denke mal, dass diese Zahl wahrscheinlich ohne Probleme in die Millionen gehen kann und es keine Fehlermeldung wie "Zahl zu groß" etc. geben wird. Aber ist diese Lösung wirklich "sauber"? Bei mehreren Datensätzen, die immer wieder bearbeitet werden, gerät man sicher ganz schnell in den 1.000er bis 10.000er-Bereich. Was sagen die FM-Cracks dazu?
     
  2. ThoRo

    ThoRo MacUser Mitglied

    Beiträge:
    846
    Zustimmungen:
    58
    Registriert seit:
    22.08.2005
    Hallo WiKainZwaida,

    die automatische Datensatznummerierung hast Du manuell aktiviert (in den Felddefinitionen), das macht FileMaker nicht von selbst.

    Insgesamt erscheint mir das System (Duplikat erstellen, Änderungen vornehmen, Bestätigen, Original oder Duplikat verwerfen) reichlich aufwendig.
    Eine altbewährte Alternative ist die Erstellung eines alternativen Erfassungsbildschirms, in dem nur Variablenfelder sichtbar sind. In diese werden die Angaben aus dem Datensatz reinkopiert (per Script mit "Feld angeben" bzw. "feldwert setzen") und beim Verlassen des Schirms entweder in den Datensatz zurückgeschrieben ("Speichern") oder einfach verworfen ("Abbrechen").

    Hierbei muß man nur einmal die benötigte Anzahl an Variablenfeldern definieren und die Wechselscripte (hin zum Erfassungsbildschirm mit Datenübernahme und zurück zum Originalbildschirm) programmieren. Der Aufwand einen Datensatz mit allen Bezugsdatensätzen zu kopieren entfällt....

    MfG

    ThoRo
     
  3. WiKainZwaida

    WiKainZwaida Thread Starter MacUser Mitglied

    Beiträge:
    131
    Zustimmungen:
    0
    Registriert seit:
    21.04.2006
    War ewig nicht mehr hier, aber an Deinen Nick kann ich mich noch gut erinnern.

    Vielen Dank für die (mal wieder) schnelle Hilfe!

    1. Problem: Wie erstellt man ein Variablen-Feld?

    2. Problem: Mit den Änderungsmöglichkeiten, die auf Wunsch wieder rückgängig gemacht werden sollen, ist es möglich, Bezugsdatensätze zu ergänzen bzw. zu löschen.
    Bsp.: Tabelle "Buch" ist über eine Linktabelle, die "ID_Buch" und "ID_Themen" enthält, mit der Tabelle "Themen" verknüpft. Man kann in dieser Linktabelle nun Datensätze löschen bzw. hinzufügen.
    Denke, dieses Problem kann mit Deinem Vorschlag leider nicht gelöst werden... oder hab ich Dich eventuell falsch verstanden?

    3. Natürlich habe ich ein Feld "ID" mit fortlaufender Nr. selbst erstellt. Aber soweit ich weiß, vergibt Filemaker auch intern solche IDs für jeden Datensatz, die man über hole (datensatz idnr) erhält... Wie groß kann diese Zahl wohl werden?

    Wie gesagt: Vielen Dank für Deine Hilfe! Und auch, wenn sich Problem 2 wohl damit nicht beheben lässt, bin ich sehr denkbar, wenn Du mir erklärst, wie man Variablenfelder erstellt.

    Schöne Grüße
     
  4. ThoRo

    ThoRo MacUser Mitglied

    Beiträge:
    846
    Zustimmungen:
    58
    Registriert seit:
    22.08.2005
    Hi WiKainZwaida,

    Variablenfelder hießen bis FileMaker 6 auch noch so. Danach - ab FileMaker 7 - sind es normale Felder (also Typ Text, Zahl, etc.) bei denen in den Feldoptionen unter "Speicher" die globale Speicherung aktiviert wird ("Ein Wert für alle Datensätze").

    Über den von mir beschriebenen Weg lassen sich auch Bezugsdatensätze bearbeiten - allerdings ist dafür der Programmieraufwand höher. Es muß eine zweite, parallele Beziehung (vom Variablenfeld ausgehend) definiert werden, die quasi die realen Änderungen "vorwegnimmt" bzw. simuliert.

    FileMaker führt intern eine Kennzeichung für jeden Datensatz mit, das stimmt. Von einer Begrenzung in der Nummerierung hab ich bislang noch nichts gehört, der Adreßraum sollte also mehr als ausreichend groß sein....

    MfG

    ThoRo
     
  5. WiKainZwaida

    WiKainZwaida Thread Starter MacUser Mitglied

    Beiträge:
    131
    Zustimmungen:
    0
    Registriert seit:
    21.04.2006
    Hast mir restlos geholfen: Das mit den "globalen Feldern" finde ich sehr viel eleganter als meine alte Methode!

    Tausend Dank!!!
     
Die Seite wird geladen...
Ähnliche Themen - unsaubere Lösung Forum Datum
Beste Lösung um Fotos bei Filemaker einzubinden. Datenbanken und Archiv Software 09.04.2012
Lösung für Klienten, Stunden und Honorarnoten Datenbanken und Archiv Software 15.10.2011
Datenbank Lösung gesucht Datenbanken und Archiv Software 01.05.2011
Keine Lösung ohne dass ein Zylus in Tabellebeziehungen entsteht Datenbanken und Archiv Software 09.06.2010
Suche Lösung für DVD(Film)-Datenbank Datenbanken und Archiv Software 27.08.2009

Diese Seite empfehlen

Benutzerdefinierte Suche