PDA

Vollständige Version anzeigen : Spalten in Kombifeld verbinden


charlybrother
19.10.2001, 16:26
Ich habe auf der Formularmaske drei Kombifelder die jewals die Daten aus einer Tabele/Abfrage beziehen und zwar je mit drei Spalten; z.B. Name, PLZ, Ort.

Auf dem Formular gibt es drei Buttons die die Daten an bestimmte World Vorlagen senden und zwar Optional.
zB. Inhalte der Kombifelder 1+2 an Vorlage 1 oder Kombifelder 2+3 an Vorlage 2 usw.

Mit die Lösung die ich ersellt habe, kann nur Inhalt einer Spalte senden und das funktioniert. Ich brauche aber ganze Adresse. Mit der Excel Formel ist das kein Problem (es kann man Spalteninhalte verbinden) aber unter Access funktioniert es nicht.

Soweit ich den ".Column(0)" operator angebe kommt zur Fehlermeldung , nach auskommentieren leuft es wieder.

Vieleicht kann man es mit verstecken Feldern die veknüpftmit "Mutter-Feld" sind.

Für jede brauchbare Hilfe danke ich voraus

Charly

Private Sub Btn_Option_1_Click()

Dim üwert As String
Dim wwobj As Object

Set wwobj = CreateObject("Word.Application")
wwobj.Visible = True
wwobj.WindowState = wdWindowStateMaximize
wwobj.Documents.Add Template:="C:\Test\Test.dot"
wwobj.Selection.GoTo What:=wdGoToBookmark, Name:="Textmarke1"
üwert = Me!Kombinationsfeld46
wwobj.Selection.TypeText text:=üwert '.Column(0) // wegen Fehler auskommentiert
....

elmar
19.10.2001, 17:08
üwert = Me!Kombinationsfeld46 ist ja auch nur die halbe Miete!
Welche Fehlermeldung kommt??
Versuch es doch mal so:

üwert = Me!Kombinationsfeld46.Column(0)

Gruß
Elmar

charlybrother
19.10.2001, 17:22
Fehler beim kompilieren
Ungültiger Bezeichner

elmar
19.10.2001, 17:26
Welcher Feldinhalt steht in der Spalte des Kombinationsfeldes?? Bitte genauen Feldnamen angeben!
Gruß
Elmar

charlybrother
19.10.2001, 17:35
Datensatzherkunft=Tab/Abfrage
Gebundene Spalte=2
Spaltenzahl=3
Zeilenformat=Text
Steuerung=ungebunden

Aufgabe Spalteninhalte an Word senden.

Mein script s.o. funktioniert blos mit nur eine Spalte, Z.B Strasse ich brauche Str. PLZ, Ort

Da ich drei Kombifeld. habe muss ich die Spalten eines Combo verbinden und an Word senden können

elmar
19.10.2001, 17:44
Ich wiederhole meine Frage:
W e l c h e r Feldinhalt steht in der Spalte des Kombinationsfeldes?? Bitte genauen Feldnamen angeben!
---
Vermutlich hast Du eine Tabelle, mit der Du eine Adresse speichern willst. Um den Namen eines Kunden zu erfassen, bedienst Du dich eines Tabellenfeldes mit dem Feldnamen "Name"?????????

charlybrother
19.10.2001, 18:24
Hallo Elmar,

die Daten kommen aus einer Abfrage und die Abfrage holt sich die Daten aus einer Tabelle. Tabelle beinhalltet alle mögliche Eingaben: Adr. Tel. Email usw., davon brauche ich nur Name, Str. Plz. Ort

Mein Ziel ist die Str.+PLZ+Ort an Word zu senden. bis jetzt kann ich nur eine Zeile absenden die unter Eingenschaften/Verbundene Spalte aufgeklistet ist z.B. 1 (= 2.Spalte)

Wenn es nicht klappt versuche ich mit versteckten Textfeldern. Aber es muc doch einfacher gehen.

Danke Dir für Deine mühe, vieleicht schafen wir es. Ich habe hier gesehen dass es ziemlich oft auftretendes Problem ist.

Gruß

elmar
19.10.2001, 18:53
Meine Frage (siehe oben) ist immer noch nicht konkret beantwortet!!

Wie heißt der Feldname????

Die Fehlermeldung: Fehler beim kompilieren, Ungültiger Bezeichner kommt nicht von ungefähr!
Du schreibst:...die Daten kommen aus einer Abfrage und die Abfrage holt sich die Daten aus einer Tabelle.

Ist mir klar!!

Bitte: wie heißt die Tabelle und wie die darin enthaltenen Felder?????????????

Du schreibst:
Mein Ziel ist die Str.+PLZ+Ort an Word zu senden. bis jetzt kann ich nur eine Zeile absenden die unter Eingenschaften/Verbundene Spalte aufgeklistet ist z.B. 1 (= 2.Spalte)


Man kann auch alle 3 an Word senden!!
Dazu muss aber erst mal die Tabelle, die Feldnamen und der von Dir geschilderte Fehler analysiert werden!!

Also: Bitte Feldnamen und Tabellennamen mitteilen, sonst kann ich nicht weiterhelfen.

Gruß
Elmar

charlybrother
19.10.2001, 19:24
Hey Elmar,

Tabelle heißt "Kunden" hat 15 Spalten:
Name, Vorname, Str, PLZ, Ort, Tel, Email usw
Um eine Kundenliste zu erstellen habe ich eine Abfrage erstellt die folgende Daten von Tabelle "Kunden" übernimmt: Name, Str, PLZ Ort. Die Abfrage heißt Qry_Kunden

Dann Habe ich noch eine Tabelle "Produkte" mit 8 Spalten. Daraus habe ich eine weitere Abfrage erstellt die nur drei Spalten hat. ProNr, ProdBez, Preis. Dritte Kombi ist Zahlungsweise. Jetzt möchte ich ein Angebot schreiben. Ich habe ein Formular erstellt mit Kombi_Kunden und Kombi_Produkte und damit kann ich auswählen, Prod A an Kunde B und dazu Zahlungsoptionen. Die komplette Daten kommen ins Word an bestimmten Textmarken. Wie gesagt es funktioniert nur bis aus einzelne Spalte.
Hilf Dir das weiter.

mit Gruß
Charly

elmar
19.10.2001, 19:38
Da haben wir nun endlich die Ursache für den Fehler:

Bitte benenne das Feld "Name" in der Tabelle "Kunden" in "Nachname" um!!

"Name" ist eine Eigenschaft von Access und gibt den Namen des Objektes in VBA zurück. Daher auch Deine Fehlermeldung!!
Leider gibt es immer noch Beispieldatenbanken, die "Name" als Feldnamen in einer Tabelle verwenden. Obwohl "Name" seit Access Version 2.0 (!!) eine Eigenschaft darstellt.
----------------------------
Bitte auch nicht vergessen, die Abfrage "Qry_Kunden" zu berichtigen, denn dort wird nach dem Ändern des Tabellenentwurfes stehen: Ausdruck1:[Name].
Bitte dort das zutreffende Feld "Nachname" auswählen.
Danach sollte Dein Code in:
Private Sub Btn_Option_1_Click()
funktionieren.

Gruß
Elmar

Das gleiche Problem kann auftreten, wenn man Feldnamen in Tabellen mit "Typ" oder "Klasse" benennt! Das sind in VBA vorkommende Schlüsselwörter und die machen Probleme, denen man aber nicht so einfach auf die Spur kommt.
--
PS: schau mal in Deine mailbox.

charlybrother
20.10.2001, 11:36
Hallo Elmar,
ich bin wieder da, ich habe mich bereits erfreut, dass Du mich an richtige Pfad gabracht hast uund ich wollte schon Dankebriefe schreiben. Leider dieser verfluchte Fehler kommt wieder, obwohl ich alle Punkte die Du geschrieben hast abbearbeitet habe. Ich weiss nicht ob ich nicht lestig bin aber ich bin mit Access nur gelegentlich beschäftigt und dieses Problem (Kombo) macht mich zu schaffen. Hast Du Lust noch mal versuchen, Zur Not kann ich Quellcode liefern.

mfg Charly

elmar
20.10.2001, 17:16
Hallo Charly,

üwert = Me!Krankenkasse.Column(0) ' der variable üwert den inhalt des kombos, spalte 0 zuweisen

So ist es richtig, denn Du hattest versucht, einer als String (Zeichenkette!) deklarierten Variable eine Spalte (Column) zuzuweisen, was natürlich nicht geht. Daher die Fehlermeldungen, schon beim Kompilieren.