Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Wert aus VBA in ein Textfeld schreiben

Begonnen von Michael Wulf, Dezember 06, 2016, 13:36:25

⏪ vorheriges - nächstes ⏩

Michael Wulf

Hallo zusammen,

ich möchte gerne einen per VBA ermittelten Wert in einem endlos Formular einem Textfeld zuweisen.

Dass ermitteln klappt einwandfrei. Ich lasse den Code dem Unterformular beim laden ausführen. Nur leider wird dieser nur für den ersten Wert der Tabelle ausgeführt und den übrigen Datensätzen der Wert hinzugefügt. lege ich den Code auf "beim Klicken" im Detailbereich wird dieser dann ausgeführt. Aber wieder bei allen Datensätzen angezeigt.

Der Code lautet:

Sub KBO()
Dim da1 As String
Dim da2 As String
Dim da3 As String
Dim key As Integer

key = Forms!Uebersicht_SST!frm_Uebersicht_Schnittstellen!SST_ID

sql = "select * from testDatenarten where SST_ID = " & key
Set rs = CurrentDb.OpenRecordset(sql)
da3 = ""
  Do While Not rs.EOF
    da1 = rs("Datenart_Beschreibung") & ", "
    da2 = da1 & da3
    da3 = da2
rs.MoveNext
Loop
rs.Close

Forms![Uebersicht_SST]![frm_Uebersicht_Schnittstellen].Form![Text16] = da3
End Sub


Hintergrund ist, dass meine Datenbank aus bestimmten Gründen die Werte einer Abfrage in einem String ausweisen soll. Freue mich schon auf eure Ratschläge.

Danke Michael

Beaker s.a.

Hallo Michael,
Dein Problem habe ich nicht verstanden, aber zu deinem Code fällt mir Folgendes auf.
Der Ergebnisstring (da3) wird entgegengesetzt der DS-Sortierung zusammengesetzt; - kann sinnvolle Ansicht sein.
Die Variable "da3" wird allerdings gar nicht benötigt.
Do While Not rs.EOF
    da1 = rs("Datenart_Beschreibung") & ", "
    da2 = da1 & da2
'Reihenfolge entgegen DS-Sortierung
'    da2 = da2 & da1
'Reihenfolge = DS-Sortierung
rs.MoveNext
Loop


gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,

Zitatermittelten Wert in einem endlos Formular einem Textfeld zuweisen.

Das ist generell nicht möglich.  Das Textfeld,es wird nur mehrfach dargestellt.  Ist es gebunden, erscheinen die Tabellenfeld-Werte, ist es ungebunden, erscheint der zugewiesene Wert mehrfach (so oft, wie DS vorhanden sind).

Wenn Du genauer beschreiben würdest, wozu das Ganze dienen soll, könnte ein konkreter Vorschlag erfolgen.

Zitatdass meine Datenbank aus bestimmten Gründen die Werte einer Abfrage in einem String ausweisen soll

??
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