AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Warnung bei doppeltem Datensatz
Thema durchsuchen
Ansicht
Themen-Optionen

Warnung bei doppeltem Datensatz

Ein Thema von elduchte · begonnen am 19. Apr 2005 · letzter Beitrag vom 20. Apr 2005
Antwort Antwort
elduchte

Registriert seit: 21. Jun 2003
20 Beiträge
 
#1

Warnung bei doppeltem Datensatz

  Alt 19. Apr 2005, 19:42
Datenbank: Access • Version: 2000 • Zugriff über: ADO
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Warnung bei doppeltem Datensatz

  Alt 19. Apr 2005, 19:55
Kannst du nicht ein unique constraint auf die Adress-Felder inklusive Typ legen?
  Mit Zitat antworten Zitat
elduchte

Registriert seit: 21. Jun 2003
20 Beiträge
 
#3

Re: Warnung bei doppeltem Datensatz

  Alt 19. Apr 2005, 20:11
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Warnung bei doppeltem Datensatz

  Alt 19. Apr 2005, 20:16
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.
  Mit Zitat antworten Zitat
elduchte

Registriert seit: 21. Jun 2003
20 Beiträge
 
#5

Re: Warnung bei doppeltem Datensatz

  Alt 19. Apr 2005, 20:40
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Warnung bei doppeltem Datensatz

  Alt 19. Apr 2005, 20:46
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...
  Mit Zitat antworten Zitat
elduchte

Registriert seit: 21. Jun 2003
20 Beiträge
 
#7

Re: Warnung bei doppeltem Datensatz

  Alt 20. Apr 2005, 07:05
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 ?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Warnung bei doppeltem Datensatz

  Alt 20. Apr 2005, 07:25
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]
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#9

Re: Warnung bei doppeltem Datensatz

  Alt 20. Apr 2005, 08:47
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 )

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 ) macht...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz