Microsoft Excel

Herbers Excel/VBA-Archiv

Word / Access Problem

Betrifft: Word / Access Problem von: Stefan
Geschrieben am: 22.09.2014 16:33:48

Hallo,

ich habe eine Wordvorlage, die Daten für einen Serienbrief aus Access holt.


Sub Document_Open()
  Dim PATH, SOURCE As String
  PATH = ThisDocument.PATH 'determine current directory
  SOURCE = PATH & "\trallala.mdb"
  ActiveDocument.MailMerge.OpenDataSource Name:=SOURCE, _
                  LinkToSource:=True, _
                  AddToRecentFiles:=False, _
                  Connection:="TABLE Daten"

End Sub

In der trallala.mdb gibt es unter Tabellen einen Link "Daten" auf ein .TXT File mit dem Inhalt. Dieses TXT File generiere ich.
Access repariert sich den Link beim Starten selbst (siehe script), sodass die mdb irgendwo liegen kann,
Hauptsache, die Wordvorlage, das TXT File und die mdb liegen im gleichen Verzeichnis
(Das muss so sein, Vorgabe).
Function ConnectTable()

    Dim db              As DAO.Database
    Dim td              As DAO.TableDef
    Dim AktConnectSTR   As String
    Dim AktPfadSTR      As String
    Dim PfadSTR         As String
    Dim verz            As String
    Dim pos             As Long
    
    Set db = CurrentDb 'bisherigen Pfad der verknüpften DB auslesen
    For Each td In db.TableDefs
        If td.Connect <> "" Then
            AktConnectSTR = td.Connect
            AktPfadSTR = Left$(AktConnectSTR, InStr(1, AktConnectSTR, "DATABASE=") + 8)
            
            verz = db.Name                ' Pfad und Name der aktuellen DB
            pos = InStrRev(verz, "\")
            PfadSTR = Left$(verz, pos)
            If FileExists(PfadSTR & td.SourceTableName) = True Then
                td.Connect = AktPfadSTR & PfadSTR
                td.RefreshLink
            End If
            
        End If
    Next
    
End Function

' Check if file exists
Public Function FileExists(strPath As String) As Boolean
    Const cNotFile = vbDirectory Or vbVolume
    On Error Resume Next
    FileExists = (GetAttr(strPath) And cNotFile) = 0
    On Error GoTo 0
End Function

Bei Öffnen gibt es 2 Probleme:
1. Es wird "SELECT * FROM '' angezeigt. Hier fehlt der Tabellenname.
Es sollte heißen SELECT * FROM 'Daten' oder so.
Egal ob ich dann ja oder nein klicke, kommt
2. die Fehlermeldung "Datenquelle enthält keine sichtbaren Tabellen".
Ich kann das lösen, indem ich unter "Optionen für Tabelle" "Synonyme" anhake.

Das soll aber automatisch laufen - ohne Usereinwirkung.

Hat jemand eine Idee??
Muss beim OpenDataSource was anderes in Connection rein?
Ich habe dazu nirgends Doku gefunden.

Ansonsten muss 3. noch die Serienbrieferstellung dann automatisch loslaufen, aber
das krieg ich vielleich noch hin ...
vg Stefan

  

Betrifft: Dies ist ein excel forum .... Owt von: Spenski
Geschrieben am: 22.09.2014 18:26:40




 

Beiträge aus den Excel-Beispielen zum Thema "Word / Access Problem"