Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Gudegro am April 16, 2013, 16:45:01

Titel: Listenfeld mit zwei gebundenen Spalten und zwei Steuerelementen. Geht das???
Beitrag von: Gudegro am April 16, 2013, 16:45:01
Hallo ersteinmal zusammen aus dem sonnigen Augsburg.

Mein Problem ist heute folgendes:
Ich bearbeite ein Formular, in dem meine Kollegen Daten in eine Zieltabelle eingeben.
Um bei bestimmten Feldern immer ein gleiches Eingabeformat zu haben, verwende ich gerne Listen- oder Kombinationsfelder mit einer Datenherkunft aus eigenen Tabellen, deren Feldinhalte dann über gebundene Felder in die Zielliste übertragen werden.

... und jetzt kommt's:
Bei manchen Eingaben sind zwei Zielfelder voneinander abhängig und ich möchte, dass durch einen einzelnen Klick in das Listenfeld beide Zielfelder überschrieben werden. Ich finde aber keine Möglichkeit in den Eigenschaften des Listenfeldes zwei verschiedene gebundene Spalten und zwei verschiedene, dazu gehörende Steuerelementinhalte zu hinterlegen.

Also nochmals mit einem praktischen Beispiel:
In der Datenherkunfts-Tabelle steht in der einen Spalte die Postleitzahl, in der anderen der dazu gehörende Ort.
Im Listenfeld habe ich diese Tabelle als Datensatzherkunft gespeichert. Gebundene Spalte 1, Steuerelementinhalt ist in der Zieltabelle die Spalte "Postleitzahl".
Ich möchte jetzt durch den gleichen Klick ins Listenfeld in der Zieltabelle über die gebundene Spalte 2 das Steuerelement "Ort" in der Zieltabelle überschreiben.

Keine Chance, alleine ohne Euch schaffe ich das nicht. In Google habe ich schon alle möglichen Suchworte eingegeben aber bin zu keinem vernünftigen Ergebnis gelangt.

Vielen Dank schon 'mal im Voraus für Eure Ideen

Ich wünsche noch einen angenehmen Abend.

Mit freundlichen Grüßen
Gudegro
Titel: Re: Listenfeld mit zwei gebundenen Spalten und zwei Steuerelementen. Geht das???
Beitrag von: MzKlMu am April 16, 2013, 17:28:59
Hallo,
das ist der falsche Weg, weil der Ort redundant ist.
Du solltest in der Tabelle mit der PLZ und dem Ort noch einen Primärschlüssel führen.
Ausgewählt wird dann mit dem Kombi der Primärschlüssel der PLZOrt Tabelle und auch in der Zieltabelle gespeichert, weder die PLZ noch der Ort gehören in die Zieltabelle, sondern nur der Primärschlüssel als Fremdschlüssel. PLZ und Ort holt man sich über eine Abfrage mit beiden Tabellen in das Formular zur Anzeige.
Wobei das Listenfeld (warum Listenfeld und Kein Kombifeld?) die Spalte mit dem PS ausblenden sollte.
Titel: Re: Listenfeld mit zwei gebundenen Spalten und zwei Steuerelementen. Geht das???
Beitrag von: Gudegro am April 18, 2013, 08:30:42
Hallo MzKlMu,

also, Du hast vollkommen Recht:
Im Prinzip gehören diese Daten nicht in eine Primärtabelle.

Mein Problem ist aber, dass die Tabelle kein Selbstzweck ist, sondern nur ein Zwischenschritt. Die Tabelle wird, so wie sie ist, in eine externe Software kopiert und dort weiterverwendet.
Natürlich kann man jetzt die Daten zunächst "zwischenlagern" und die Tabelle dann über eine Tabellenerstellungsabfrage herstellen. Das hätte aber den Nachteil, dass die beteiligten Kollegen (Teilzeitkräfte ohne jegliches Accesswissen) doch einigermaßen tief in Access einsteigen müsssten. Außerdem handelt es sich bei den Daten nicht um Postleitzahl und Ort (wie von mir als Beispiel angegeben), sondern um Daten, die ziemlich genau gelesen und kontrolliert werden müssen. Deshalb hätte ich halt gerne die Daten im Formular sichbar gemacht.

Trotzdem: vielen Dank für den Hinweis, vielleich hast Du ja noch einen weiterenn Tipp.

Schöne Grüße
Gudegro
Titel: Re: Listenfeld mit zwei gebundenen Spalten und zwei Steuerelementen. Geht das???
Beitrag von: MzKlMu am April 18, 2013, 09:22:24
Hallo,
ZitatDie Tabelle wird, so wie sie ist, in eine externe Software kopiert und dort weiterverwendet.
Und wie wird das Kopieren gemacht?
Mit Control+C oder über exportieren.
Für beide Fälle benötigst Du keine Tabelle, das kann eine Abfrage genau so gut.
ZitatDeshalb hätte ich halt gerne die Daten im Formular sichtbar gemacht.
Die Anzeige geht problemlos im Formular, auch wenn das Feld nicht in der Primärtabelle ist.
Hatte ich bereits oben geschrieben.
Gerade im Hinblick auf die Kontrolle ist es deutlich besser meinem Vorschlag zu folgen.
Ich halte das Vorhaben auch nach Deiner Beschreibung so wie geplant für den falschen Weg.
ZitatAußerdem handelt es sich bei den Daten nicht um Postleitzahl und Ort (wie von mir als Beispiel angegeben),
Es ist für mich immer wieder unverständlich, wieso man Beispiele macht (und beschreibt!!) die mit der Realität wenig zu tun haben.
Beschreibe das mal näher an der Relität und ich mache Dir ein Beispiel.
Titel: Re: Listenfeld mit zwei gebundenen Spalten und zwei Steuerelementen. Geht das???
Beitrag von: Gudegro am April 23, 2013, 17:40:25
Hallo zusammen,
hallo MzKlMu,

zunächst einmal (Zitat):

Es ist für mich immer wieder unverständlich, wieso man Beispiele macht (und beschreibt!!) die mit der Realität wenig zu tun haben.
Beschreibe das mal näher an der Realität und ich mache Dir ein Beispiel.

... ganz einfach, weil niemand (wahrscheinlich auch Du nicht), nachvollziehen kann, wo der Unterschied bei diesem Problem zwischen
PLZ und Ort einerseits und
unleserlichen Zeichen 1 und unleserlichen Zeichen 2 andrerseits
liegen soll.
Wenn Du das eine Problem nicht lösen kannst, kannst Du auch das andere nicht lösen.

Aber Spass beiseite, ich habe das Problem jetzt "zu Fuss" gelöst (Zusammenfassung der Zellen bereits in der Erst-Tabelle und dann später wieder getrennt). Nicht optimal, aber eine schönere Lösung scheint ja nicht zu existieren.

Vielen Dank an alle, die sich Gedanken gemacht haben.

Schöne Grüße
Gudegro
Titel: Re: Listenfeld mit zwei gebundenen Spalten und zwei Steuerelementen. Geht das???
Beitrag von: Stapi am April 23, 2013, 17:58:32
Hallo Gudegro

Über deb VBA Befehl "Column()" kann man einzelne Spalten eines Listfedes oder Kombifeld auslesen und dann einem Feld zuweisen
Titel: Re: Listenfeld mit zwei gebundenen Spalten und zwei Steuerelementen. Geht das???
Beitrag von: Gudegro am April 24, 2013, 10:44:06
Hallo Stapi,

super, ich glaube, das war genau die Idee, die ich gebraucht habe.

Aufgrund extremen Zeitdruckes mache ich meine Arbeit jetzt aber erst einmal "zu Fuss" fertig. Sobald die Arbeit läuft, versuche ich dann, ob man sie nicht über "Column()" optimieren kann. Bitte entschuldige deshalb, dass ich eine Erfolgsmeldung nicht sofort senden kann.

Trotzdem nochmals vielen Dank.

Grüße aus dem heute richtig sonnigen Augsburg
Gudegro