Folgen Sie dem Video unten, um zu sehen, wie Sie unsere Website als Icon auf Ihrem Homescreen erstellen.
Anmerkung: This feature may not be available in some browsers.
ThoRo schrieb:Hallo alwin,
beim Datenimport gibt es eine Importvariante, die gleiche Datensätze aktualisiert und nur neue Datensätze hinzufügt.
Beim FM 6 heißt die "Passende Datensätze ersetzen" (wird beim FM8 ähnlich heißen).
Grundvoraussetzung ist ein Schlüsselfeld, das in den zu importierenden und den bereits bestehenden Daten identisch ist....
MfG
ThoRo
ThoRo schrieb:Hallo alwin,
das hatte ich anders verstanden.
Wenn die doppleten Datensätze bereits im Ausgangsmaterial vorliegen, dann gibt es zwei Möglichkeiten:
1. das Ausgangsmaterial vor dem Import in FileMaker aufbereiten
oder
2. in FileMaker nach dem Import anhand einer Funktion die doppelten Datensätze suchen und löschen.
Beim Import selbst kann leider nicht gefiltert werden....
Grundsätzlich ist es besser erst gar keine doppelten Datensätze zu importieren, das nachträgliche Suchen und Löschen ist aufwendig und fehleranfällig.
MfG
ThoRo
Und um doppelte zu suchen und dannn von Hans so zu löschen, dass im einer übrig bleibt, habe ich einfach zu viele Datensätze.
ThoRo schrieb:Hallo alwin,
>das Suchen und Löschen muß ja nicht von Hand geschehen, FileMaker >kennt ja bei der Suche einen Platzhalter für doppelte Werte: "!" (sofern >man nicht zu Schleifenkonstruktionen mit Markierungsfeldern greifen >möchte).
Wenn ich mit "!" suche und die gefundenen Datensätze lösche, dann bleibt von den doppeltenn keiner zurück, sondern es werden beide gelöscht. Also muss ich doch von Hand so löschen, dass immer einer stehen bleibt.
>Wenn es sich um Datensätze mit teilweise redundanten Angaben handelt, >die nach dem Import in einer oder mehreren Tabellen "aufbereitet" >werden sollen ("Normalisierung"), dann müssen doch erst alle Daten >eingelesen werden, da ansonsten die Aufbereitung ja nicht stattfinden >kann. Erst danach kann nach Doppelungen gesucht werden...
Ich dachte es wäre besser von vornherein einzelne Tabellen anzulegen und dann direkt in die einzelnen Tabellen zu importieren (aus einer Excel-Datei).
MfG
alwin
joachim14 schrieb:Die Menge der Datensätze wird es doch wohl nicht sein.
Angenommen, Du hast eben 10.000 Datensätze importiert, darunter 1.000 Doubletten. Die suchst Du mit der Suche nach Doubletten. Die Sucher ergibt 1.001 Datensätze, weil einer dieser Datensätze schon in der Datei enthalten war. Den schließt Du aus und löscht die verbleibenden 1.000 Datensätze. Das geht mit Script und dauert vielleicht einige Sekunden.
joachim14 schrieb:Genau für solche Fälle, die Du jetzt beschreibst, ist eine Datenbank auch da.
Warum soll folgendes nicht funktionieren: Du markierst alle Datensätze in Deiner Datei (zB mit "ok", "ja" oder so ähnlich).
Dann importierst Du.
Dann suchst Du alle Doubletten (die bei Dir zweimal vorkommen), und schließt in der Abfrage Deine markierten Datensätze aus. Die Ergebnismenge wird gelöscht.
Dto. mit weiteren Doubletten (die bei Dir dreimal vorkommen).
Das ist doch wohl alles in einem Script unterzubringen.
So jedenfalls nach den Beschreibungen, die Du bislang zu dem Problem gegeben hast.
ThoRo schrieb:Hallo alwin,
jetzt kommen wir der Sache näher...
Ein Lösungsansatz wäre folgender:
1. Schritt: Daten aus der ersten Excel Spalte in FileMaker importieren.
2. Schritt: Dubletten suchen mit "!" (doppelte Datensätze werden sortiert ausgegeben)
3. Schritt: scriptgesteuert nur die überzähligen Datensätze löschen.
Das Script zum 3. Schritt sieht - sinngemäß - folgendermaßen aus (Achtung: alles noch in FM 6 Namensgebung - ich ignoriere den 8er zur Zeit noch konsequent):
Gehe zu ersten Datensatz
Feldwert in Variablenfeld schreiben (für späteren Abgleich)
Gehe zu nächstem Datensatz
Schleife
Wenn "Aktueller Feldwert" gleich Variablenfeld
-> Markierungsfeld auf Löschen setzen
Sonst
-> Feldwert in Variablenfeld schreiben
Ende-Wenn
Gehe zu nächstem Datensatz (nach letztem beenden)
Schleife-Beenden
Danach Suchen in Markierungsfeld nach "Löschen" und alle gefunden Datensätze löschen.
Wie gesagt, die Funktionsnamen sind in FileMaker 8 etwas anders und der Schleifenablauf ist sinngemäß zu verstehen....
Hoffentlich hilfts weiter...
MfG
ThoRo
alwin schrieb:Gehe zu Datens./Abfrage/Seite [ Letzte(r) ]
Variable setzen [ $$v_Hilf; Wertarameter:arameter ]
Aktuellen Datens. ausschließen
Schleife (Anfang)
Wenn [ $$v_Hilf = Parameter:arameter ]
Datensatz/Abfrage löschen
Sonst
Aktuellen Datens. ausschließen
Ende (wenn)
Verlasse Schleife wenn [ Hole ( DatensatzOffenStatus ) = 0 ]
Schleife (Ende)
ThoRo schrieb:Hallo alwin,
da versuchst Du etwas zu viel auf einmal...
anstelle von "Aktuellen Datens. ausschließen" bitte nur zum nächsten Datensatz wechseln.
Auch nicht sofort löschen, sondern nur markieren und später dann die markierten Datensätze löschen.
Durch das Ausschließen und Löschen wird die Position in der Auswahlmenge verändert und man kann nicht sicher sein, auf welchen Datensatz man gerade zugreift. Daher ist es besser nur zu markieren...
Das Schleife-Ende nicht auf die Bedingung "Keine Datensätze" stellen, sonst kommt man aus der Schleife nicht mehr raus... Es reicht einfach zum nächsten Datensatz zu wechseln (mit Option "nach letztem beenden").
Ansonsten sollte es dann eigentlich funktionieren...
Wenn es gar nicht klappt muß ich doch noch den 8er anwerfen und das Script mal eintippen...
MfG
ThoRo
anstelle von Sortieren... beginnst Du besser mit:alwin schrieb:Sortieren [ Angegebene Sortierfolge: Parameter:arameter; Aufsteigend ]
[ Wiederherstellen; Ohne Dialogfeld ]
alwin schrieb:Wenn [ $v_Hilf = Parameter:arameter ]
Aktuellen Datens. ausschließen
Sonst Variable setzen [ $v_Hilf; Wertarameter:arameter ]
Ende (wenn)
alwin schrieb:Er rechnet und rechnet und schließt auch einige Datensätze aus, aber läßt immer noch einige Tausend doubletten drinnen.
Wo habe ich etwas übersehen?
alwin