![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Warnung bei doppeltem Datensatz
Hallo,
ich habe ein Problem, dass ich keine Daten doppelt eingeben möchte. Ich habe schon ein wenig hier im Forum geforscht, bin aber nicht so recht schlau daraus geworden: Ich habe ein Tabelle die folgendermaßen aufgebaut ist: lfd_Nr Name Str PLZ Ort Typ FarbCode Die lfd_Nr ist der Primärschlüssel. Nun möchte ich, dass der neue Datensatz mit den bereits abgelegten Datensätzen verglichen werden soll. Und zwar so: Zuerst soll nach dem Typ gefiltert werden (denn der Typ darf doppelt sein) und dann innerhalb dieses Filters den Namen, Str, PLZ und Ort vergleichen. Kann mir da bitte mal jemand einen Tipp geben? Danke Andreas |
Re: Warnung bei doppeltem Datensatz
Kannst du nicht ein unique constraint auf die Adress-Felder inklusive Typ legen?
|
Re: Warnung bei doppeltem Datensatz
Ich kenne mich in der Datenbank-Programmierung nicht so aus, das ist praktisch mein Übungsprojekt, welches ich so nebenbei mache...
Was bedeutet denn das Attribut "unique" in Verbindung mit "constraint"..... Ich finde da keine Angaben zu in meinem SQL-Buch..... Und wenn das gehen sollte, wie stelle ich das eigentlich an? Und ab wievielen Datensätzen wird diese Überprüfung langsam? Fragen über Fragen.... Vielleicht magst du mr noch weiterhelfen Gruß Andreas |
Re: Warnung bei doppeltem Datensatz
Hast du MS Access auf deinem Rechner installiert? Du kannst da irgenwo einen Index definieren, der die besagten Felder enthält. Dann kannst du noch ein Häkchen machen, dass der Indexeintrag eindeutig sein soll. Ich hoffe du kommst so zurecht, denn ich habe im Augenblick kein MS Access.
|
Re: Warnung bei doppeltem Datensatz
Ja, habe ich in der Version 2000. Komme aber damit nicht so klar. Ich dachte, das könnte man unter Delphi mit SQL abfragen....
War wohl ein Irrtum |
Re: Warnung bei doppeltem Datensatz
Es gibt in Access bestimmt so etwas wie einen Entwurfsmodus. In dem kann man dann die Tabellendefinition bearbeiten. Natürlich kannst du es auch mit Delphi abfragen, aber den unique index brauchst du dann doch noch. Stell dir vor du hast in einer Mehrplatzumgebung geprüft, ob der Eintrag eindeutig ist und zeitgleich mit einem zweiten User schreibst du dann deinen Satz...
|
Re: Warnung bei doppeltem Datensatz
Ich habe nun in Access in der Tabelle im Entwurfsmodus unter den Punkt "Indiziert" "ja (duplikate möglich) für meine Tabellenspalten eingetragen. Dabei habe ich nicht den Primärschlüssel geändert. Und wie muss ich jetzt weiter machen ?
|
Re: Warnung bei doppeltem Datensatz
Im Toolbar (Access 2002) befindet sich ein Symbol für Indizes. Da musst du mal drauf hauen. In dem Index-Fenster willst du dann sehen:
Primärschlüssel: Lfd-Nr, Aufsteigend MeinIndex: Name, Aufsteigend MeinIndex: Str, Aufsteigend MeinIndex: Plz, Aufsteigend MeinIndex: Ort, Aufsteigend MeinIndex: Typ, Aufsteigend Statt MeinIndex kannst du einen fast beliebigen Namen eintragen. Bei jedem Eintrag sollte Eindeutig=Ja festgelegt sein. Ungewollte Indexe durch deine sonstigen Aktionen kannst du löschen. [edit]Nur das erste Indexfeld bekommt den Indexnamen auch eingetragen![/edit] |
Re: Warnung bei doppeltem Datensatz
Ein kurzer Einwand...
Wenn du den Umgang mit DBs lernen willst ist Jet genau das FALSCHE! Das Ding versteckt zuviel und kümmert sich einen feuchten um gängige standards an die sich sogar Querulant Oracle hält. (Und das mag was heißen :lol: ) Eine "richtige" und auch noch kostenfreie DB könnte Firebird oder PostGreSQL sein. pgSQL hätte den Vorteil der sehr strikten Implementierung von SQL Standards und hat eine bessere Doku als FB. Aber beide verderben den zukünftigen DB'ler nicht, wie es Jet (und schlimmer noch: Die Kombi Jet/Access :shock: ) macht... ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz