Office: (Office 2013) Erstellen einer Suchfunktion mit Verlinkung

Helfe beim Thema Erstellen einer Suchfunktion mit Verlinkung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Forengemeinde, Nachdem ich seit wirklich vielen Tagen Google nach der Möglichkeit durchforste, eine Suchfunktion für meine Datenbank zu... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Samti, 23. November 2016.

  1. Erstellen einer Suchfunktion mit Verlinkung


    Hallo liebe Forengemeinde,

    Nachdem ich seit wirklich vielen Tagen Google nach der Möglichkeit durchforste, eine Suchfunktion für meine Datenbank zu realisieren (leider bisher ohne nennswerten Erfolg), wende ich mich jetzt mal an euch, in der Hoffnung, dass ihr mir hier weiter helfen könnt.

    Gleich mal vorweg: Ich hatte vor dieser Datenbank noch nicht wirklich Kontakt mit MS Access. Vorwissen, vor allem in VBA, ist daher leider so gut wie keines Vorhanden.


    Folgendes Szenario:

    Gegeben ist eine MS Access 2013 Datenbank mit Firmen und Infos zu diesen (Firma, Anschrift, Ansprechpartner, usw.; insg. 25 Datenfelder).

    Die Anforderung ist nun, in ein Suchformular einen Suchbegriff eingeben zu können, der daraufhin, durch klicken eines Buttons, in (fast -> falls möglich) allen Datenfeldern der Datenbank gesucht wird (in allen Datensätzen). Die Ergebnisse (nur der Firmenname, da sich alle Datenfelder schlecht nebeneinander darstellen lassen, ohne den Überblick zu verlieren) sollen dann in einem unter dem Suchfeld stehenden Endlosformular angezeigt werden. Zusätzlich wäre ein Feld neben den gefundenen Firmen sinnvoll, in dem das Datenfeld angezeigt wird, das den Suchbegriff enthält, um eventuell sinnlose Ergebnisse gleich zu erkennen. Durch Klicken auf den Firmennamen soll dann ein weiteres Formular geöffnet werden, in dem nun alle Infos der Firma angezeigt werden.

    Aktueller Stand:
    Die Datenbank (also Tabelle) ist erstellt.
    Das Formular zur Anzeige der Firmendetails ist erstellt.
    Das Formular zur Suche ist im groben Aufbau erstellt, die Funktionen, und damit der wichtigste Part, sind aber noch nicht vorhanden.


    Ich habe versucht das Suchformular mit einem vorgefertigten Code hin zu bekommen ("Suchformular in 10 Minuten erstellt"), habe es aber leider nicht geschafft.
    Wie kann ich die oben genannte Suchfunktion und Verlinkung zwischen den Formularen realisieren? Ich bin für jede Idee, jede Hilfe und jeden Lösungsansatz dankbar und hoffe, dass die Funktionsweise so überhaupt möglich ist. (Ich hoffe ich bin hier im richtigen Bereich)

    Vielen, vielen Dank schon mal im Voraus und noch einen schönen Tag!
    Samti

    :)
     
  2. Hallo, und willkommen im Forum *wink.gif* .

    Was soll denn diese Datenbank mal werden, wenn sie fertig ist? Ist das nur eine Übung für die Schule oder soll sie wirklich produktiv funktionieren?

    Wenn das letztere, dann solltest du erst dein Datenmodell überdenken. Eine Firma kann mehrere Ansprechpartner haben, mehrere Telefonnummern oder auch Adressen ... kommt die dann jedesmal wieder als neuer Datensatz in deine Tabelle? Und wozu willst du nach "Meyer" suchen in der Telefonnummernspalte? etc.

    maike
     
  3. Hallo maikek,

    erstmal danke für den Empfang*Smilie

    Die Datenbank soll wirklich produktiv arbeiten.
    Sollte es wirklich so sein, dass einmal noch mehr Telefonnummern o.ä. nötig sind (Es gibt bereits mehrere) füge ich eben noch ein Datenfeld hinzu. Ich denke nicht, dass es vom Aufwand her Sinn macht hier nochmal mit Verknüpfungen zu arbeiten, falls du darauf hinaus wolltest.

    Mit deinem zweiten Punkt hast du natürlich Recht, ich denke mir nur, dass ein aneinander Reihen von allen möglichen Datenfelder, in denen man dann separat suchen kann, zu unübersichtlich wird. Zur not ist das aber auch machbar.

    Vielen Dank für deine Hilfe
    Samti
     
  4. Erstellen einer Suchfunktion mit Verlinkung

    Hallo!

    .. und außerdem programmierst du dann auch die Anwendung um, da das Datenfeld überall ergänzt werden muss, wo es benötigt wird.
    Würdest du nur einen neuen Datensatz für den neuen Ansprechpartner einfügen, würde sich in der Anwendung nichts ändern.

    Das Erstellen der Filter über mehrere Datensätze ist meiner Meinung nach viel einfacher zu gestalten als über mehrere Datenfelder.

    Beispiel:
    Angenommen du hast 5 Datenfelder für Anprechpartner in deiner aktuellen Struktur und du suchst die Firmen, die 'Mustermann' als Ansprechpartner in einem dieser Felder eingetragen haben:

    Code:
    Würdest du eine extra Tabelle für die AP verwenden würde die Abfrage so aussehen:
    Code:
    Welche Variante ist für dich besser lesbar?

    Nun benötigst du noch einen 6. Ansprechparter => Variante 1 muss angepasst werden. Die 2. Variante funktioniert sofort, da die Anzahl der Ansprechpartner keine Rolle spielt.

    Daher auch von mir der Tipp: Wenn du die Anwendung erweiterbar gestalten willst und nicht nur eine verwaltete Excel-Liste benötigst, mach es von Anfang an richtig, sonst ist schade um die Zeit, die du jetzt investierst, da du später mit hoher Warhscheinlichkeit umstellen wirst, da ein "Excel-Tabellen-Modell" zu unflexibel ist.


    Möglicherweise wird dann aber die Suche konkreter.

    Angenommen du hast ein Datumsfeld das angibt, wenn von einer Firma ein Zertifikat abläuft.
    Wie würde der Anwender einen Filter formulieren, der alle Firmen anzeigt, bei denen im aktuellen Monat ein Zertifikat abläuft. Es sollen aber nur diese Firmen angezeigt werden und keine Firmen, bei denen das Erstelldatum in diesen Zeitraum fällt. Nur das Schreiben eines Datumswertes in ein Textfeld und diesen Wert in allen Feldern suchen, wird möglicherweise nicht das gewünschte Ergebnis liefern.


    Wenn nach sehr vielen Feldern parallel gesucht werden soll, könnte man diese auch nur einblenden wenn sie benötigt werden.
    Dann hat man z. B. die meist verwenden Suchfelder immer sichtbar und für eine Detailsuche klappt man die weiteren Suchfelder auf.


    mfg
    Josef
     
    Josef P., 25. November 2016
    #4
  5. Hallo Josef,

    ja, dass der 2. Code besser lesbar ist, ist sogar für mich erkennbar.
    Die jeweiligen Datensätze sind für das erforderliche Niveau der Datenbank schon recht gut ausgestattet und vor allem schon mit vielen Datensätzen bestückt. Es sollten eigentlich keine Datenfelder mehr hinzu kommen. Ich müsste also jetzt erstmal die ganzen Datenfelder wieder auslagern und dann verknüpfen, was mich dann höchstwahrscheinlich wieder vor eine neue Herausforderungen stellt.

    Ich sitze auch schon ziemlich lange an der DB, weshalb ich eigentlich möglichst schnell fertig werden möchte. Wenn es geht ist würde ich die DB also gerne so lassen, wie sie ist. Wenn ihr allerdings meint, dass es die Arbeit ungemein erleichtern würde, oder notwendig ist, kann ich die Telefonnummern natürlich auch auslagern. Konsequent müsste ich das aber mit fast der kompletten Tabelle machen. Ich bräuchte dann aber noch ein paar Tipps, wie ich die beiden Tabellen dann erfolgreich miteinander verknüpfe.

    Vielen Dank für eure Hilfe!

    Samti
     
  6. Wenn du jetzt schon mit der Anwendung fast fertig bist, ist es wiederum egal, ob eine andere Struktur dir die Arbeit erleichtern würde. Du hast ja dann fast keine Arbeit mehr.

    Nur die Telefonnummern auslagern, ist vermutlich nicht viel wert. Ich würde eher die Ansprechpartner auslagern und bei denen die Telefonnummer speichern. *wink.gif*


    Bezüglich Aufwand:
    Du hast jetzt 1 Tabelle mit ca. 25 Datenfeldern. So groß kann der Aufwand gar nicht sein, diese aufzuteilen.
    Etwas Aufwand kommt dann noch dazu, da du vermutlich auch die Formulare und Berichte umgestalten musst, sobald 1:n-Strukturen verwendet werden.

    Ob du umstellst, ist deine Entscheidung und ich gebe dir keine Empfehlung für diese Entscheidung. Mir ist nämlich nur wichtig, dass du weißt, dass die bei einer Erweiterung deine aktuelle Struktur aufwendig werden kann. Ob du jetzt schon am Anfang Zeit in den Umbau investierst oder erst später, wenn neue Anforderungen kommen und du dann ändern musst, weil die Anforderung sonst nicht erfüllbar ist, darfst du entscheiden.

    Eine Suche ist auch mit deiner Struktur machbar.
    Wie sie laufen kann, zeigte ich mit den Or-Bedingungen im Beitrag #4.
    Mit ein paar Hilfsfunktionen lässt sich dieses Or-Konstrukt auch komfortabler bedienbar machen.

    Mögliche Variante (Funktion mit diesen Parametern ist erfunden):
    Code:
    Das Ergebnis soll dann sein:
    Code:
    Du kannst im Prinzip auch alle Tabellenfelder (oder die Felder der Formulardatenquelle) per Code durchlaufen und dann je nach Datentyp einen Filterausdruck für jedes Feld erzeugen lassen, wenn du eine "Google-Suche" im Formular haben willst.

    mfg
    Josef
     
    Josef P., 25. November 2016
    #6
  7. Ok vielen Dank für deine Erklärung!

    Dass eine Suche mit mehreren Kriterien Sinn macht, leuchtet mir ein. Gibt es dann eine Möglichkeit, dass ich z.B. 5 Eingabefelder im Formular nebeneinander anordne und über weitere 5 Kombifelder den jeweils zu durchsuchenden Datensatz auswähle? So könnte ich wahrscheinlich die meisten Suchen in der Datenbank abwickeln.

    Ist in meinem Code eigentlich kein Verweis auf die zu durchsuchende Tabelle nötig?

    Wo füge ich den Code dann ein, dass ich ihn "per Knopfdruck" starten kann?

    Gibt es eine Möglichkeit nach Datensätzen zu suchen, deren Felder das Suchwort enthalten(Wenn ich das richtig sehe, muss ich bei deinem Code exakt den Suchbegriff in der Tabelle haben, um den Datensatz angezeigt zu bekommen)?

    Wie verhalten sich meine Ergebnisse, wenn ich ein Suchfeld dann nicht ausfülle?

    Wie kann ich meine Verlinkung zur anderen Tabelle realisieren?

    Vielen Dank schon mal!
    Samti
     
  8. Erstellen einer Suchfunktion mit Verlinkung

    Ich versuche mal die Fragen zu beantworten, so gut es geht, teilweise kann ich nur rückfragen *wink.gif* .
    Meinst du 5 Felder zum Anzeigen und 5 Kombifelder zur Auswahl der Suchbegriffe?
    Welchem deinem Code? Und jein, ein Verweis auf die Tabelle oder die Tabelle als Datengrundlage des Formulars. Das ist aber jetzt nur sehr allgemein gesagt.
    Du setzt dir einen Button in dein Formular und wählst in den Eigenschaften Ereignisprozedur aus. In diese Ereignisprozedur kommt der Code.
    Das würde man im Code so schreiben, dass dann alle Daten ohne Einschränkung gefunden werden.
    Welche andere Tabelle? Du meinst die 1:n Tabelle für die Ansprechpartner?
    Falls ja, dann würde ich dir dieses Tutorial hier empfehlen: http://www.access-tutorial.de/tabell...ammenspiel.htm. (Falls nein, dann eigentlich auch *mrcool ).

    maike
     
  9. Ich habe das mit den 5 Feldern so gemeint:
    Ich erstelle 5 Felder, in die ich Suchbegriffe eingeben kann. Zudem erstelle ich 5 zugehörige Drop-Down Felder (Kombi-Felder, glaube ich), mit denen ich das Datenfeld auswählen kann, in dem gesucht wird.

    Mit dem Link meine ich die in meiner anfänglichen Anforderungsbeschreibung genannten Verlinkung zu der Detailtabelle, durch klicken auf den Firmennamen. Sprich wenn ich auf den Frimennamen im Suchergebnis klicke wird der zugehörige Datensatz im Detailformular geöffnet.

    Nochmal vielen Dank!
    Samti
     
  10. Das ist machbar. Es könnte aber sein, dass die Eingabe der Suchbegriffe dann länger dauert als 10 Suchfelder, bei denen eines für ein bestimmtes Datenfeld ist.

    mfg
    Josef
     
  11. Ist aber übersichtlicher, als wenn ich alle (ca.) 15 Felder nebeneinander schreibe, in denen eine Suche Sinn macht.
    By the way: wir reden hier über 50 bis 100 Datensätze.

    Bis jetzt ist der Stand also so:
    In einem Formular werden im Kopf 5 Eingabe Felder stehen, in die ich Suchbegriffe eingeben kann und dann über ein zugehöriges Drop-Down Feld das Datenfeld auswählen kann, in dem nach dem Begriff gesucht wird.
    Mit einem "Suchen" Button starte ich den Suchcode.
    In einem Endlosformular darunter werden dann die Firmennamen der Datensätze angezeigt, die den Suchbegriff im passenden Datenfeld stehen haben. Werden keine Suchkriterien festgelegt, werden alle Firmen angezeigt. Durch Klicken auf einen Firmennamen öffnet sich nun ein weiteres Formular in dem ich einen Überblick über alle Infos der Firma erhalte.

    Noch nicht klar ist mir jetzt, wie ich diese Verlinkung gestalten kann, wie ich es möglich mache, dass das Suchwort nicht komplett allein im Inhalt des Datenfeldes stehen muss und vor allem:

    Wie realisiere ich diese ganzen, offensichtlich machbaren, Funktionen jetzt in Code? ^^

    Vielen Dank für euere Hilfe!
    MfG
    Samti
     
  12. Dafür gibt es like für Text.
    Code:
    Beispiele im Forum suchen und versuchen sie zu verstehen, um sie dann passend anpassen zu können. *wink.gif*
    Du könntest auch eine Beispieldatei mit dem Suchformular erstellen und ein Helfer aus dem Forum fügt dir ein Code-Gerüst ein, das du dann weiter ausbaust, um dein Suchvorhaben umzusetzen.

    mfg
    Josef
     
  13. Erstellen einer Suchfunktion mit Verlinkung

    Ich habe dir mal eine kleine Musterdatenbank angefügt. Vieleicht hilft das.
     
    rainer176, 25. November 2016
    #13
  14. Servus Samti,
    ...oder man erschlägt das Filterproblem mit einem für alles einsetzbare Suchformular, wie es Bitsqueezer mit seiner inzwischen neuesten Version V2_8b kostenlos anbietet.
    Natürlich ist es sehr wichtig, sich mit dem Filtern per VBA zu beschäftigen, doch irgendwann beginnt es zu nerven, niemals eine für alles einsetzbare Version haben zu können.
    Ein schönes Parallelbeispiel ist z.B. auch das TreeView Element, zu welchem inzwischen nun auch (allerdings teure) Komplettlösungen angeboten werden.

    Die DB (rar) ist mit 332kb zu gross für direktes Senden.
    Bitte mir per Private eine emailadresse nennen, wohin ich sie schicken kann.

    p.s.: Man muss keine Angst haben, Datumsfelder oder Ja/nein Felder
    ins Suchformular einzufügen. Sie werden von den umfangreich Klassenmodulen und Modulen automatisch erkannt und richtig behandelt.
    Sämtliche Module muss man nicht verstehen, sondern einfach in seine
    DB importieren. Natürlich freut sich jeder Programmierer, wenn sich jemand dann auch noch mit seinen Programmierzeilen beschäftigt.
     
    Ohrkester, 26. November 2016
    #14
  15. Hallo zusammen,

    bitte entschuldigt, dass ich mich jetzt erst melde.
    Ich werde mir, wenn ich Zuhause bin, die Beispieldatenban ansehen, vielen dank schonmal hierfür!
    Dann melde ich mich noch einmal.

    Vielen Dank für eure Hilfe!
    Samti
     
Thema:

Erstellen einer Suchfunktion mit Verlinkung

Die Seite wird geladen...
  1. Erstellen einer Suchfunktion mit Verlinkung - Similar Threads - Erstellen Suchfunktion Verlinkung

  2. 2 Benutzerdefiniertes Inhaltsverzeichnis erstellen

    in Microsoft Word Hilfe
    2 Benutzerdefiniertes Inhaltsverzeichnis erstellen: Hallo zusammen Ich stehe gerade vor dem Wald und seh die Bäume nicht - oder besser gesagt, völlige Leere im Kopf. Ich arbeite mit Office 2021 und versuche ein 2 Benutzerdefiniertes...
  3. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  4. Erstellung eines Dynamischen Kalenders

    in Microsoft Excel Hilfe
    Erstellung eines Dynamischen Kalenders: Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  5. Erstellung eines Dynamischen Kalenders (ggf. VBA)

    in Microsoft Word Hilfe
    Erstellung eines Dynamischen Kalenders (ggf. VBA): Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  6. Rechnung erstellen

    in Microsoft Excel Hilfe
    Rechnung erstellen: Hallo zusammen, meine Mutter hat einen kleinen mobilen Friseursalon und braucht dafür eine Rechnung. ich habe die Rechnung soweit fertig. nur hätte ich gerne ein Dropdown für die Adresse (mehr...
  7. Suchfunktion erstellen

    in Microsoft Excel Hilfe
    Suchfunktion erstellen: Hallo Gemeinde, ich bin neu hier und bitte um Hilfe. Ich möchte eine Tabelle erstellen, die zur Suche von Datenanschlüssen verwendet werden soll. Fakten: 10 Gebäude mit je einem Datenschrank;...
  8. Suchfunktion erstellen

    in Microsoft Access Hilfe
    Suchfunktion erstellen: Hallo liebe Community, ich hab mich vor ca 2 Minuten angemeldet, in der Hoffung, dass ihr mir bei meinem Problem in Access weiterhelfen könnt. Nach 2 Tage erfolgloser Recherche bin ich leider...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden