Hallo!
Ich habe kürzlich ein Kombifeld gemacht in dem ich einen Wert anklicken kann und dann nimmt es im nächsten Textfeld den dazugehörigen Wert automatisch rein.
Die klappt soweit ganz gut!
Sehe ich aber in der Tabelle nach welche Wert es mir abgespeichert hat, sehe ich, dass es zweimal den Wert des Textfelder abgespeichert hat.
Ich denke es liegt an meiner VB eingabe:
Private Sub Mischung_AfterUpdate()
Me!Textfeld= Kombifeld.Column(1)
End Sub
Beim Kombifeld steht bei mir im Steuerelementinhalt das richtige Feld. Ich habe das gefühl dass es wegen der Programmierzeile mir das umkehrt! Könnt ihr mir da weiterhelfen?
Gruss boozer299
Hallo auch
Unklar ist:
- Woher bezieht dein Kombifeld seine Werte?
- Ist dein Kombifeld ein gebundenes oder ein ungebundenes?
- Welche Felder gibt es in deiner Tabelle?
- Welche Felder gibt es in deinem Formular?
Also mal geraten:
Du hast eine Tabelle (Tabelle1) mit 2 Spalten aus der dein Kombifeld seine Werte bezieht.
und
du hast eine weitere Tabelle (Tabelle2) die die Datenbasis für dein Formular ist
in der mindestens 2 Felder (Feld1 und Feld2) sind
wobei es so sein soll, dass
Feld1 den Wert der ersten Spalte des Kombifeldes speichern soll
und
Feld2 den Wert der zweiten Spalte des Kombifeldes .
Möglichkeit 1:
das Kombifeld im Formular ist ungebunden
dann speichert
Private Sub Kombifeld_AfterUpdate()
Me!Feld1= Me!Kombifeld.Column(0)
Me!Feld2= Me!Kombifeld.Column(1)
End Sub
den Wert der ersten Spalte des Kombifeldes (.Column(0)) in Feld1
und
den Wert der zweiten Spalte des Kombifeldes (.Column(1)) in Feld2
Möglichkeit 2:
das Kombifeld im Formular ist
(entweder an Feld1 oder an Feld2)
gebunden
dann speichert das Kombifeld den Wert der gebundenen Spalte (Gebundene Spalte)
in das Tabellenfeld an das es gebunden ist (Steuerelementinhalt)
wobei es so ist dass bei der Kombinationsfeldeigenschaft „Gebundene Spalte“
nicht ab 0 gezählt wird wie bei der VBA .Column() Anweisung sondern ab 1.
ist die Gebundene Spalte 1 und der Steuerelementinhalt Feld1
wird in Feld1 der Wert der ersten Spalte des Kombifeldes gespeichert.
und die sinnvolle AfterUpdate Funktion wäre
Me!Feld2= Me!Kombifeld.Column(1)
ist die Gebundene Spalte 2 und der Steuerelementinhalt Feld1
wird in Feld1 der Wert der zweiten Spalte des Kombifeldes gespeichert
und die sinnvolle AfterUpdate Funktion wäre
Me!Feld2= Me!Kombifeld.Column(0)
und so weiter
Möglichkeit 3:
Feld1 oder Feld2 sind bereits in der Tabelle2 Nachschlagefelder
dann
frag nochmal wenns so ist.
Gut zu wissen ist noch:
dass in den Kombifeldeigenschaften die
„Spaltenanzahl“ eingestellt werden kann und „Spaltenbreiten“
bestimmen kann was im Feld angezeigt wird.
Gebundene Spalte: 1
Spaltenanzahl: 2
Spaltenbreiten: 0cm;8cm
würde z.B. den Inhalt der zweiten Spalte im Kombifeld anzeigen
aber den der ersten Spalte in die Tabelle speichern
(wenn es ein gebundenes Kombifeld ist).
Besonders gut zu wissen ist noch:
dass die F1 Taste zu der Stelle an der sich der Cursor befindet die passende Hilfeseite anzeigt.
Alles klar?
Wenn nicht musst du halt nochmal fragen
Viel Erfolg
Stefan
Hallo!
Du hast es richtig gesehen mit:
Du hast eine Tabelle (Tabelle1) mit 2 Spalten aus der dein
Kombifeld seine Werte bezieht.
und
du hast eine weitere Tabelle (Tabelle2) die die Datenbasis für
dein Formular ist
in der mindestens 2 Felder (Feld1 und Feld2) sind
Jedoch habe ich kein Kombifeld mit zwei Spalten sondern ein Kombifeld mit einer Spalte in der die Werte von Tabelle1 --> Spalte 1 sind.
Wenn ich nun auf einen solchen Wert im Kombifeld klicke erscheint mir dieser Wert im Kombifeld und automatisch wird im Texfeld nebenan der dazugehörige Wert (Tabelle1 --> Spalte2) angezeigt.
Nun aber speichert es mit zweimal den Wert der Spalte2 in die Tabelle2.
Beim Kombifeld habe ich bei Steuerelementinhalt Spalte1 der Tabelle2 angegeben und beim Textfeld habe ich Spalte2 der Tabelle2 angegeben. Wieso speichert es mir also zweimal den Wert vom Textfeld?
Danke für deine vorherige Erklärung, sie war nicht ganz umsonst, ich kann diese bestimmt auch weiterverwenden.
Gruss boozer299
Werden wir es schaffen?
Ja wir schaffen das!
Du hast es richtig gesehen mit:
Du hast eine Tabelle (Tabelle1) mit 2 Spalten aus der dein
Kombifeld seine Werte bezieht.
wenn das hier richtig ist (ist es das wirklich?)
und
du hast eine weitere Tabelle (Tabelle2) die die Datenbasis für
dein Formular ist
in der mindestens 2 Felder (Feld1 und Feld2) sind
und wenn das auch richtig ist
Jedoch habe ich kein Kombifeld mit zwei Spalten sondern ein
Kombifeld mit einer Spalte in der die Werte von Tabelle1
–> Spalte 1 sind.
Dann ist hier der Fehler (dazu gleich)
Wenn ich nun auf einen solchen Wert im Kombifeld klicke
erscheint mir dieser Wert im Kombifeld und automatisch wird im
Texfeld nebenan der dazugehörige Wert (Tabelle1 -->
Spalte2) angezeigt.
Nun aber speichert es mit zweimal den Wert der Spalte2 in die
Tabelle2.
Rätsel:
Was ist der Unterschied zwischen .Column(0) und .Column(1)
Beim Kombifeld habe ich bei Steuerelementinhalt Spalte1 der
Tabelle2 angegeben und beim Textfeld habe ich Spalte2 der
Tabelle2 angegeben. Wieso speichert es mir also zweimal den
Wert vom Textfeld?Danke für deine vorherige Erklärung, sie war nicht ganz
umsonst, ich kann diese bestimmt auch weiterverwenden.
Wenn du die Erklärung im Sinne von ;-Ich erarbeite mir jetzt mal meine Lösung selbst -; gelesen hättest könntest du jetzt schon fertig sein.
Ich verweise in diesem Zusammenhang auf den Teil im dem es um „Gebundene Spalte“ geht und auf die Funktion der F1 Taste
Tschuldigung aber das musste grad mal raus
Bei der Eigenschaft „Herkunftstyp“ deines Kombifeldes sollte Tabelle/Abfrage stehen
bei „Datensatzherkunft“ der Name deiner Tabelle1 (aus der Liste)
bei „Spaltenanzahl“ 2
bei „Gebundene Spalte“ 1
bei „Spaltenbreiten“ 10cm;0cm (10cm ist beliebig und soll irgendwas grösser als 0cm sein)
Wie schauts aus?
Gruss boozer299
Gruss auch
Viel Erfolg
Stefan
Na, ich merke schon…
dein Schreibtisch hat auch schon Beißspuren…
*grins*
Reinhard
dein Schreibtisch hat auch schon Beißspuren…
*grins*
Reinhard
*grins auch*
Ja hat er
*noch mehr grins und schallend lach*
Doch:
ich kann es nicht zulassen dass all die vielen Semester Sonderpädagogik die ich nie studiert habe völlig sinnlos gewesen sein sollen.
Ausserdem:
Edel sei der Mensch, hilfreich und gut
sagt mir mein Bildschirmschoner wenn er mal was sagen darf
Und:
Es ist ein gutes Training.
Und:
Ja wir schaffen das
Herzliche Grüsse
Stefan
Danke Stefan, es hat geklappt!
Gruss boozer299
Glückwunsch
Danke Stefan, es hat geklappt!
Bitte gern geschehen
Stefan