PDA

Vollständige Version anzeigen : Mehrere Steuerelementinhalte zu einer Feldbeschriftung


dickmann_hh
24.03.2006, 11:40
Hallo,

weiß jemand wie ich mehrere Steuerelementinhalte zu einer Beschriftung machen kann? z.B.: bei einer Buchführung gibt es ein Konto "Sonderausgabe", dazu ist der Betrag einzugeben und eine Bemerkung. Bisjetzt kenne ich nur die Möglichkeit 1 zu 1, also sprich Sonderausgabe und Betrag, oder Sonderausgabe und Bemerkung. Kann man beide zusammenfassen?

zweite Frage: wie kann man Inhalt eines Feldes eines Datensatzes als Parameter in einem anderen Datensatz übernehmen / verwenden? z.B.: den "Saldo" dieses Monats in das Konto "Übertrag" des nächsten Monats zu übernehmen.

Lia
24.03.2006, 12:13
zu 1:
Die Beschriftung kannst du beliebig ändern oder löschen. Kannst also auch statt

Sonderausgabe: feld
Bemerkung: feld

auch

Sonderausgabe und Bemerkung: feld feld

machen. Fragt sich nur, ob das sinnvoll ist. Die Beschriftungen sind ja dafür da, dem Benutzer zu sagen, welche Eingaben er in diesem Feld vornehmen kann/soll.

zu 2:
kommt ganz drauf an, wie das Formular aufgebaut ist. Ob das Feld Übertrag im Formular enthalten ist.

dickmann_hh
24.03.2006, 13:41
hallo,

eben nicht so wie du es schreibst. Ich wollte zu der Beschriftung "Sonderausgabe" zwei Felder haben, nämlich Betrag (ein kleines Feld für ein paar Ziffer) und Bemerkung (ein größeres für z.B.Sätze). Aber beide Felder gehören zum Posten "Sonderausgabe". vestehst du was ich haben will?

und zu 2: beide Elemente (Saldo und Übertrag) sind in jedem Datensatz enthalten. sie werden nur immer weiter gereicht, so nach diesem Muster: Übertrag(n) = Saldo (n-1) wobei n = der n-te Datensatz ist

Anne Berg
24.03.2006, 13:59
Hast du ein Problem mit der Handhabung von gebundenen Beschriftungsfeldern, die automatisch beim Anlegen von Textfeldern erzeugt werden, oder was ist der Hintergrund?

dickmann_hh
24.03.2006, 14:04
ja so könnte man vielleicht sagen. weil so weit ich weiß, gibt es nur ein Feld, wo man was eingeben kann, wenn ein Textfeld angelegt wird. Ich will aber zwei felder haben, also sowas wie:

Sonderausgabe 1 (das ist die Beschriftung) | 200 Euro | Grafikkarte
Sonderausgabe 2 | 25 Euro | Süssigkeiten

Lia
24.03.2006, 14:06
Erstmal: ist es ein gebundenes Formular?
Edit: Anscheindend ja.

1: Ich verstehe es immer noch nicht. Wie wär's mit einem Beispiel? Ein Bild sagt mehr als 1000 Worte.
Edit: Dann hat sich das wohl auch erledigt.

Hast du dafür ein Feld in der Tabelle oder willst du den Inhalt eines Tabellenfelds teilen? Du kannst dafür ein ungebundenes Textfeld erstellen auch ohne Beschriftung, d. h., du kannst diese löschen. Musst schon sagen, was du damit vorhast.

2: Es gibt viele Möglichkeiten sowas zu machen. Lassen sich die Datensätze identifizieren? Die Informationen sind schon ziemlich vage.

racoon0506
24.03.2006, 14:11
die automatisch beim Anlegen von Textfeldern erzeugten Beschriftungsfelder kannst du auch löschen und durch beliebig viele neue Bezeichnungsfelder ersetzen. Beim Verschieben auf dem Form sind sie dann nur nicht mehr mit dem Eingabefeld verbunden...
Auf diese Weise kann man durchaus ein Bezeichnungsfeld vor mehreren Eingabefeldern oder auch mehrere Bezeichnungsfelder (was irgendwo unlogisch ist!) vor einem oder mehreren Eingabefeldern platzieren.

dickmann_hh
24.03.2006, 14:20
und kann man die "originalen" und die "neuen" Eingabefelder "gruppiert" werden, wie man das so von anderen Office-Anwendungen kennt, so dass sie auch zusammengehören?

dickmann_hh
24.03.2006, 14:46
:confused: au weia, manno.....:smashing: in der Tabelle habe ich ein Feld namens Sonderausgabe. Nun, ich kann jan icht alle Fälle in dieser Welt voraussagen, also nenne ich das Feld deshalb Sonderausgabe. Damit ich in zukunft weiß, was das für Sonderausgabe war, will ich zu diesem Feld / Eintrag ein zweites Eingabefeld haben, in das ich, neben dem Feld fürs ausgegebene Geldbetrag (z.B. 250), eine Bemerkung reinschreiben kann (z.B. "Ich habe PS2 gekauft"). Dummerweise, zumindest weiß ich von keiner anderen Möglichkeit, kann man in der Tabelle ja nur ein Eintrag zu Posten Sonderausgabe machen. Oder meinst du "Teilen" wie im Excel : | Sonderausgabe |
----------------------
| Betrag | Bemerkung |
----------------------
| 250 | PS2-Kauf |

? :stupid:

Leseratte
24.03.2006, 14:53
Hallo dickmann_hh,

nimm 2 ungebundene Textfelder, und verkette diese. Die Verkettung gibst Du an ein 3 gebundenes Textfeld weiter. So würde dann, in deiner Tabelle in dem Feld Sonderausgaben stehen 250 | PS2-Kauf

dickmann_hh
24.03.2006, 14:59
das klingt doch vielversprechend. UND WIE MACHE ICH DAS???

Leseratte
24.03.2006, 15:08
sol es so sein wie der Anhang?

dickmann_hh
24.03.2006, 15:50
JA, JA JA !!!!! wie mache ich das??

Leseratte
24.03.2006, 16:10
also, erstelle 2 neue ungebundene Textfelder, lösche bei einem das Bezeichnungsfeld und ordne die Felder so an, wie sie halt stehen sollen. das dritte Textfeld, soll ja den Wert in einer Tabelle ablegen, also muß dort der Steuerelementeninhalt der Bezug auf die Spalter der Tabelle sein, aber das weißt Du sicher, das Bezeichnungsfeld davon kasste löschen, brauchste ja nicht

geh jetzt in das Textfeld2, in die Eigenschaften-> nach Aktualisierung->Ereignissprozedur, und gib dort den folgenden Code ein

Private Sub TextFeld2_Exit(Cancel As Integer)
Me!TextFeld3.SetFocus
Me!TextFeld3.Text = [TextFeld1] & " " & "|" & " " & [TextFeld2]
End Sub


markiere nun das Textfeld3, Eigenschaften, und gib nun bei Höhe und Breite jeweils 0cm ein. Hintergrund dessen, ausblenden kannste es nicht, weil es den Focus bekommen muß, damit es aber unsichtbar ist, sollte die Größe dafür herhalten.
Und nun speichert er in einem Feld, den Inhalt der Textfelder1 und 2 getrennt durch einen Trennstrich, hoffe das hilft dir nun weiter.
Achso, damit die Felder auch zusammen auf dem Formular verschoben werden können, beide Felder markieren, Menüleiste ->Format ->Gruppierung

dickmann_hh
24.03.2006, 16:49
was ist "Me!", wo muss ich den Code eingeben (Formular / Tabelle, wahrscheinlich Formular oder? kenne mich noch nicht so aus mit VBA :(

danke

Leseratte
24.03.2006, 18:23
Me sagt eigentlich nur, das der Code, im aktuellen Formular ausgeführt wird. Man könnte auch schreiben Forms!meinFormular!Textfeld1.Text = "Hallo"
Wenn Du alles so machst wie beschrieben, schreibt er den Code schon an die richtige Stelle.

dickmann_hh
25.03.2006, 13:58
Danke, ich habe es noch nicht ganz geschafft, denke aber ich bin in der richtigen Richtung. Weißt du auch wie ich mich auf den Inhalt eines Feldes des vorherigen Datensatzes beziehen kann? Ich möchte den als Inhalt eines Eingabefeldes im nächsten Datensatz übernehmen. Wenn du meinen Text um 14:41 lesen magst, dann weiss du was ich meine (Saldo vorigen Monats in den Übertrag dieses Monats übernehmen)

dickmann_hh
26.03.2006, 20:23
Danke, ich habe es noch nicht ganz geschafft, denke aber ich bin in der richtigen Richtung. Weißt du auch wie ich mich auf den Inhalt eines Feldes des vorherigen Datensatzes beziehen kann? Ich möchte den als Inhalt eines Eingabefeldes im nächsten Datensatz übernehmen. Wenn du meinen Text am 24.3 um 14:41 lesen magst, dann weiss du was ich meine (Saldo vorigen Monats in den Übertrag dieses Monats übernehmen)