Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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!

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

  • Autor
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.

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

  • 4 Wochen später...
  • Autor

Hallo zusammen,

ich muss auf dieses Thema noch einmal zurück kommen. Also, Tabelle normalisieren habe ich eigentlich keine Lust zu. Es muss doch auch so eine Möglichkeit geben, dass der Name - den ich eingebe - in allen Spalten gesucht wir, oder.

geht denn sowas wie:

SELECT Nachname,Nachname1,Nachname2

FROM Tabelle 

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

?

grüße von ipu

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

  • Autor

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

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

  • Autor
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....

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 !!

  • Autor

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!

  • 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...

  • 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!

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.