Tel: 0203-2814763

 
Home


Access-Entwickler
Referenzen


Access-Forum
Access-Downloads
Access-Suchmaschine
knowhow.mdb
Artikel
Access-Links
Access-Codebeispiele
Access-FAQ
Verschiedenes
Autoren-Login

 

newsletter
Kontakt
English

 

 

 
  Willkommen Gast. Bitte Einloggen oder Registrieren
   
  ÜbersichtHilfeSuchenEinloggenRegistrieren  
 
Seiten: 1 2 
Thema versenden Drucken
Access 2007 - checkbox-Werte nach Word übergeben (Gelesen: 10338 mal)
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Access 2007 - checkbox-Werte nach Word übergeben
19.04.2015 um 09:21:54
 
Hallo zusammen,

ich bin Matthias und ganz frisch hier im Forum. Ich habe mich angemeldet, weil ich für den Job eine Datenbank realisiert habe. Leider jedoch habe ich nur wenig Ahnung davon, besonders was VBA angeht. Auch in der Firma ist niemand dazu in der Lage. Nichts desto Trotz ist es mir gelungen, Daten aus einem Access Bericht in eine Wordvorlage zu stecken, auch Dank der Script-Schnipsel, die man in allerlei Foren finden kann - deswegen mein Dank an alle, die Anderen so unter die Arme greifen.

Mein Problem ist zur Zeit, dass ich zwar sämtliche Daten (Text, Datum etc.) ins Word bekomme, aber es gibt in dem Bericht auch Checkboxen. Wie bekomme ich die Ja/Nein Werte aus Access in die Checkboxen der Wordvorlage? Ich finde im Netz zwar diverse Ansätze, aber ich bekomme das irgendwie nicht hin. Vielleicht kann mir jemand helfen. Vielen Dank!

Gruß
Matthias
Zum Seitenanfang
 
 
IP gespeichert
 
df6gl
YaBB Moderator
*****
Online


DF6GL

Beiträge: 4146
Geschlecht: male
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #1 - 19.04.2015 um 09:39:39
 
Hallo Matthias und willkommen im Forum..

Was hast Du denn schon probiert? Zeig mal den Code, den Du verwendest.

Um Kontrollkästchen zu setzen, muss die Value-Eigenschaft des FormField-Checkbox-Steuerelementes gesetzt werden:

Wobj.ActiveDocument.FormFields(1).CheckBox.Value = True
Zum Seitenanfang
 

Gruß
Franz, DF6GL
PS: Bitte Feedback nicht vergessen!
 
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #2 - 19.04.2015 um 09:55:58
 
Hallo Franz,

Danke für Dein schnelles Feedback.

Nicht funktionierende Syntax entferne ich immer gleich wieder, daher kann ich nur das zeigen, was ich heute probiert habe:

    If cbxAccess.Type = dbBoolean Then
        wdDok.FormFields(cbxWord).CheckBox.Value = cbxAccess.Value
    End If

(Welche Code-Sprache für VBA auswählen?)
Hier wird über "Type" gemeckert.

Gruß
Matthias
Zum Seitenanfang
 
 
IP gespeichert
 
df6gl
YaBB Moderator
*****
Online


DF6GL

Beiträge: 4146
Geschlecht: male
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #3 - 19.04.2015 um 11:37:52
 
Hallo,

naja, das kann doch nicht alles sein, das Du irgendwo hingeschrieben hast...?


Um konkret zu helfen, muss die Programm-Umgebung diesbezüglich bekannt sein, d. h. die vollständige Beschreibung der Abfragen, Makros (hoffentlich gibt es keine) , Vba-Prozeduren und Access-Version.....

In diesem Fall mindestens die gesamte VBA-Prozedur (und evtl. darin aufgerufene Unter-Prozeduren), mit der der Datenexport nach Word bewerkstelligt wird.
Zum Seitenanfang
 

Gruß
Franz, DF6GL
PS: Bitte Feedback nicht vergessen!
 
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #4 - 19.04.2015 um 13:45:22
 
Hallo,

nee, ist natürlich nicht alles. Der Code ist zu lang um den hier reinzukopieren, deswegen im Anhang eine TXT mit dem Code.

Jetzt habe ich noch ganz andere Sorgen mit den Kontrollkästchen: "Objekt oder Klasse unterstützt diese Ereignismenge nicht". Bis eben hat alles Funktioniert, jetzt hats mir fast die DB zerlegt! Ärgerlich

Zur Struktur der DB:
Es gibt ein geteiltes Startformular als Übersicht. Dort kann man einen Datensatz suchen, aber nicht bearbeiten. Ist der gewünschte Datensatz geladen, wird er über einen Button in einem 2. Form geladen zum Bearbeiten. Von dort aus geht es in eine Bericht-Vorschau in dem Format, wie auch die Word-Vorlage. Sind alle Felder ausgefüllt, gehts ab nach Word.

Warum Word? Weil wir noch Fotos und Diagramme in dem Bericht benötigen. Die haben selten das selbe Format / selbe Größe. Ausserdem ist ein Formular in Access in der Höhe auf max 55,... cm begrenzt. Der Bericht hat aber 3 Seiten, wenn er fertig ist.

Warum überhaupt die Datenbank? Zur Zeit arbeiten wir zu dritt in einer Exceltabelle. Dabei geht es um Garantiefälle. Der Zeit sind dort knapp über 1000 Datensätze vorhanden und es kommen täglich neue hinzu. Aber es kann immer nur einer an die Tabelle, das geht häufig schief. Wenn die Tabelle freigegeben ist, fallen einige wichtige Funktionen weg, die in der Tabelle hinterlegt sind. Also baute ich eine Datenbank, mit der wir auch weitere wichtige Funktionen nutzen können. Dazu gehört auch die Erstellung des Berichts.

Gruß
Matthias
Zum Seitenanfang
 
Media Dateien und klickbare Links in Beiträgen und Signaturen sind nur für registrierte Mitglieder verfügbar!!  Sie müssen sich Einloggen oder Registrieren (5 KB | 3 )
 
IP gespeichert
 
df6gl
YaBB Moderator
*****
Online


DF6GL

Beiträge: 4146
Geschlecht: male
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #5 - 19.04.2015 um 14:08:06
 
Hallo,

Wo und wann kommt denn diese Fehlermeldung?


Ansonsten:
.
.
.
        Set wordobj = CreateObject("Word.Application")
            Vorlage = aktVerz() & "\FinalReport.dotx"
                           
        Set worddoc = wordobj.Documents.Add(Template:=Vorlage)
 
        worddoc.FormFields(1).CheckBox.Value = Me!chkFeld1

            worddoc.Bookmarks("ID").Range = Me!ID & ""
.
.
.
Zum Seitenanfang
 

Gruß
Franz, DF6GL
PS: Bitte Feedback nicht vergessen!
 
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #6 - 19.04.2015 um 14:28:50
 
Hallo,

Meldungen kamen immer häufiger, urplötzlich. Erst beim Laden eines Forms, danach bei fast jedem Form, wo ich angebe, dass der letzte Datensatz gezeigt werden soll und / oder Kontrollkästchen vorhanden sind. Zuletzt auch, wenn ich die Kästchen nutzte. Sowie der Editor kurz auf war, ging alles wieder. Habe jetzt die DB mit dem AddIn "TM Rebuild Database" von Thomas Möller wieder hergestellt. Jetzt passt es wieder. Link: Media Dateien und klickbare Links in Beiträgen und Signaturen sind nur für registrierte Mitglieder verfügbar!!  Sie müssen sich Einloggen oder Registrieren

worddoc.FormFields(1).CheckBox.Value = Me!chkFeld1
Der Name des Kontrollkästchens im Word kommt in die Klammern nach "FormFields"?

Gruß
Matthias



Zum Seitenanfang
 
 
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #7 - 19.04.2015 um 14:45:36
 
MatthiasM schrieb am 19.04.2015 um 14:28:50:
worddoc.FormFields(1).CheckBox.Value = Me!chkFeld1
Der Name des Kontrollkästchens im Word kommt in die Klammern nach "FormFields"?


Oh Mann!, logisch, wohin denn sonst!

Danke!

Gruß
Matthias
Zum Seitenanfang
 
 
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #8 - 19.04.2015 um 15:58:47
 
Hallo,

leider funktioniert das noch nicht. Es kommt der "Laufzeitfehler 5941: Das angeforderte Element ist nicht in der Sammlung vorhanden".
Die CheckBox-Namen stimmen, wenn ich einen anderen eingebe wird sofort gemeckert. Muss ich zuvor noch irgendwas laden?

Gruß
Matthias
Zum Seitenanfang
 
 
IP gespeichert
 
Juergen_el
YaBB Moderator
*****
Offline


Wissen ist Macht - weiß
nichts - Macht nichts.

Beiträge: 6355
Geschlecht: male
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #9 - 20.04.2015 um 10:31:51
 
Moin,
Zitat:
worddoc.FormFields(1).CheckBox.Value = Me!chkFeld1
Der Name des Kontrollkästchens im Word kommt in die Klammern nach "FormFields"?

Gruß
Matthias



Geschrieben von: MatthiasM      Geschrieben am: Gestern um 14:45:36


Oh Mann!, logisch, wohin denn sonst!

Danke!

Gruß
Matthias
Geschrieben von: MatthiasM      Geschrieben am: Gestern um 15:58:47
Hallo,

leider funktioniert das noch nicht. Es kommt der "Laufzeitfehler 5941: Das angeforderte Element ist nicht in der Sammlung vorhanden".
Die CheckBox-Namen stimmen, wenn ich einen anderen eingebe wird sofort gemeckert. Muss ich zuvor noch irgendwas laden?


Du setzt voraus, dass wir deinen aktuellen Code kennen, was natürlich nicht sein kann. Also immer posten.

Das Beispiel von Franz spricht nach FormFields einen Indize an, Bezeichner sind in Anführungszeichen zu maskieren.
Zum Seitenanfang
 

Gruß Jürgen

Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.

*feedback erwünscht*

Bitte Media Dateien und klickbare Links in Beiträgen und Signaturen sind nur für registrierte Mitglieder verfügbar!!  Sie müssen sich Einloggen oder Registrieren
Homepage  
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #10 - 20.04.2015 um 18:14:35
 
Hallo Jürgen,

hier der aktuelle Code:

Private Sub PrintToWord_Click()
Dim wordobj As Object, worddoc As Object
Dim VORLAGE As String
        Set wordobj = CreateObject("Word.Application")
            VORLAGE = aktVerz() & "\FinalReport.dotx"
                           
        Set worddoc = wordobj.Documents.Add(Template:=VORLAGE)
            worddoc.FormFields("Rejected").CheckBox.Value = Me!Reject
            worddoc.Bookmarks("ID").Range = Me!ID & ""
            [...]
        worddoc.Parent.ChangeFileOpenDirectory aktVerz
               
        wordobj.Visible = True
        Set worddoc = Nothing
        Set wordobj = Nothing
End Sub


Das Kontrollkästchen in der Word-Vorlage heißt "Rejected", in Access "Reject".

Der Rest des Codes in dem Formular ist unverändert (siehe TXT-Datei weiter oben).

Viele Grüße
Matthias
Zum Seitenanfang
 
 
IP gespeichert
 
df6gl
YaBB Moderator
*****
Online


DF6GL

Beiträge: 4146
Geschlecht: male
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #11 - 21.04.2015 um 12:17:39
 
Hallo,


schau mal in Word unter "Textmarke einfügen", ob es eine Textmarke mit dem Namen "Rejected" gibt.


WIE hast Du denn das Kontrolkästchen benannt?


Ansonsten lass Dir die Namen aller Formfields im Debug-Fenster anzeigen:


Dim itm
For each itm in Worddoc.Formfields
Debug.Print itm.name
Next
Zum Seitenanfang
« Zuletzt geändert: 21.04.2015 um 12:22:25 von df6gl »  

Gruß
Franz, DF6GL
PS: Bitte Feedback nicht vergessen!
 
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #12 - 25.04.2015 um 19:22:37
 
Hallo,

ja, es war eine Textmarke gesetzt. Aber das Entfernen hat auch nichts gebracht. Die Benennungen der Kontrollkästchen sind OK, ich habe die im Entwurfsmodus benannt. Die Abfrage mit dem VBA Code habe ich aber noch nicht ausprobiert - wo muss ich den einfügen?
Zitat:
Dim itm
For each itm in Worddoc.Formfields
Debug.Print itm.name
Next


Allerdings habe ich jetzt ganz andere Probleme, da sind die Kästchen erstmal in den Hintergrund geraten. Die neuen "Probleme" möchte ich lieber in einem neuen Thread schildern.

Gruß
Matthias
Zum Seitenanfang
« Zuletzt geändert: 25.04.2015 um 19:23:05 von MatthiasM »  
 
IP gespeichert
 
df6gl
YaBB Moderator
*****
Online


DF6GL

Beiträge: 4146
Geschlecht: male
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #13 - 26.04.2015 um 08:07:49
 
Hallo,

von "Löschen" hab ich nichts gesagt...

Zitat:
wo muss ich den einfügen?


z. B. vor dem Setzen der Checkbox....
Zum Seitenanfang
 

Gruß
Franz, DF6GL
PS: Bitte Feedback nicht vergessen!
 
IP gespeichert
 
MatthiasM
YaBB Newbies
*
Offline


Ohne Signatur!

Beiträge: 28
Re: Access 2007 - checkbox-Werte nach Word übergeben
Antwort #14 - 06.03.2017 um 19:42:12
 
Hallo und einen freundlichen Guten Abend zusammen,

nach 2 Jahren muss ich das hier leider wieder vorkramen, es gefällt mir ehrlich gesagt selber nicht. Ich bin aber sehr dankbar für Eure bisherige Hilfe, besonders Franz.

Ich möchte kurz schildern, warum es diese überhaupt gibt:
Ich arbeite in einem Zulieferbetrieb für FZG-Hersteller und analysiere dort s.g. Feldschadteile - also Teile aus unserer Produktion, die beim Endkunden anscheinend auffällig waren und auf Garantie ausgetauscht wurden. Wir sind als Zulieferer global aufgestellet.
Die Datenbank wurde von mir im Frühjahr 2015 aus einer Not heraus aufgebaut, da es global in unserer Firma kein vernünftiges Tool gab, die Fälle ordnungsgemäß und kundengerecht zu bearbeiten und zu verfolgen. Dazu muss man allerdings auch wissen, dass bis vor ca 5-6 Jahren Feldausfällen selbst von den OEMs, die wir beliefern, nicht wirklich tiefergehend und systematisch behandelt wurden. Die OEMs haben in diesem Bereich nun stark angezogen und die Zulieferer müssen nun hinterher - was auch richtig und sinnvoll ist. Aber aus der Vergangenheit heraus, gibt es bei uns keine funktionierende Datenbank, die alle Fälle global erfasst - auch wenn wir global aufgestellt sind. Traurig aber wahr.

2012 begann ich die Tätigkeit als Sachbearbeiter in unsererem Betrieb, der einzig und allein Feldschadteile analysiert. Ich baute eine Excell-Tabelle mit vielen Funktionen und Alerts, damit ich alles beisammen habe. Das hat gut funktioniert - bis es zu viel wurde. Ich bekam endlich einen Mitstreiter, aber wir konnten nicht zu zweit auf die Tabelle. Logisch. Also bauten wir eine zweite Tabelle. Und eine dritte. Und so weiter. Mit der Weile sind wir zu dritt. Nicht eingeschlossen sind Mitarbeiter in Amerika, Asien, die noch immer ihre eigenen Tabellen haben.
Schlussendlich habe ich irgendwann die Nase voll gehabt und diese Access-DB aufgebaut, die wir hier nur in DE zur Zeit sehr erfolgreich(!) nutzen. Allerdings quasi als Pilotprojekt für die globale Nutzung. Mir ist klar das eine Access DB für globale Nutzung ein No Go ist, aber wir wollten hier lokal "spielen", um die Anforderungen an eine solche globale DB auszuloten - was bis jetzt sehr hilfreich war.

Unsere IT ist involviert - hat aber wieder mal !keine Zeit!, daran zu arbeiten. Also bin ich noch immer an meiner völlig laienhaften DB dran. Schmeckt mir auch nicht wirklich! Schade, aber was solls. Und falls jetzt Fragen aufpoppen sollten, wieso ein global agierendes Unternehmen nicht in der Lage ist, eine DB für Garantiefälle aufzubauen: Bitte nicht fragen, wir sind gerade dabei, Firmenrichtlinien zu untergraben die neue globale DBs untersagen. Kein Witz. Aber wir sind guter Dinge, endlich irgendwann ein sinnvolles Tool in die Hand zu bekommen. Kommt Zeit kommt DB - oder so...
Das war jetzt viel Text, sorry. Aber ich wollte das mal hier loswerden damit ihr versteht, wieso sich ein absoluter Laie an solche Projekte wagt.
[Hier ist ein Zeichenlimit erreicht, gleich gehts weiter]
Zum Seitenanfang
 
 
IP gespeichert
 
Seiten: 1 2 
Thema versenden Drucken