Office: (Office 2003) Nur Listeneinträge NEIN geht nicht!

Helfe beim Thema Nur Listeneinträge NEIN geht nicht! in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Maike, Du kennst das Problem ein wenig näher. Wenn ich es hier falsch beschreibe, kannst Du ja vielleicht ein wenig eingreifen. Danke! Ich habe... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Christoph aus Berlin, 27. September 2009.

  1. Nur Listeneinträge NEIN geht nicht!


    Hallo Maike, Du kennst das Problem ein wenig näher. Wenn ich es hier falsch beschreibe, kannst Du ja vielleicht ein wenig eingreifen. Danke!

    Ich habe ein Formular für Termine, in dem nach der Auswahl eines Auftraggebers (Firma), automatisch vorhandene Mitarbeiter dieser Firma per Abfrage in einem Kombifeld zur Auswahl angeboten werden. Möchte ich nun jedoch einen neuen Mitarbeiter erfassen, sagt mir Access - Pusteblume, das geht nicht.

    Ich habe daraufhin versucht die Eigenschaft Nur Listeneinträge auf NEIN zu stellen. Ergebnis.

    Die erste sichtbare Spalte, die durch die Eigenschaft 'Spaltenbreite' festgelegt ist, ist nicht gleich der gebundenen Spalte.

    Passen Sie zunächst die Eigenschaft 'Spaltenbreite' an, und stellen sie dann die Eigenschaft Nur Listeneinträge ein.


    Wer kann mir helfen. Mein Ziel muss es auch sein, dass durch diese Erfassung die Daten auch in der Tabelle Kontaktdaten richtig gespeichert werden.

    :)
     
    Christoph aus Berlin, 27. September 2009
    #1
  2. Hi,

    die Meldung ist ausnahmsweise mal ein Volltreffer.

    Was du nach Verlassen des Kombis siehst, ist das, was in der ersten sichtbaren Spalte steht. Da du anscheinend mehrere Spalten hast, ist die erste sichtbare Spalte die erste, deren Spaltenbreite >0 ist. Und wenn diese Spalte nicht die gebundenen Spalte ist, gibst du du quasi Daten in ein Feld ein, das nicht originär im Kombi liegt.

    Beispiel:
    Kundennummer und Kundenname werden im Kombi angeboten, aber die Kundennummer hat Spaltenbreite 0. Wenn die gebundene Spalte die 1 ist, dann wird bei Eingabe eines vorhandenen Kundennamens dessen Nummer ausgewählt. Wenn aber ein unbekannter Kundenname erfasst wird, hat der keine Nummer. Damit steht er nicht zur Verfügung.

    Oft will man in diesem Fall den Kunden anlegen. Das geht auch mit Hilfe des NotInList-Ereignisses. Aber so direkt gehts erst mal nicht - Unbekannte stehen nicht zur Wahl. Isso.
     
    Atrus2711, 28. September 2009
    #2
  3. \@ Christoph

    Ich vermute mal als Herkunftstyp ist Tabelle/Abfrage eingestellt beim Kombifeld. Und einen neu angelegten Mitarbeiter versuchst Du wahrscheinlich über die AddItem Methode anzufügen.

    Wenn dem so ist, dann ist die Lösung einfach: Mitarbeiter anlegen und Kombifeld per Requery die Abfrage der Datensatzquelle neu ausführen lassen und dann wird auch der gerade neu angelegte Mitarbeiter angezeigt.

    Gruß

    Rainer
     
  4. Nur Listeneinträge NEIN geht nicht!

    Hallo Rainer,

    Problem wohl erkannt, aber so nicht praktiziert. Herkunftstyp ist richtig, doch verwende ich nicht die AddItem Methode. Ich muss um eine neue Kontaktperson eingeben zu können in ein anderes Formular wechseln. Da das Formular Termine aber das Hauptformular ist, in dem also auch die Möglichkeit bestehen soll eine neue Kontaktperson direkt in diesem Kombifeld zu erfassen, stoße ich ganz klar an meine Grenzen.

    Da bin ich überfragt. Kann es auch nicht besser beschreiben.
     
    Zuletzt von einem Moderator bearbeitet: 14. Januar 2021
    Christoph aus Berlin, 28. September 2009
    #4
  5. \@ Christoph

    Versuch nicht mit dem Kopf durch die Wand zu gehen. ^^

    Denk einfach: Gewünschter Name nicht im Kombifeld, also existiert nicht. Was tut man ... richtig man klickt auf den Button neben dem Kombifeld der die Aufschrift "Neuer Kontakt" trägt. Bekommt ein Formular angezeigt in dem man den neuen Kontakt anlegen kann und hat dann nach Klick auf Speichern den Kunden in der Auswahlliste des Kombifelds (das intern dann eben per Requery gezwungen wurde die Datensatzquelle neu zu laden).

    Oder sehe ich das jetzt irgendwas falsch?

    Gruß

    Rainer
     
  6. Okay, dann benötige ich dafür aber reichlich Hilfe, weil so tief bin ich im Geschehen noch nicht drin. Einen Button, der dass andere Formular aufruft ist kein Thema.

    Wie rufe ich aber dann gleich den richtigen Auftraggeber auf? SELECT ??????

    Wenn ich dann das Formular schließe (Erfassung neuer Kontakt), muss ein Requery ausgeführt werden. Gehört ja, gemacht vielleicht auch schon mal, aber akut wissen nein!

    Ich merke immer wieder, VBA - Access muss man regelmäßig betrieben, sonst fliegt man irgendwann raus!
     
    Christoph aus Berlin, 28. September 2009
    #6
  7. Hi,

    du könntest auf das NotInLIst-Ereignis reagieren, das gibt freundlicherweise die unbekannten Daten gleich mit. Damit kannst du dein Erfassungsformular vorbelegen.

    Oder du liest den Wert des Kombis aus, lagerst den in einer Variablen und liest den im Erfassungsformular aus. Auch die Übergabe per eigenem Property wäre möglich.

    Für das Aktualisieren des Kombis beim Zurückspringen empfiehlt sich ein eventgesteuerter Ansatz, sowie hier:
    Demo-Datenbank - Benutzerdefinierte Events in Formularen (Beispiel Personensuche) - MS-Office-Forum
     
    Atrus2711, 28. September 2009
    #7
  8. Nur Listeneinträge NEIN geht nicht!

    Moin Christoph,
    Versuch mal, ob du mit dem in donkarl FAQ 4.13 Kombifeld, Eintrag hinzufügen beschriebenen Verfahren weiterkommst.
    Kontakte ist abhängig (n:1) von Auftraggeber, muss also einen Fremdschlüssel in der Tabelle haben, versuch mal, ob das so funktioniert.

    Ansonsten bestünde die Möglichkeit, die von Rainer vorgeschlagene Erfassung über ein zweites Formular zu machen (auch hier an den Fremdschlüssel denken).
    Dieses zweite Formular, am besten wohl Hauptform Auftraggeber mit Unterform Kontakte, kann ebenfalls bei Eingabe eines nicht vorhandenen Kontaktes im Kombi (Bei nicht in Liste) aufgerufen werden.
    Der Code ist nur Prinzipdarstellung - also noch anpassen:
    Code:
    Und dann beim Schließen des zweiten Formulars das Kombi im ersten aktualisieren:
    Code:
    maike
     
  9. Mit dem automatischen Anlegen macht man sich aber auch nicht immer Freude.

    Wenn ich einen Kunden "Scmitt" (sic!) eingebe, dann ist das vermutlich kein neuer Kunde, sondern einfach ein Tippfehler. Der wird zu recht nicht gefunden. Und er sollte auch nicht automatisch angelegt werden.
     
    Atrus2711, 28. September 2009
    #9
  10. \@Martin
    Das ist auch eine der wenigen Stellen, wo ich immer die Variante mit der vorgeschalteten Messagebox nehme (die ich sonst wegen erwiesener Nervigkeit eher selten einsetze). Was dann noch durchsickert - Shit happens *wink.gif* .
    maike
     
  11. Ich lasse bei sowas Neuanlagen erst zu, wenn die Suche erfolglos war. Und das kann ein Kombi nicht feststellen. Daher: Suchformulare mit Suchzwang, und erst danach Freischalten des Neuanlage-Buttons.

    Bilder anbei vor der Suche und danach.

    Kombis setze ich nur bei kleinen und v.a konstanten Auswahlen ein, etwa bei der Kundenart (da gibts bei mir 4 Sorten). Kunden jedoch gibt es Tausende...

    Edit: Nicht vorhandene Kunden bearbeiten zu können, ist aber auch nicht so sinnvoll, wie ich gerade merke *Smilie Ist halt Beta.
     
    Atrus2711, 28. September 2009
    #11
  12. Ich nehme an das Auftraggeber per eindeutige ID identifiziert wird. Du kannst diese z.B. beim Aufruf der Form für die Neuanlage als OpenArg mit übergeben und dann die ID einfach bei der Anlage des DS in das entsprechende Feld eintragen.

    Ist relativ einfach. Die Neuanlage ist eine Aktion die ausgeführt werden muss, bevor der User weiter machen kann. Also wäre das naheliegendste die Form als Dialog aufzurufen. Dadurch kannst Du dann in der aufrufenden Sub aus der Form mit dem Kombifeld gleich im Anschluss nach dem Öffnen der Form für die Neuanlage das requery setzen, da die aufrufende Sub solange 'stehen bleibt' bis die Form wieder geschlossen wurde.

    Die Syntax:

    Me.MeinKombifeldName.Requery

    Das war's, ist an sich total easy. *wink.gif*

    EDIT: zum Thema doppelte DS

    Wenn der User ins Kombifeld guckt und den gesuchten Eintrag nicht findet und sich deswegen entscheidet rechts daneben auf den Button Neu-Anlage zu klicken ... naja, dass ist ja quasi schon eine Vorselektion, bzw. ist ähnlich vom Faktor her wie die MsgBox mit "Willst Du wirklich?".

    Gruß

    Rainer
     
  13. Nur Listeneinträge NEIN geht nicht!

    Will der User auf 50 Kunden "Schmitt" in der Kombi wirklich den richtigen raussuchen?! Gerade bei "Massennamen" wie Müller, Meier, Schmitt ist die Suche nur nach dem Namen ziemlich witzlos. Selbst bei kleinen Datenbeständen wachsen die zuerst an.

    Zudem dürfte ja auch der Ort interessieren, wenns nicht gerade nur der örtliche Karnickelzuchtverein ist. Und selbst der kann auswärtige Mitglieder haben.
     
    Atrus2711, 29. September 2009
    #13
  14. \@Martin:
    Sieht gut aus, das behalt ich mal im Hinterkopf *wink.gif*

    @Christoph: Vielleicht kannst du uns ja mal über den Daumen gepeilt sagen, ob es sich hier eher um 3 bis 5 Ansprechpartner beim jeweiligen Auftraggeber oder doch um eine größere Anzahl von Personen handelt, die sich ständig vermehren.

    maike
     
  15. Und dann beim Schließen des zweiten Formulars das Kombi im ersten aktualisieren:
    Code:
    maike


    Hallo Maike,

    ich habe einen Test mit Variante 2 (nicht donkarl.com) gestartet und war relativ erfolgreich. *freu* Den Code konnte ich anpassen. Mit dem DoCmd - Befehl habe ich auch schon mal gearbeitet. Da hat es dann ein wenig geschimmert in meinem Gehirn.

    Gleiche NotInList muss ich ja auch noch für Auftraggeber einrichten. Nun meine Frage. Wenn ich das Formular aufrufe, kann ich doch den Focus entsprechend gleich entweder ins Hauptformular auf Auftraggeber (AG Bezeichnung) und / oder im Unterformular auf KontaktName setzen! Oder?

    Werde mich daran jetzt versuchen, wäre nur klasse, wenn mich jemand aufhalten würde, sollte ich ins Leere rennen.
     
    Zuletzt von einem Moderator bearbeitet: 14. Januar 2021
    Christoph aus Berlin, 29. September 2009
    #15
Thema:

Nur Listeneinträge NEIN geht nicht!

Die Seite wird geladen...
  1. Nur Listeneinträge NEIN geht nicht! - Similar Threads - Listeneinträge

  2. Datenüberprüfung auf passenden Listeneintrag einschränken

    in Microsoft Excel Hilfe
    Datenüberprüfung auf passenden Listeneintrag einschränken: Hallo :) Ich habe in Excel zwei Tabellen, die voneinander abhängig sind. Als Beispiel s. Screenshot, stark vereinfacht. In Tabelle 1 steht (als Beispiel) eine Person und eines ihrer Haustiere. In...
  3. Kombinationsfelder und Listeneinträge

    in Microsoft Access Hilfe
    Kombinationsfelder und Listeneinträge: Hallo in die Runde, ich fange gerade an, Access zu erforschen und möchte eine Art digitalen Aktenschrank erstellen. Folgenden Workflow möchte ich erreichen: 1. im Kombinationsfeld wird ein...
  4. Access - Listeneintrag per VBA einem Feldnamen zuweisen

    in Microsoft Access Hilfe
    Access - Listeneintrag per VBA einem Feldnamen zuweisen: Hallo, ich möchte die Einträge eines Listenfelds mit einem bestimmten Feldnamen innerhalb einer VBA-Routine verbinden, stosse da aber programmiertechnisch an meine Grenzen... Hintergrund: Für den...
  5. VBA Makro - Zeilen je nach Listeneintrag ausblenden

    in Microsoft Excel Hilfe
    VBA Makro - Zeilen je nach Listeneintrag ausblenden: Hi, ich habe eine kurze Frage, da ich ein totaler Anfänger mit Makros bin. Für die Arbeit habe ich eine Excel Sheet mit Dropdown Auswahllisten erstellt. Je nach Auswahl sollen andere Zeilen...
  6. Kategorisieren von Listeneinträgen

    in Microsoft Excel Hilfe
    Kategorisieren von Listeneinträgen: Hallo zusammen, ich habe nun ein Weilchen gesucht... und natürlich nix gefunden. Also: Ich möchte gerne meine Kontobewegungen kategorisieren. Es liegt eine Excelmappe vor mit einem Worksheet,...
  7. 2. Dropdown mit automatischer Anzeige des 1. Listeneintrages

    in Microsoft Excel Hilfe
    2. Dropdown mit automatischer Anzeige des 1. Listeneintrages: Hallo zusammen, zuerst einmal: "Man bin ich froh, dass ich dieses Forum gefunden habe. Hat mir wirklich schon extrem weiter geholfen". Doch nun ganz fix zu meiner Frage: Kann man einstellen...
  8. Listeneinträge in Funktionen

    in Microsoft Excel Hilfe
    Listeneinträge in Funktionen: Guten Tag. Ich benutze die 2003er Version von Excel. Ich habe folgendes Problem und bilde mir ein, das dies so wie ich es mir denke mit Excel lösbar ist. Ich habe eine Liste erzeugt mit...
  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