Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: silentwolf am Dezember 15, 2011, 08:44:19

Titel: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 08:44:19
Hallo...
ich kann leider nicht das richtige finden darum würde ich bitten das mir jemand die Lösung sagen könnte.
Habe ein word template erstellt und die werte des access formulares werden dort übergeben mit textmarken.
Funktioniert auch so weit ausser das ich nicht hinbekomme das die auswahl der combobox mir den text anzeigt und nicht die Id.

HOffe es ist verständlich und bitte um Hilfe

Danke

A
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: MzKlMu am Dezember 15, 2011, 09:01:46
Hallo,
das was entscheidend ist, zeigst Du nicht.

Wie erfolgt der Zugriff auf den Inhalt des Kombis?
Wie lautet dessen Datenherkunft?
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 09:08:54
Hallo..danke für Deine Nachricht.
Also ich habe das Kombi mit dem Assistenten erstellt es ist eine Nachschlag Tabelle.
Also nur zwei Felder Id ...Autowert und Anrede als text.

Hoffe das ist was Du meinst?

Danke
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: DF6GL am Dezember 15, 2011, 09:15:02
Hallo,

stell die Kombieigenschaften so ein:

Spaltenanzahl: 2
Spaltenbreiten: 0cm;4cm
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: MzKlMu am Dezember 15, 2011, 09:17:58
Hallo,
mit obigen Einstellungen wird doch auch die gebundene Splate übergeben.
Daher wäre es noch wichtig zu wissen, wie der Wert des Kombis übergeben wird. Daher ja die Frage:
ZitatWie erfolgt der Zugriff auf den Inhalt des Kombis?
Die aber nicht beantwortet wurde.
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 09:24:35
Hallo Franz,

hab ich auch schon so aber es geht trotzdem nicht :(

Titel: Re: Textmarke mit combobox füllen?
Beitrag von: DF6GL am Dezember 15, 2011, 09:30:23
Hallo,

poste mal den SQL-String (mit copy&paste) , der in der Datensatzherkunft des Kombis steht...
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 09:42:07
SELECT [Anrede].[An_ID], [Anrede].[AnAnrede] FROM [Anrede];

Titel: Re: Textmarke mit combobox füllen?
Beitrag von: MzKlMu am Dezember 15, 2011, 09:58:58
Hallo,
und was ist mit meiner 2. Frage?
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 10:02:40
Hallo..
Ich würde Dir ja sehr gerne Antworten aber ich bin mir leider nicht sicher wo ich diese Info herbekomme  :-\ tut  mir leid..
da kenn ich mich nocht nicht so gut aus..

Titel: Re: Textmarke mit combobox füllen?
Beitrag von: MzKlMu am Dezember 15, 2011, 10:09:15
Hallo,
Varinte 1:
erstelle ein normales Textfeld (später unsichtbar machen). Dort kommst als Steuerelementinhalt rein:
=NameDesKombis.Column(1)Es wird Spalte 2 (die Zählung beginnt mit 0) des Kombis angezeigt.
Dieses Feld verwendest als Textmarke.

Varainte 2:
Erstelle eine Abfrage für das Formular und nimm die Anrede Tabelle mit auf, mit der Beziehung. Verwende diese Abfrage für das Formular, dann hast Du das Feld mit dem Anredetext direkt zur Verfügung.

Variante 2 würde ich bevorzugen.
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: DF6GL am Dezember 15, 2011, 10:13:39
Hallo,

Zitatdas die auswahl der combobox mir den text anzeigt und nicht die Id.
und

Zitat
SELECT [Anrede].[An_ID], [Anrede].[AnAnrede] FROM [Anrede];

dann stell die Kombieigenschaften so ein, wie ich es gepostet habe.
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 10:17:11
Hallo Franz,
ja hab ich ja schon so gehabt Eigenschaften so wie Du es geschrieben hast.
Trotzdem immer noch die ID.

Ich habe auch das Textfeld erstellt und ja es zeigt mir den Wert an. Was muss ich dann jetzt weiter machen mit dem textfeld??
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: DF6GL am Dezember 15, 2011, 11:04:03
Hallo Albert,

mir (und vielleicht auch Klaus)  wird es immer unklarer, was Du überhaupt machst...


Titel: Re: Textmarke mit combobox füllen?
Beitrag von: MzKlMu am Dezember 15, 2011, 11:05:19
Hallo,
das Textfeld verwendest Du statt dem Kombi als Textmarke.

Auch mit meiner Variante 2 wird das Textfeld als Textmarke verwendet.
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 11:22:57
Na ja da seit Ihr nicht alleine :)

Hier ist der Code



Private Sub cmdODoc_Click()

Dim appword As Word.Application
Dim doc As Word.Document
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim strTemplatePath As String
Dim strTemplateName As String
Dim strTemplateNameAndPath As String

Dim strRecipientName As String
Dim strRecipientAddress As String
Dim strRecipientTown As String
Dim strRecipientZip As String
Dim strSalution As String
Dim strBillNumber As String

Dim strTitle As String
Dim strPrompt As String

Dim lngBillNumber As Long
Dim lngSalution As Long
Dim lngContactID As Long

Dim fso As New Scripting.FileSystemObject
Dim fil As Scripting.File

    lngContactID = Nz(Me![KD_ID])
    If lngContactID = 0 Then
        strPrompt = "Kein Kontakt selektiert"
        strTitle = "Problem"
        MsgBox strPrompt, vbOKOnly + vbExclamation, strTitle


    Else

        strRecipientName = Nz(Me![KD_Firma])
        strRecipientAddress = Nz(Me![KD_StrasseNr])
        strRecipientTown = Nz(Me![KD_Ort])
        strRecipientZip = Nz(Me![KD_PLZ])

        lngBillNumber = Nz(Me![KD_PLZ])
        lngSalution = Nz(Me![KD_An_Id])


    End If

    Set appword = CreateObject("Word.Application")

    ' Get the default user Template path from the Word Options dialog (it is still available in code, _
      though it has disappearend from the Word 2007 interface)

    strTemplatePath = CurrentProject.Path

    strTemplateName = "RVorlage.dotx"

    strTemplateNameAndPath = strTemplatePath & "\" & strTemplateName

    If Dir(strTemplateNameAndPath) = "" Then

        MsgBox "Can't locate template file, " & strTemplateName & ",  in folder " & strTemplatePath, vbCritical, "Template Not Found"
        appword.Quit

        GoTo ErrorHandlerExit

    End If

    Set doc = appword.Documents.Add(strTemplateNameAndPath)

    'Write information to Word bookmarks in the document:

    With doc
        .Bookmarks("Adresse").Range.Text = strRecipientAddress
        .Bookmarks("Anrede").Range.Text = lngSalution
        .Bookmarks("KDNummer").Range.Text = lngContactID
        .Bookmarks("Name").Range.Text = strRecipientName
        .Bookmarks("Ort").Range.Text = strRecipientZip
        .Bookmarks("RNummer").Range.Text = strBillNumber
        .Bookmarks("ZZ").Range.Text = Format(Date, "Long date")

        .Goto what:=wdGoToBookmark, Name:="LetterText"

        strPrompt = "Ready to enter letter text"
        strTitle = "Access data imported"
        MsgBox strPrompt, vbOKOnly, strTitle
        appword.Visible = True
        appword.Activate

    End With
ErrorHandlerExit:
    Set appword = Nothing
    Exit Sub

End Sub



Klaus es ist mir ja eh klar das es so funktionieren muss wie Du sagst nur funktioniert es nicht.

Hab im Code [KD_An_Id] mit meinem textfeld ausgewechselt...txtAnrede
aber auch leder ohne erfolg


wo oder besser wie muss den der Code geändert werden damit ich nun das textfeld ansteuere?

Danke sehr!!!

Titel: Re: Textmarke mit combobox füllen?
Beitrag von: MzKlMu am Dezember 15, 2011, 11:30:14
Hallo,
wenn Du einen Text willst, darfst Du keine Zahl deklarieren. Ändere mal wie folgt:

Dim strSalution As String
.
.
strSalution = Nz(Me!NameKombi.Column(1),"")
Titel: Re: Textmarke mit combobox füllen?
Beitrag von: silentwolf am Dezember 15, 2011, 11:47:08
Hallo Klaus,
danke... irgendwas stimmt leider noch nicht aber ich hab jetzt leider keine Zeit mehr muss weg..
Bedanke mich aber sehr sehr herzlich für Deine Hilfe.
Muss es mir später noch besser anschauen.


Danke

A