Neuigkeiten:

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

Mobiles Hauptmenü

Textfelder mittels SQL füllen

Begonnen von AllenWalker, August 10, 2013, 12:26:01

⏪ vorheriges - nächstes ⏩

AllenWalker

Hallo,

Wie kann ich erreichen, dass Textfelder mit Inhalt gefüllt werden?
Die Textfelder befinden sich auf einem neuen Formular, welches durch eine VBA Prozedur geöffnet wird.
Der Inhalt für die jeweiligen Textfelder ist das Ergebnis einer SQL Abfrage und anschließendem Recordset.

Danke sehr,
Gruß,
Allen Walker

DF6GL

Hallo,

warum so kompliziert und dabei Neuerfinden von Funktionalitäten, die Access schon von Haus aus mitbringt...

Binde das Form an die Abfrage/Tabelle  (SQL-String oder Abfrage/Tabellenname in der Form-Eigenschaft "Datenherkunft".

Die Steuerelemente bekommen sodann in deren Steuerelementinhalt dasjenige Tabellenfeld zugewiesen, dessen Inhalt angezeigt werden 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

AllenWalker

Es handelt sich nicht um eine alleinstehende Abfrage.

Hier nochmal mein Problem:
Das Ausgangsformular übergibt dem VBA Code einen Parameter aus dem eine SQL-Abfrage generiert wird.
Mit dieser Abfrage werden Werte aus einer Tabelle heraus gelesen. Mittels VBA Code wird ein neues Formular
geöffnet und auf dem Formular befinden sich die Felder die mit den Ergebnissen der Abfrage gefüllt werden
sollen.

database

Hallo,

prinzipiell funktioniert's so, dass du mit Hilfe deines SQL-Statements ein Recordset erzeugst.
Den Inhalt des Recordsets weist du dann den Formularfeldern zu.

Ich gehe davon aus, dass dein SQL-Statement nur einen Datensatz finden wird.



DF6GL

Hallo,

"Es handelt sich nicht um eine alleinstehende Abfrage."

es ist völlig egal, um was für eine Abfrage es sich handelt..


Dein Problem habe ich schon verstanden...   8)  und ändert nichts an meinem vorhergehenden Tipp.



Weise per VBA-Code den Form-Steuerelementen die Werte der Felder aus dem "anschließendem Recordset" zu...


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

AllenWalker

Zitat
Weise per VBA-Code den Form-Steuerelementen die Werte der Felder aus dem "anschließendem Recordset" zu...

Das ist mir schon klar aber weiß halt nicht wie ;)

DF6GL

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

database

Bzw. wenn dein Code ein anderes Formular aufruft und dort Felder befüllen soll...


Forms!DeinFormular!txtFeld1 = rs!FeldXY

MzKlMu

Hallo,
ich halte die ganze Recorsetgeschichte für überflüssig.
Die Abfrage ja auch nur Felder der zu Grunde liegenden Tabelle hat, kann man die Formularfelder alle an die entsprechenden Tabellenfelder (bzw. dann Abfragefelder) binden.

Die Datenquelle des Formulars lässt man leer.

Im Ereignis "Beim Laden" weist man dem Formular dann den SQL Code zu.

Private Sub Form_Load()
   Me.RecordSource = "Select ....."
End Sub


Mehr ist nicht zu tun.
Gruß Klaus

database

Hallo,

und wie immer gibt es natürlich auch verschiedene Möglichkeiten beim Verwenden einer Abfrage als Datenherkunft des Formulars.

Wenn es sich dabei um eine gespeicherte Abfrage handeln sollte - ist ja auch möglich, dass diese mehrfach verwendet werden soll,

kann diese Abfrage VOR dem Aufruf des Formulars an der Stelle geändert werden, an der du die SQL zusammenstellst:


Dim strSQL As String
...
..
.
strSQL = "SELECT ..."
CurrentDb.QueryDefs("NameDeineAbfrage").SQL = strSQL

Die Abfrage ist als Datenherkunft des aufzurufenden Formulars fix eingetragen.