Neuigkeiten:

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

Mobiles Hauptmenü

Werte des Formulars in WORD ausgeben

Begonnen von gromax, Oktober 26, 2014, 15:24:25

⏪ vorheriges - nächstes ⏩

gromax

Liebe Access-Profis,

wieder eine Frage auf dem Weg zum Ziel!
Nach wie vor generiere ich eine DB zur Schulverwaltung; hierbei gebe ich in einem Unterformular verschiedene Daten ein, die ich in ein WORD-Dokument auslesen möchte. Dies funktioniert soweit ganz gut! Aber:
In diesem UF habe ich ein Kombinationsfeld zur Auswahl der betreffenden Schule; in diesem Kombifeld wird dem Anwender zwar der Schulname angezeigt, gespeichert wird aber in der Datensatzquelle der hinterlegte Fremdschlüsselwert, also eine Zahl. Folgerichtig wird in meinem WORD-Dokument dann an der betreffenden Stelle eine Zahl ausgewiesen und nicht der eigentliche Schulname.
Was mache ich da falsch? Kann mir jemand helfen?
Vorab vielen Dank für Denkversuche und Vorschläge in alle Richtungen
gromax

DF6GL

Hallo,

je nachdem, wie die Werte an Word übergeben werden, kannst Du entweder auf die betreffende Kombilistenfeld-Spalte zugreifen oder Du liest den entspr. Wert  mit der Dlookup() -Funktion (Schul-ID als Kriterium für den Where-Condition-Parameter) aus der Tabelle "Schule" aus.

gromax

Hallo DF6GL,

vielen Dank für Deine Antwort; ich habe dem folgend eine Variable (DIM = varUMS as Variant) definiert
und folgend diese "gefüllt":

varUMS = DLookup("[UMS_Art_lang]", "tbl_UMSETZUNGEN", "UMS_PS = '" & Forms![frm_Schueler_ufoBearbeitung03]![UMS_FS] & "'")


ehe ich diese mit folgendem Code im WORD-Dokument (Textmarke) platziert habe:

.ActiveDocument.Bookmarks("B_Umsetzung").Range.Text = varUMS
.

Aber es funktioniert nicht?!
Wo steckt denn der Fehler?

Vielen Dank vorab!
gromax

MaggieMay

Hallo gromax,

was genau heißt denn "funktioniert nicht"? Gibt es Fehlermeldungen, so nenne bitte den Wortlaut.

Ist das Datenfeld UMS_PS vom Datentyp Text? Andernfalls lass die Hochkommata weg.

Ist "[frm_Schueler_ufoBearbeitung03]" ein Unterformular, dann ist der Zugriff auf das Schlüsselfeld falsch.
Wo befindet es sich, wie heißt das Hauptformular?

So sollte es klappen:Forms![i]Hauptformular[/i]!frm_Schueler_ufoBearbeitung03.Form!UMS_FS
Freundliche Grüße
MaggieMay

gromax

Hallo MaggieMay,

das ist schon klasse! es funktioniert wie eine EINS!
Wenn ich nur wüsste, wann eckige Klammer, wann einfaches/doppeltes Hochkomma, wann Wortbegleiter wie "Forms" oder "Form", wann 'Ausrufezeichen', wann 'Punkt', ... ?!

Vielen Dank an Dich, aber auch an DF6GL!
gromax

MaggieMay

#5
Zitatwann eckige Klammer, wann einfaches/doppeltes Hochkomma, wann Wortbegleiter wie "Forms" oder "Form", wann 'Ausrufezeichen', wann 'Punkt', ... ?!
Eckige Klammern sind erforderlich, wenn Leer- und Sonderzeichen in den Bezeichnern verwendet werden - einzige Ausnahme bei den Sonderzeichen ist der Unterstrich. Sie werden in vielen Fällen von Access automatisch gesetzt, was aber eben meist gar nicht nötig ist.
Gänsefüßchen werden verwendet um eine Zeichenkette festzulegen. Einfache Hochkommata können in vielen Fällen eingesetzt werden, um einen String innerhalb eines Strings anzugeben, die Alternative wäre die Verdoppelung der Gänsefüßchen, was den Code aber u.U. schlechter lesbar macht.
Die von dir so genannten "Wortbegleiter" stehen bspw. a) für eine spezifische Auflistung und b) für eine Eigenschaft. Über die Forms-Auflistung können die derzeit geöffeten Formulare, ihre Eigenschaften und Elemente angesprochen werden, Form dagegen ist eine Eigenschaft eines Unterformularsteuerelements, deren Verwendung sicherstellt, dass die nachfolgenden Bezeichner sich auf das Unterformular beziehen und nicht auf das Unterformular-Steuerelement.
Die Regeln für die Verwendung von Punkt und Ausrufezeichen sind die folgenden:
- mit einem Punkt bezieht man sich auf die Eigenschaften und Methoden des voranstehenden Objekts
- mit einem Ausrufezeichen bezieht man sich auf die Elemente einer Auflistung
Beispiel:
Die Kurzform Forms!formname!feldname ist gleichbedeutend mit Forms("formname").Controls("feldname")Hierbei ist "forrmname" ein Element der Forms-Auflistung und "feldname" ein Element der Controls-Auflistung, "Controls" dagegen ist eine Formulareigenschaft.

Hoffe das hilft dir weiter.
Freundliche Grüße
MaggieMay

gromax

Hallo MaggieMay,

vielen Dank für diese klare Zusammenstellung; ich druck sie aus und hefte Sie an mein Board!

Klasse! Vielen Dank!
gromax