Neuigkeiten:

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

Mobiles Hauptmenü

Inhalt eines Textfeldes einer Tabelle entnehmen

Begonnen von Arndt, Mai 08, 2016, 19:12:29

⏪ vorheriges - nächstes ⏩

Arndt

Ist es möglich, den Inhalt eines Textfeldes in einem Formular einer Tabelle zu entnehmen? Die Tabelle enthält ein Feld "Inhalt" und aus diesem Feld soll immer nur die Zelle angezeigt werden, die dem Primärschlüssel mit ID=5 zugeordnet ist, also in der gleichen Zeile steht.

Geht sowas?

Hintergrund ist, dass die Inhalte von Textfeldern später in verschiedenen Formularen verändert werden sollen und ich das nicht mehr händisch machen möchte, wenn das Textfeld in 20 Formularen auftaucht.


MzKlMu

Hallo,
ich verstehe die Frage nicht.
Einerseits sprichst Du von einem Feld und dann wieder von einer Zelle (Zellen gibt es bei Access nicht).

Vermutlich musst Du hier nur eine weitere Tabelle anlegen und eine Beziehung erstellen.

Bitte mal die Frage präzisieren.
Gruß Klaus

Arndt

Zitat von: MzKlMu am Mai 08, 2016, 19:17:51
Hallo,
ich verstehe die Frage nicht.
Einerseits sprichst Du von einem Feld und dann wieder von einer Zelle (Zellen gibt es bei Access nicht).

Vermutlich musst Du hier nur eine weitere Tabelle anlegen und eine Beziehung erstellen.

Bitte mal die Frage präzisieren.

Okay. Also ich habe eine Tabelle mit zwei Feldern, "ID" und "Inhalt".

In einem Formular soll ein Textfeld entstehen, dass immer genau den Wert von "Inhalt" anzeigt, dessen "ID" 5 ist.

Also das Textfeld soll nicht scrollen dürfen durch alle Werte von "Inhalt", sondern nur den Inhalt anzeigen, bei dem die ID=5 beträgt.

MzKlMu

Hallo,
in der anderen Tabelle muss es doch aber ein Feld geben, das diese 5 gespeichert hat, oder nicht ?
Ich glaube, Du versuchst hier Accesstabellen mit Excellook zu erstellen, was aber unweigerlich schief geht.
Gruß Klaus

Arndt

Zitat von: MzKlMu am Mai 08, 2016, 19:33:20
Hallo,
in der anderen Tabelle muss es doch aber ein Feld geben, das diese 5 gespeichert hat, oder nicht ?
Ich glaube, Du versuchst hier Accesstabellen mit Excellook zu erstellen, was aber unweigerlich schief geht.

Nein, ich habe mich falsch ausgedrückt.

Also: Ich erstelle für verschiedene Aufgaben z.B. 20 Mal das selbe Formular. Zuerst wird das Formular erstellt, dann 20 Mal kopiert. Das wird hier so benötigt.

In dem Formular befinden sich Textfelder, deren Inhalt in allen 20 Versionen gleich sein, ABER mit der zeit verändert werden sollen. Daher suche ich nach einer Möglichkeit, den Inhalt des Textfeldes außerhalb des Formulars abzulegen. Egal wie. Damit ich im Bedarfsfall dann nur den Text einmal verändern muss und nicht 20 mal.

Jetzt dachte ich, man kann einfach eine Tabelle anlegen, die den Test "Inhalt" des Textfeldes enthält.

Ist es möglich, in einem Textfeld einen Einzelwert aus einer Tabelle wieder zu geben?

MzKlMu

Hallo,
das Formular hat doch eine Tabelle als Datenherkunft und in dieser Tabelle muss es doch einen Bezug geben zur Tabelle mit  "ID" und "Inhalt".
Anders macht es ja keinen Sinn.

ZitatZuerst wird das Formular erstellt, dann 20 Mal kopiert.
braucht man alles nicht. 20x das gleiche Formular, wozu soll das gut sein ?
Ein Formular das man entsprechend sortiert/filtert etc.
Wodurch unterscheiden sich die Formulare ?

Ich bin sicher, Du programmierst (bzw. machst) hier Sachen die sich bei richtiger datenbankgerechter Vorgehensweise viel effizienter und einfacher lösen ließen.

Man kann nicht einfach so mal eine Datenbank machen.
Gruß Klaus

Arndt

#6
Weiß ich. Ich habe ja auch bis 2017 Zeit.

Doch, es werden so viele Versionen gebraucht. Ich kann beispielsweise nicht mit Unterformularen arbeiten.

Was ich gerade sehe ist: Ja, das Formular basiert auf einer Tabelle, aber es enthält Textfelder, die auf einer anderen, sehr kleinen Tabelle basieren sollen. Diese soll die Texte der Textfelder in einem Feld enthalten.

Beide, die große und die kleine Tabelle sollen nicht mit einander verknüpft sein. Im Formular wird ja jeweils immer nur ein Wert gebraucht, kein Datensatz.

MzKlMu

#7
Hallo,
tut mir leid, ich verstehe es nicht.
ZitatIch kann beispielsweise nicht mit Unterformularen arbeiten.
habe ich was geschrieben von Unterformularen ?
Leider hast Du nicht beschrieben, wie sich die Formulare unterscheiden, es kann ja nur an den Daten liegen, wenn diese einfach kopiert werden können.
Kannst Du mal ein Bild des Beziehungsfensters hier posten ?

PS:
Und unterlasse doch bitte diese vollständigen Zitate. Nicht wundern, ich habe es gelöscht.
Gruß Klaus

Arndt

Ich habe ein Bild gemacht.

Es gibt keine Tabellen zu verknüpfen. Ich brauche in dem Textfeld lediglich einen Einzelwert, der nicht in dem Textfeld selbst abgelegt ist, sondern irgendwo anders.

MzKlMu

Hallo,
sorry, aber das Vorhaben ist so unbrauchbar. Hier liegt eindeutig eine 1:n Beziehung vor. In das Feld muss einfach die 5 eingetragen werden (vielleicht gibt es ja ein solches Feld schon) und dann über das Zahlenfeld eine Beziehung in einer Abfrage mit beiden Tabellen anlegen. Dann ist Dein Vorhaben vollkommen automatisch realisiert.
Gruß Klaus

Arndt

Habe ich echt Verständnisschwierigkeiten.

Gibt es eine Möglichkeit, aus einem Feld einen Einzelwert auszulesen im Sinne von [tabelle]![feld]:[ID=5] oder sowas?

Oder mal anders herum gefragt, wie werden denn Konstanten oder veränderliche Skalare abgelegt, die jemand zu Berechnungen benötigt? Muss man die in jedem Formular hart rein kopieren oder kann man die irgend wo ablegen und von dort aus beziehen?

Zum Beispiel wenn man an verschiedenen Stellen was mit 0.3 gewichten möchte, aber schon weiß, dass sich die Gewichtung in Zukunft immer mal ändern wird. Kann man diesen Faktor nicht aus einer 1*1-Tabelle beziehen und dann eben nur dort ändern, wenn es sein muss?

DF6GL

#11
Hallo,


wo gibt es Verständnisschwierigkeiten?

Solche "Quasi"-Konstanten werden üblicherweise in einer Parameter-Tabelle hinterlegt und mit z. B. der Dlookup()-Funktion ausgelesen. (In diesem prinzipiellen Beispiel ohne Rücksicht auf evtl. Gültigkeitszeiträume)


tblParameter:

PName (Text, PK)         PWert (Text)

Gewichtung                  0,3


               

Bei einer Anzeige in einem Formular-Textfeld  in dessen Steuerelementinhalt:

=Dlookup("PWert";"tblParameter";"PName = 'Gewichtung')


oder bezogen auf die anfängliche Konstellation:


=Dlookup("Hinweisfelder";"hinweisfelder";"ID=5")


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo,
wenn dann der so bezogen Wert verwendet wird, ändern sich auch die alten Werte mit dem neuen Wert, ist das dann so gewollt ?
Gruß Klaus

DF6GL

Hi,

ZitatHintergrund ist, dass die Inhalte von Textfeldern später in verschiedenen Formularen verändert werden sollen und ich das nicht mehr händisch machen möchte, wenn das Textfeld in 20 Formularen auftaucht.


daraus könnte man das ableiten...

wobei die Frage nach einem sinnvollen Konzept trotzdem im Raume steht....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Arndt

Zitat von: DF6GL am Mai 08, 2016, 22:04:23
Hallo,


wo gibt es Verständnisschwierigkeiten?


wow, danke. Es hat geklappt!  Super Truppe hier.

Und sag mal, wieso wird "Dlookup" automatisch in "domwert" umgerubelt?