Office: (Office 2016) E-Mail Eingabe

Helfe beim Thema E-Mail Eingabe in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich könnte mal eure Hilfe gebrauchen. Und zwar habe ich eine E-Mail Eingabe gebastelt die mir alle eingegeben Adressen, sofern noch nicht... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Mike2020, 20. November 2020.

  1. E-Mail Eingabe


    Hallo,

    ich könnte mal eure Hilfe gebrauchen. Und zwar habe ich eine E-Mail Eingabe gebastelt die mir alle eingegeben Adressen, sofern noch nicht bekannt, in einer Tabelle abspeichert. Beim eingeben einer Mail Adresse in das Textfeld klappt ein Listenfeld auf und alle bekannten Adressen aus der Tabelle mit dem Anfangsbuchstaben werden vorgeschlagen. (Dafür gibt es auch ein Fachwort, das fällt mir aber momentan nicht ein...)
    Das funktioniert auch soweit. Ich bekomme das nur nicht hin das ich aus dem Listenfeld eine der vorgeschlagenen Mail Adressen auswählen und übernehmen kann. Wenn ich versuche auszuwählen nimmt der immer die erste vorgeschlagene. Wie geht das???


    mfg, Mike


    Code:
     
    Mike2020, 20. November 2020
    #1
  2. Hallo,
    Dein Beispiel bzw. die DB ist unausgegoren.
    Es gibt nur eine Tabelle und das ungebunden Formular.
    Es stellst sich jetzt die Frage, wohin willst Du die ausgewählte EMail Adresse übernehmen.

    Außerdem, warum nimmst Du kein Kombinationsfeld statt dem Listenfeld, das wäre doch viel geeigneter, weiterhin bietet ein Kombifeld genau das was Du jetzt prgrammiert hast automatisch, ohne Code.
     
    gpswanderer, 21. November 2020
    #2
  3. Hallo Klaus

    Ich habe nur die Stelle aus dem Code kopiert die mir Probleme bereitet. Das speichern der Mail Adresse in die Tabelle funktioniert, darum geht es nicht.
    Das mit dem Kombifeld habe ich auch schon probiert, habe ich nicht hinbekommen, weiß aber nicht mehr warum. Geht das denn mit dem Kombifeld auch das der nur neue, unbekannte Adressen speichert?
    Die Funktion ist nur als Eingabehilfe gedacht, ich schreibe die Mail Adresse nur in die Tabelle wenn sie noch nicht drin steht.

    Mike
     
    Mike2020, 21. November 2020
    #3
  4. E-Mail Eingabe

    Hallo,
    Das verstehe ich nicht, wo kriegst Du die unbekannten Adressen her, wenn die in der Tabelle stehen, sind sie doch nicht unbekannt. Das hat doch mit der Feldart nichts zu tun.
    Es soll auch nicht die Adresse gespeichert, sondern deren ID (Primärschlüssel) als Fremdschlüssel. Das ist ja der Sinn der ID's (Schlüsselfelder).

    Ich denke, der gezeigte Code ist mit Verwendung eines Kombinationsfeldes ersatzlos überflüssig.

    Bitte erkläre mal die Zusammenhänge genauer.
     
    gpswanderer, 21. November 2020
    #4
  5. Ich selber würde nicht im Steuerelement (Listenfeld) herumhampeln, sondern die Datenherkunft des Listenfeldes schlicht filtern (=> ein Vergleich statt ...zig in Schleife). Dann bekommt man nur Ergebnisse angezeigt und kann sich darin bedienen. Dann muss man sich auch nicht darum kümmern, ob man die Datensätze von vorn nach hinten oder umgedreht durchläuft und wo der Zähler konkret endet.

    Daneben: Im Thementitel redest Du von Eingabe. Dein Wunsch handelt aber eher von einer Rückgabe nach Auswahl. Für Dich ist das widerspruchsfrei?
     
  6. Erstmal vielen Dank das ihr euch damit beschäftigt.
    Ich glaube aber, wir reden aneinander vorbei. Ich versuche es nochmal zu erklären:

    Ich möchte eine Eingabeunterstützung so wie bei einer Suchmaschine.

    Wenn ich zb ein "a" in das Feld eintippe zeigt der mir alle gespeicherten Adressen an die mit "a" beginnen. Tippe ich "ab" ein zeigt der mir alle die mit ab anfangen. Je mehr Buchstaben ich eintippe desto weiter schränkt sich die Auswahl ein.
    Aus dieser Auswahl möchte ich dann eine Adresse gezielt auswählen können (natürlich nur wenn die passende Mail Adresse dabei ist).
    Es geht darum so wenig wie möglich zu tippen um Zeit zu sparen und Tippfehler zu vermeiden.

    Genau diese gezielte Auswahl funktioniert nicht.
    Wenn mehrere Adressen in der Auswahlbox übrig bleiben kann nicht nicht eine bestimmte davon auswählen.
    Ich muss also immer so weit eintippen bis es nur noch eine Adresse im Listenfeld gibt, dann kann ich diese in das Eingabefeld übernehmen.
    Da sich in der Mail Tabelle mittlerweile schon einige hundert Adressen gesammelt habe muss man mittlerweile schon immer einen großen Teil der Adresse eingeben bis nur noch eine übrig bleibt.

    Wenn ich das Formular dann im Anschluß speichere, wird überprüft ob die Mailadresse schon in der Tabelle vorhanden ist, wenn nicht dann wird sie in die Tabelle geschrieben.

    Mike
     
    Mike2020, 22. November 2020
    #6
  7. Hallo,
    das geht mit einem Kombinationsfeld ohne einen Buchstaben Code. Ein Kombifeld nimmt auch viel weniger Platz in Anspruch.
    Und wie gesagt, es wird nicht die Mailadresse gespeichert, sondern nur deren ID.


    Und Du musst vor dem Speichern prüfen, wenn gespeichert ist, ist es zur Prüfung zu spät.

    Im Anhang ein Beispiel, wie ich es machen würde. Mit Kombifeld.
    Es wird kein Buchstabe Code verwendet.
     
    gpswanderer, 22. November 2020
    #7
  8. E-Mail Eingabe

    Von der Einschätzung der Umständlichkeit weiche ich keinen My ab (für jene, die das interessiert).

    Durch Selektieren verschwindet nicht der Rest, das "Übrigbleiben" ist dann eher eine individuelle Betrachtung, die selektierten Einträge alle IM ÜBERBLICK zu haben dürfte wohl auch nicht gelingen.

    Für eine Rückgabe aus dem Listenfeld müsste man sich primär dafür interessieren, ob jenes auf Einzelauswahl oder auf Mehrfachauswahl eingestellt ist, da im Nachgang recht unterschiedliche Reaktionen gefragt sind.
    Code:
    Eine solche direkte Rückgabe hat man nur mit Einzelauswahl.
     
  9. \@gpswanderer:
    eine Listbox ist ein anderes Userinterface und kann bei einer reinen Auswahl duchaus Vorteile gegenüber einer einfachen Kombobox haben. In der hier gewählten Form ist das allerdings eine sehr einfache Implementierung, da gibt es auch elegantere, subtilere Auswahlmöglichkeiten, welche allerdings dann mit erheblich mehr Programmieraufwand verbunden.


    Hallo Mike,

    das deine Auswahl nocht klappt, liegt an deiner Programmlogik in Verbindung mit den Einstellungen der Listbox.

    Die txtMail_Change Ereignisprozedur selektiert stumpf, und auch noch unnötig kompliziert, immer das erste Item und beim Verlassen wird in txtMail_Exit() stumpf, und auch wieder unnötig kompliziert, dieser selektierte Eintrag txtMail zugewiesen, bevor der Anwender überhaupt eine Change hat, hieran etwas zu ändern.

    Setzte mal Breakpoints auf die Funktionszeilen und gehe dann im Einzelschritt das Procedere mal durch, dann wirst du erkennen, was da falsch läuft.

    Gruß Ulrich
     
    knobbi38, 22. November 2020
    #9
  10. \@Eberhard:
    Das Modell mit der "SQL-Filterung" funktioniert nur solange wirklich gut, wenn nur ein Item selektiert werden soll. Zusätzlich sollte noch berücksichtigt werden, daß der User sich mal vertippt und den letzten Buchstaben wieder löschen möchte.

    Gruß Ulrich
     
  11. Diese Aussage verstehe ich nicht wirklich. Ein Filter funktioniert auf die ganze Tabelle/Abfrage. Wenn mehrere Datensätze das Filterergebnis sind, ist es so. Je nach Qualität des Filters sollte man aber immer für möglich halten, dass man neben genau einem Datensatz auch keinen oder mehrere erhält. Da wäre ich mit einer sofortigen Übernahme in ein Textfeld recht vorsichtig.

    Aus dem Ergebnis könnte man dann selber selektieren/auswählen, ein Recordset daraus könnte man sofort verarbeiten statt nur auf einen Feldinhalt zu schauen.

    Abweichend von dem eingangs geäußerten Wunsch würde ich erst nach Eingabe des gesamten Suchbegriffes filtern und nicht jeweils nach Eingabe eines zusätzlichen Zeichens, auch wenn das Gewackel so toll dynamisch aussieht. Mit einer richtigen Tabelle dahinter (> 20k Datensätze) dürfte einem bei Letzterem das Lächeln im Gesicht einfrieren.

    Zum gesamten Vorgang: Ich würde sehr wahrscheinlich eine Person auswählen, die Mailadresse ergibt sich aus vorhandenen Zuordnungen.
    Aus den teilweise kryptischen Mailadressen direkt selber auszuwählen ist ein (für mich) besonderer Vorgang.
     
  12. Hallo,
    für den gezeigten (unvollständig erklärten und beschriebenen) Vorgang halte ich das Kombifeld für die einfachste Möglichkeit.
    Alles andere ist hier mit Kanonen auf Spatzen geschossen.
     
    gpswanderer, 22. November 2020
    #12
  13. E-Mail Eingabe

    Hallo Mike,
    Genau.
    Und wenn du dich dann noch mit dessen Ereignis "Nicht in Liste"
    (VBA = NotInList) beschäftigst kommst du dahin wo du hin willst.

    gruss ekkehard
     
    Beaker s.a., 22. November 2020
    #13
  14. Erstmal vielen Dank für eure zahlreichen Antworten.

    @gpswanderer
    Dein Beispiel mit dem Kombifeld habe ich mir angeschaut. das ist aber nicht so wie ich das haben möchte.
    Das Kombifeld müsste sich bei der Eingabe des ersten Buchstaben direkt öffnen. Geht das?
    Die Auswahl im Kombifeld muss mit Eingabe von jedem Buchstaben kleiner werden. Wie kann ich die Auswahl im Kombifeld filtern? Geht das überhaupt?
    Ich muss natürlich auch eine neue Mail eingeben können die noch nicht in der Tabelle gespeichert ist. In deinem Beispiel kommt dann eine Fehlermeldung. (OK da habe ich was NotInList (danke Ekkehard) gelesen, kenne ich bisher nicht.)

    Vorgabe ist das es genau so funktioniert wie bei Google (Google Auto Suggest).

    Mike
     
  15. Hallo,
    um das Kombi direkt zu öffnen musst Du ja erst mal reinklicken, was ja auch für Dein Textfeld zutrifft. Und da kannst Du auch direkt auf den Pfeil des Kombis klicken. Das ist kein einziger Tastendruck/Mausklick mehr.
    Und warum soll die Auswahl kleiner werden, die Auswahl wird doch automatisch mit jedem weiteren Zeichen genauer, auch ohne dass sich die Auswahl verkleinert.
    Aber das Kombi liese sich auch Filtern.

    Und das Ereignis "NotInList" erlaubt Dir weitere Emails einzugeben. Und erst dazu wird etwas Code benötigt.
    Siehe hierzu:
    donkarls Access-Seiten
    Diese einfache Möglichkeit gibt es bei einem Listenfeld nicht.
    Ich sehe da nur Vorteile.
     
    gpswanderer, 22. November 2020
    #15
Thema:

E-Mail Eingabe

Die Seite wird geladen...
  1. E-Mail Eingabe - Similar Threads - Mail Eingabe

  2. Neue Mail funktioniert nicht

    in Microsoft Outlook Hilfe
    Neue Mail funktioniert nicht: Hallo! Ich habe zu einem bestehenden Konto (hotmail.com) eine weiteres (outlook.de) angelegt. Letzteres funktioniert auf meinem Handy (Android) und auch iPad, aber nicht unter Windows. Erhalte...
  3. Neues E-Mail bearbeiten

    in Microsoft Outlook Hilfe
    Neues E-Mail bearbeiten: Office 365 Outlook 2024 Neues E-Mail bearbeiten Neues E-Mail aufrufen, im Formular: Nach drücken von einfügen möchte ich die Symbolleiste für den Schnellzugriff erweitern, und zwar auf...
  4. Junk-E-Mail nach MaxMustermann filtern

    in Microsoft Outlook Hilfe
    Junk-E-Mail nach MaxMustermann filtern: Hallo liebe Forum Gemeinde, Ich möchte gerne Mails automatisch in den Junk-E-Mailordner verschieben die in der Adresszeile vom Absender MaxMustermann enthält. ZB....
  5. Neues Outlook: Mail-Eingänge in Posteingang Favoriten

    in Microsoft Outlook Hilfe
    Neues Outlook: Mail-Eingänge in Posteingang Favoriten: Wie kann ich die Maileingänge meiner verschiedenen Mailkonten - wie aus dem "alten" Outlook gewohnt - im Posteingang von "Favoriten" zusammenfassen? Vielen Dank für Hilfe und...
  6. Externe Mails mit bedingter Formatierung farbig hervorheben

    in Microsoft Outlook Hilfe
    Externe Mails mit bedingter Formatierung farbig hervorheben: Hallo zusammen! Ich möchte externe Mails (also Mails von Versendern, die nicht von der Domain @geanvas.com kommen) in meinem Posteingang farbig hervorheben. Dazu habe ich in der bedingten...
  7. emails per vba mit eigenem Ordner speichern

    in Microsoft Outlook Hilfe
    emails per vba mit eigenem Ordner speichern: Hallo Forumgemeinde! Bin neu hier und hoffe das ihr mir bei meinem Vorhaben behilflich sein könnt. Ich möchte mit beiliegend gefundenem VBA-Code (hoffe, dass ich diesen hier überhaupt hochladen...
  8. IMAP-Mails nicht im Posteingang von "Meine Outlook-Datendatei"...

    in Microsoft Outlook Hilfe
    IMAP-Mails nicht im Posteingang von "Meine Outlook-Datendatei"...: Ich habe gerade eben ein neues System (Windows 11 HP mit Office 365 und Outlook) aufgesetzt. Im Outlook habe ich 3 Mailkonten definiert, 2 x POP, 1 x IMAP (siehe Datei). Entgegen mehrerer früherer...
  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