Zum Inhalt springen

Suchen in Access Tabelle


AHNUNG?

Empfohlene Beiträge

Hallo zusammen,

ich habe das folgende Problem. In einer Access Tabelle habe ich die Felder Nachname, Nachname1 und Nachname2. Mit Hilfe eines Kombinationsfeldes möchte ich dann im Formular gucken, ob der Name, den ich eingeben will, schon vorhanden ist oder nicht. Ich habe allerdings das Problem, dass Nachname1 und Nachname2 bei der Suche nie berücksichtigt werden. Nur die Namen, die in Nachname stehen werden auch gefunden. Irgenwie stimmt da etwas bei der Abfrage nicht.

Kann vielleicht jemand helfen?

Vielen Dank im voraus!

Link zu diesem Kommentar
Auf anderen Seiten teilen

In einer Access Tabelle habe ich die Felder Nachname, Nachname1 und Nachname2.

Das klingt nicht so, als sei die Tabelle normalisiert. Möglicherweise wäre dein Problem sonst nie entstanden.

Mit Hilfe eines Kombinationsfeldes möchte ich dann im Formular gucken, ob der Name, den ich eingeben will, schon vorhanden ist oder nicht. Ich habe allerdings das Problem, dass Nachname1 und Nachname2 bei der Suche nie berücksichtigt werden. Nur die Namen, die in Nachname stehen werden auch gefunden.

Ich nehme mal an, du müsstest deiner Kombobox eine Union-Abfrage zu Grunde legen, also etwas wie "Select nachname from Tabelle UNION Select nachname1 from Tabelle UNION Select nachname2 from Tabelle".

hth

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das klingt nicht so, als sei die Tabelle normalisiert. Möglicherweise wäre dein Problem sonst nie entstanden.

Ja, das habe ich dem Anwender auch schon gesagt. Wie es immer so ist. Der Anwender macht so lange, bis es nicht weitergeht und dann komme ich ins Spiel und muss mit dem klar kommen was ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, das habe ich dem Anwender auch schon gesagt. Wie es immer so ist. Der Anwender macht so lange, bis es nicht weitergeht und dann komme ich ins Spiel und muss mit dem klar kommen was ist.

Oder aber, du änderst es. Gegen Bezahlung versteht sich :D:D:D

Das ist allerdings unter Umständen nicht so ganz einfach (Gott sei Dank, sonst könnte es ja jeder)

:P:p

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

ich dachte, als datensatzherkunft für dein kombinationsfeld mit herkuntstyp = werteliste und als steuerelementinhalt nachname. bin mir aber nicht sicher, ob das so geht. ansonsten würde ich das programmieren.

grüße von ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaube, dass ich das Problem noch einmal beschreiben muss.

Die Anwenderin hat sich also eine Maske mit Nachname, Nachname2 und Nachname3 gebaut. Ich kann also pro Firma max. 3 Ansprechpartner eingeben. Zusätzlich hat sie sich ein Kombinationsfeld auf diese Maske geschoben. Und genau um dieses Suchfeld geht es. Wenn ich hier einen Namen eingebe, der in Nachname steht werden mir die Informationen richtig angezeigt. Nachnamen, die dagegegen in Nachname2 oder Nachname3 stehen kann er dagegen nicht finden.

Herkunftstyp = Tabelle/Abfrage

Datensatzherkunft = Select Nachname, Nachname2, Nachname3 from Tabelle1

Link zu diesem Kommentar
Auf anderen Seiten teilen

das ist schlechtes, ganz schlechtes design - so als würde man einen zweirad alle zeitlang ein rad mehr anstecken und hoffen, dass man nicht verunglückt.

wenn ich die problematik richtig verstanden habe, dann versuch mal Nachname1 von Tabelle, Nachname2 von Tabelle und Nachname3 von Tabelle alle mit UNION aufzulisten - bedenke aber, dass leute, die denselben nachnamen haben, doppelt aufscheinen, aber nicht mehr untereinander unterscheidbar sind.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

das ist schlechtes, ganz schlechtes design - so als würde man einen zweirad alle zeitlang ein rad mehr anstecken und hoffen, dass man nicht verunglückt.

s'Amstel

Ja, das mit dem Datenbankdesign hatte wir ja schon einmal.......Es nützt aber ja nichts. Die Anwenderin hat sich an diese Aufgabe gemacht und es hatte dann das o.g. Ergebnis. Nun kommt sie nicht weiter und ich habe das Ding auf dem Tisch ;-(.

Gib mir doch bitte den SQL-Befehl....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also wenn ich das Problem richtig verstehe ist nicht der SQL- Befehl das problem da kannste nämlich den auch von "ipu" angegebenen benutzen.

SELECT Nachname,Nachname1,Nachname2

FROM Tabelle

WHERE Nachname='Meier' OR Nachname1='Meier' OR Nachname2='meier'

Das Problem ist nur die ComboBox. Ich würde wegen deinem angesprochenen Problem es wie folgt machen (VBA)

Select Firmenname, Nachname, Nachname1, Nachname2 from Tabelle1

Und dann die Combobox per Hand füllen

Combobox.Values.Add(Nachname & " " & Firmenname)

Combobox.Values.Add(Nachname2 & " " & Firmenname)

Combobox.Values.Add(Nachname3 & " " & Firmenname)

Weiß nicht ob der Befehl genau richtig ist, aber das findest dann schon raus. FirmenID natürlich nicht vergessen :-)

Wenn nun der Endanwender in der Combobox mit dem Nachnamen zum schreiben beginnt, springt er auch zu Nachname 2 und Nachname 3 hin !!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen,

ich habe mal den momentanen Quelltext heraus kopiert.

Private Sub Kombinationsfeld125_AfterUpdate()

' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.

Dim rs As Object

Set rs = Me.Recordset.Clone

rs.FindFirst "[Nachname] = '" & Me![Kombinationsfeld125] & "'"

If Not rs.EOF Then Me.Bookmark = rs.Bookmark

End Sub

Hier wird Nachname2 und Nachname3 auch gar nicht berücksichtigt!

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
Hallo zusammen,

ich habe das folgende Problem. In einer Access Tabelle habe ich die Felder Nachname, Nachname1 und Nachname2. Mit Hilfe eines Kombinationsfeldes möchte ich dann im Formular gucken, ob der Name, den ich eingeben will, schon vorhanden ist oder nicht. Ich habe allerdings das Problem, dass Nachname1 und Nachname2 bei der Suche nie berücksichtigt werden. Nur die Namen, die in Nachname stehen werden auch gefunden. Irgenwie stimmt da etwas bei der Abfrage nicht.

Kann vielleicht jemand helfen?

Vielen Dank im voraus!

die Datenbank sollte erstmal Normalisiert werden. Es sind Redundanzen (Wiederholfelder vorhanden)

Wieso brauchst du Nachname 1 und Nachname 2???

nimm doch alles Zusammen und mach den SQL befehl mit "like " Maier"......

müsste eigetnlich gehen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Also wenn du das Problem schnell vom Tisch haben willst, dann würde ich es so machen wie "HJST1979"!

Es ist aber nur ne Frage der Zeit bis weiter Probleme wie diese auftreten die nun mal auf die DB zurück zuführen sind!

Ich empfehle dir echt lieber die DB zu normalisieren! In erster Hinsicht ist es wahrscheinlich viel Arbeit, aber es lohnt sich echt!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...