TKSoft-Online

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

Serienbrief aus Access (AC ist verschlüsselt)
(1 Leser) (1) Gast
Alles rund um MS-Access
  • Seite:
  • 1

THEMA: Serienbrief aus Access (AC ist verschlüsselt)

Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #797

  • uli15u
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 6
  • Karma: 0
Hallo habe folgendes Problem, der Code (Serienbrief) unten funktioniert, ist aus einer Beispieldatenbank.

Eingebaut in meiner Anwendung funktioniert er, nun habe ich die DB verschlüsselt, nun meldet Word einen Fehler weil die Datenbank nicht geöffnet werden kann.

Verschlüsselung brauch ich aber.

Kann mir bitte jemand sagen wie ich das Passwort der Verschlüsselung der DB übergeben kann?

 
 
Public Sub WordMailMerge()
 
Dim wordanwendung As Object
Dim worddatei As Object
Dim sMergeDoc As String
Dim sSQL As String
Dim Xpfad As String
 
Xpfad = aktVerz() & "\"
'Die Textvorlage muß dafür also immer im gleichen Verzeichnis wie die aktuelle mdb sein
sMergeDoc = Xpfad & Forms!EndlosformularAdressen!cmbSerienbrief
sSQL = "
SELECT * FROM [SerienbriefÜbergabeTabelle]"
 
Set wordanwendung = CreateObject("
Word.Application")
Set worddatei = wordanwendung.Documents.Open(sMergeDoc)
With worddatei
.MailMerge.OpenDataSource _
Name:=CurrentDb.Name, _
Connection:="
Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With
wordanwendung.Visible = True
With worddatei.MailMerge
'.Destination = 1 'wdSendToPrinter
.destination = 0 'wdSendToNewDocument
.Execute
End With
'worddatei.PrintOut acPrintAll
worddatei.Close SaveChanges:=0
'wordanwendung.Quit
Set worddatei = Nothing
Set wordanwendung = Nothing
End Sub



PS: wenn noch jemand eine Idee hat wie ich die Vorlagen aus einem anderen Ordner einbinden kann wäre ich glücklich.

LG Uli
Letzte Änderung: 1 Jahr, 2 Monate her von uli15u.

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #798

  • TommyK
  • ONLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Hallo uli,

das dürfte nicht klappen.
Eine verschlüsselte DB muss erst entschlüsselt werden.
z.B.:
DBEngine.CompactDatabase "C:\verschlüsselteDeineDB.mdb", "C:\DeineDB.mdb", "", dbDecrypt, ";pwd=DeinPW"
Gruß TommyK

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #799

  • uli15u
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 6
  • Karma: 0
Das würde aber bedeuten, dass der User darauf zugreifen kann.
Es geht nur um die SerienbriefFunktion.
Da WordMailMerge auf die Datenbank zugreifen muß.
Hast Du ein Tip, wie ich das entschlüsseln nur zum Erstellen der Serienbriefe hinbekomme und dann wieder alles verschlüssele.
LG Uli
Option Compare Database
Option Explicit
 
Public Sub WordMailMerge()
 
Dim wordanwendung As Object
Dim worddatei As Object
Dim sMergeDoc As String
Dim sSQL As String
Dim Xpfad As String
 
Xpfad = aktVerz() & "\"
'Die Textvorlage muß dafür also immer im gleichen Verzeichnis wie die aktuelle mdb sein
sMergeDoc = Xpfad & Forms!EndlosformularAdressen!cmbSerienbrief
sSQL = "
SELECT * FROM [SerienbriefÜbergabeTabelle]"
 
Set wordanwendung = CreateObject("
Word.Application")
Set worddatei = wordanwendung.Documents.Open(sMergeDoc)
With worddatei
.MailMerge.OpenDataSource _
Name:=CurrentDb.Name, _
Connection:="
Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With
wordanwendung.Visible = True
With worddatei.MailMerge
'.Destination = 1 'wdSendToPrinter
.destination = 0 'wdSendToNewDocument
.Execute
End With
'worddatei.PrintOut acPrintAll
worddatei.Close SaveChanges:=0
'wordanwendung.Quit
Set worddatei = Nothing
Set wordanwendung = Nothing
End Sub
 
Public Sub WordMailMerge2()
 
Dim wordanwendung As Object
Dim worddatei As Object
Dim sMergeDoc As String
Dim sSQL As String
Dim Xpfad As String
 
Xpfad = aktVerz() & "
\"
'Die Textvorlage muß dafür also immer im gleichen Verzeichnis wie die aktuelle mdb sein
sMergeDoc = Xpfad & Forms!EndlosformularAdressen2!cmbSerienbrief
sSQL = "
SELECT * FROM [SerienbriefÜbergabeTabelle]"
 
Set wordanwendung = CreateObject("
Word.Application")
Set worddatei = wordanwendung.Documents.Open(sMergeDoc)
With worddatei
.MailMerge.OpenDataSource _
Name:=CurrentDb.Name, _
Connection:="
Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With
wordanwendung.Visible = True
With worddatei.MailMerge
'.Destination = 1 'wdSendToPrinter
.destination = 0 'wdSendToNewDocument
.Execute
End With
'worddatei.PrintOut acPrintAll
worddatei.Close SaveChanges:=0
'wordanwendung.Quit
Set worddatei = Nothing
Set wordanwendung = Nothing
End Sub

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #800

  • TommyK
  • ONLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Hallo uli,

in etwa so (ungetestet)
    DBEngine.CompactDatabase "C:\verschlüsselteDeineDB.mdb", "C:\DeineDB.mdb", "", dbDecrypt, ";pwd=DeinPW"
With worddatei
.MailMerge.OpenDataSource _
Name:="C:\DeineDB.mdb", _
Connection:="Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With
Gruß TommyK

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #801

  • uli15u
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 6
  • Karma: 0
Danke erstaml, werde es testen, wo muss der Code hin...

Set wordanwendung = CreateObject("Word.Application")
Set worddatei = wordanwendung.Documents.Open(sMergeDoc)
 
DBEngine.CompactDatabase "C:\verschlüsselteDeineDB.mdb", "C:\DeineDB.mdb", "", dbDecrypt, ";pwd=DeinPW"
 
With worddatei
.MailMerge.OpenDataSource _
Name:="C:\DeineDB.mdb", _
Connection:="Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
 
End With


Wäre das richtig?
LG Uli

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #802

  • TommyK
  • ONLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Das kommt in Deinen alten Code

Das Stück
    With worddatei
.MailMerge.OpenDataSource _
Name:=CurrentDb.Name, _
Connection:="Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With


ersetzt Du damit
    DBEngine.CompactDatabase "C:\verschlüsselteDeineDB.mdb", "C:\DeineDB.mdb", "", dbDecrypt, ";pwd=DeinPW"
With worddatei
.MailMerge.OpenDataSource _
Name:="C:\DeineDB.mdb", _
Connection:="Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With


Natürlich musst die Pfadangaben der DB's noch anpassen.
Gruß TommyK

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #803

  • uli15u
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 6
  • Karma: 0
Hallo Tommy,
hab es jetz so eingebaut, bekomme aber Fehlermeldung.
sie haben als einstellung der ereigniseigenschaft den ausdruck beim klicken eingegeben


Set worddatei = wordanwendung.Documents.Open(sMergeDoc)
 
DBEngine.CompactDatabase "C:\FLP_DB\FE_db0122011.accde", "C:\FLP_DB\1FE_db0122011.accde", "", dbDecrypt, ";pwd=MeinPW"
With worddatei
.MailMerge.OpenDataSource _
Name:="C:\FLP_DB\1FE_db0122011.accde", _
Connection:="Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With
wordanwendung.Visible = True

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #804

  • TommyK
  • ONLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Komplett sollte es so aussehen:

Option Compare Database
Option Explicit
 
Public Sub WordMailMerge()
 
Dim wordanwendung As Object
Dim worddatei As Object
Dim sMergeDoc As String
Dim sSQL As String
Dim Xpfad As String
 
DBEngine.CompactDatabase "C:\FLP_DB\FE_db0122011.accde", "C:\FLP_DB\1FE_db0122011.accde", "", dbDecrypt, ";pwd=MeinPW"
 
Xpfad = aktVerz() & "\"
'Die Textvorlage muß dafür also immer im gleichen Verzeichnis wie die aktuelle mdb sein
sMergeDoc = Xpfad & Forms!EndlosformularAdressen!cmbSerienbrief
sSQL = "
SELECT * FROM [SerienbriefÜbergabeTabelle]"
 
Set wordanwendung = CreateObject("
Word.Application")
Set worddatei = wordanwendung.Documents.Open(sMergeDoc)
 
With worddatei
.MailMerge.OpenDataSource _
Name:="
C:\FLP_DB\1FE_db0122011.accde", _
Connection:="
Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With
 
wordanwendung.Visible = True
With worddatei.MailMerge
'.Destination = 1 'wdSendToPrinter
.destination = 0 'wdSendToNewDocument
.Execute
End With
'worddatei.PrintOut acPrintAll
worddatei.Close SaveChanges:=0
'wordanwendung.Quit
Set worddatei = Nothing
Set wordanwendung = Nothing
End Sub
 
Public Sub WordMailMerge2()
 
Dim wordanwendung As Object
Dim worddatei As Object
Dim sMergeDoc As String
Dim sSQL As String
Dim Xpfad As String
 
DBEngine.CompactDatabase "
C:\FLP_DB\FE_db0122011.accde", "C:\FLP_DB\1FE_db0122011.accde", "", dbDecrypt, ";pwd=MeinPW"
 
Xpfad = aktVerz() & "
\"
'Die Textvorlage muß dafür also immer im gleichen Verzeichnis wie die aktuelle mdb sein
sMergeDoc = Xpfad & Forms!EndlosformularAdressen2!cmbSerienbrief
sSQL = "
SELECT * FROM [SerienbriefÜbergabeTabelle]"
 
Set wordanwendung = CreateObject("
Word.Application")
Set worddatei = wordanwendung.Documents.Open(sMergeDoc)
With worddatei
.MailMerge.OpenDataSource _
Name:="
C:\FLP_DB\1FE_db0122011.accde", _
Connection:="
Table SerienbriefÜbergabeTabelle", _
SQLStatement:=sSQL
End With
wordanwendung.Visible = True
With worddatei.MailMerge
'.Destination = 1 'wdSendToPrinter
.destination = 0 'wdSendToNewDocument
.Execute
End With
'worddatei.PrintOut acPrintAll
worddatei.Close SaveChanges:=0
'wordanwendung.Quit
Set worddatei = Nothing
Set wordanwendung = Nothing
End Sub
Gruß TommyK

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #805

  • uli15u
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 6
  • Karma: 0
Hallo Tommy,

leider funzt das nicht. Bekomme folgende Fehlermeldung...
Sie haben versucht, eine Datenbank zu öffnen, die bereits von Benutzer Admin auf Computer..... geöffnet ist. Versuchen Sie es erneut...etc


Hast Du noch eine Idee, wäre sehr dankbar...

LG Uli

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #806

  • TommyK
  • ONLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Hallo uli,

eine Idee nicht aber damit kann ich Dir sagen es geht nicht.
Denn eine Datenbank die entschlüsselt werden soll muss Exklusiv geöffnet werden
und das geht bei Dir nicht.
Gruß TommyK

Aw: Serienbrief aus Access (AC ist verschlüsselt) 1 Jahr, 2 Monate her #807

  • uli15u
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 6
  • Karma: 0
Hallo Tommy, vielen Dank für deine Hilfe.

Leider muss die DB verschlüsselt sein, weil User darauf zugreifen, und es sind Daten erfasst die nur gewisse User sehen dürfen.

Hatte das Problem bislang nicht, da ich unverschlüsselt arbeite, gearbeite habe.

Muss mir nun überlegen wie ich diese doofe Sereinbrieffunktion um laufen bekomme.

Aber nochmal vielen herzlichen Dank

LG Uli
  • Seite:
  • 1
Moderatoren: TommyK
Ladezeit der Seite: 18.02 Sekunden

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173483 Downloads

JoomlaWatch 1.2.11 - Joomla Monitor and Live Stats by Matej Koval