Wie kann ich Fremdschlüssel-Kombinationsfelder benutzerfreundlich auf einem Access-Formular machen?

StackOverflow https://stackoverflow.com/questions/153035

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe zwei Tabellen:

Employees:
uid (number) | first_name (string) | last_name (string) | ...

Projects:
uid | project_title (string) | point_of_contact_id (FK: Employees.uid) | ...

Ich mag ein Formular für Projekte mit einem „Point of Contact“ Kombinationsfeld (Dropdown) Feld erstellen. Die Anzeigewerte sollte „Vorname Nachname“, sondern die Trägerdaten die UID. Wie kann ich die Form auf eine Sache an den Benutzer zu zeigen, und eine andere Sache, auf die Tabelle speichern?

würde ich in Ordnung sein mit nur in der Lage sein ein Feld zu zeigen (nur „first_name“ zum Beispiel), da ich eine Ansicht mit einem full_name Feld erstellen kann.

Später:

Wenn es einen Weg gibt, diese am Tisch Design-Ebene zu tun, würde ich es vorziehen, da dann würde ich nur eine Einstellung pro UID Spalte müssen (und es gibt viele Tabellen), eher als eine Einstellung pro UID-Feld (und es gibt viele Formen, die jeweils mit mehreren UID-Felder).

War es hilfreich?

Lösung

auf Loesje Antwort zu erweitern, verwenden Sie die gebundene Spalte Eigenschaft zusammen mit Spaltenanzahl und Spaltenbreite, wenn Sie mehrere Felder angezeigt wird, so dass Sie Zugang zu berichten, die sollte man in die Datenbank geschrieben werden. (Es gibt auch andere Möglichkeiten, dies mit VBA zu tun, aber dies sollte für Ihren speziellen Fall funktionieren.)

In Ihrem Fall Einstellung Row Quelle select uid, first_name, last_name from tablename bedeutet, dass Ihr Bound Spalte 1 sein sollte, für die erste Spalte in der Zeile Quelle (uid). Dies ist der Standardwert, so würde man es nur ändern müssen, wenn Sie einen Wert aus einem anderen Feld speichern wollen. (Zum Beispiel, wenn Sie last_name aus der Reihe Quelle oben retten wollen, dann würden Sie Gebundene Spalte auf 3 gesetzt.)

Vergessen Sie nicht, dass, wenn Sie die Breite der anderen Spalten setzen Sie die Anzeige, die Width-Eigenschaft des Kombinationsfelds größer sein sollte als oder gleich der Summe der Spaltenbreiten, sonst können Sie nicht alle Spalten sehen.

Es gibt keine Möglichkeit, auf Tabellenebene, um anzuzeigen, dass ein Formular basierend auf der Tabelle bestimmte Spalten ziehen muss, oder dass eine bestimmte Spalte der Fremdschlüssel ist, aber Sie können ein Kombinationsfeld auf andere Formen kopieren und alle seine Eigenschaften mit sich tragen. Sie können auch die Zeile Quelle Abfrage kopieren und in andere Kombinationsfelder einfügen, wenn das Ihnen hilft.

Andere Tipps

die rowsource des Dropdownbox auf „wählen uid, first_name, Nachnamen von Tabellennamen‘ und setzen Sie den column auf 0 diese Weise wird die Breite der ersten Spalte auf Null gesetzt, so dass der Benutzer sieht es nicht. ( Sie können die Breite der anderen Spalten, um sie mit einem Semikolon trennen, das heißt: 0cm; 4cm; 4 cm)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top