Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Kombinationsfeld zeigt Nummern anstatt Text

Begonnen von Gisi2, September 17, 2024, 13:10:20

⏪ vorheriges - nächstes ⏩

Gisi2

Hallo zusammen

Ich hab in einem Formular ein Kombinationsfeld, welches die Daten von einer Tabelle holt. Die Daten fülle ich mit folgendem Code:


Me.cboVerantwortlich.RowSource = "SELECT DISTINCT Verantwortlich FROM DATA;"

Das Problem - in der Tabelle DATA hol ich die Daten für das Feld Verantwortlich von der Tabelle Zuständigkeit (Nachschlagen).

Jetzt zeigt es mir im Kombinationsfeld natürlich die ID (die steht ja an 1. Stelle) anstatt den dazugehörigen Text. Kann mir jemand helfen, den Code so anzupassen, dass ich das 2. Feld sehe?

Und gibt es bei diesem Code die Möglichkeit zu hinterlegen, dass keine leeren Felder angezeigt werden sollen?

Merci für die Hilfe!

MzKlMu

Hallo,
das geht über die Spaltenbreiten.
Die 1. Spalte auf 0cm einstellen.
Deine Abfragge muss dann auch als 1.Spalte die ID haben.

Einzelne leere Felder können nicht ausgeblenet werden, nur ganze Datensätze.

PS:
Verzichte unbedingt auf Nachschlagefelder in Tabellen. Die sind nur in Formularen (Kombinationsfelder) sinnvoll.
Gruß Klaus

Gisi2

Hallo

OK, dann versuch ich einfach das Ganze ohne das Nachschlagefeld zu lösen. Wie würdest du das denn machen? Ich möchte Dinge verhindern, wie Schreibfehler - einer schreibt dann Kommandant, der andere Komandant, etc. So hab ich dann unnötige Einträge. aber den Bezug zur anderen Liste, kann ich das verhindern.

Gruss

Gisi

PhilS

Zitat von: Gisi2 am September 17, 2024, 13:53:18OK, dann versuch ich einfach das Ganze ohne das Nachschlagefeld zu lösen.
Du solltest nur auf die Nachschlagefelder direkt in Tabellen verzichten. In einem Formular mit einer Combobox (Kombinationsfeld) kannst du genau dasselbe machen und somit auch deine durchaus sinnvolle Absicht umsetzen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MzKlMu

Hallo,
ZitatOK, dann versuch ich einfach das Ganze ohne das Nachschlagefeld zu lösen.

Wo habe ich geschrieben, dass Du diese nicht anwenden sollst ?

Bitte immer genau lesen:
Zitat von: KlausDie sind nur in Formularen (Kombinationsfelder) sinnvoll.

Über die Spaltenbreiten kannst du dann einstellen welche Spalten zu sehen sind.

Gruß Klaus

Gisi2

Ok, super - danke fürs (nochmals) erklären. Dann mache ich das Feld in der Tabelle zum Textfeld und mache ein Formular, über das man neue Datensätze eingeben kann und da nehme ich ein Nachschlagefeld.

Beaker s.a.

ZitatDann mache ich das Feld in der Tabelle zum Textfeld
NEIN.
Das muss ein Zahlenfeld sein, denn da kommt die ID des nachzuschlagenden
DS hinein (= der Fremdschlüssel).
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: Beaker s.a. am September 17, 2024, 17:26:05
ZitatDann mache ich das Feld in der Tabelle zum Textfeld
NEIN.
Das muss ein Zahlenfeld sein, denn da kommt die ID des nachzuschlagenden
Bevor hier neue Missverständnisse entstehen:
Der Datentyp des Feldes ("Feldgrösse"?) sollte ein Zahlen-Datentyp sein.
Das "Anzeigesteuerelement" unter "Nachschlagen" soll eine Textbox sein.

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MzKlMu

@ekkehard
Wenn man ein Nachschlagefeld wieder entfernen will, muss man Textfeld wählen. Das ist völlig unabhängig vom Datentyp bzw. Feldgröße.

Wenn man im Formularentwurf ein neues Feld einfügt, wird das auch als Textfeld bezeichnet, unabhängig davon ob da Zahlen oder Text gespeichert wird.
Gruß Klaus

Beaker s.a.

Hallo,

Ist mir schon klar.
Habe ich wohl noch den anderen Thread im Kopf gehabt, wo im OP
der Begriff "KurzerText" die Rede war.

Dann wird der TS hier das jetzt schon richtig machen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)