ich habe Access 2003 und möchte eine verknüpfte Tabelle erstellen, die
auf eine Exceldatei im Verzeichnis der MDB-Datei zugreift. Im
Tabellenverknüpfungsmanager können aber nur Dateien mit dem absoluten
Pfad verknüpft werden. Ist hier eine "relative" Pfadangabe möglich?
Auch das TransferArbeitsblatt Makro will einen absoluten Pfad
definiert haben.
Kann ich relative Pfade nur mit VBA setzen? (Path Eigenschaft,
TransferSpreadsheet Methode)
lg
arno
arno schrieb:
> Kann ich relative Pfade nur mit VBA setzen? (Path Eigenschaft,
> TransferSpreadsheet Methode)
Ist auf jeden Fall die sauberste M�glichkeit, da Du damit die
gr��tm�gliche Kontrolle dar�ber hast.
Du kannst �ber
CurrentDb.TableDefs("DeineExcelTabelle").Connect
den Verbindungsstring manipulieren, der z.B.
Excel 5.0;HDR=YES;IMEX=2;DATABASE=C:\ExcelBeispiel.xls
lauten k�nnte.
Den mittels
CurrentProject.Path
und dem passenden Namen Deiner Excel-Datei zu f�ttern, sollte keine
gro�e Sache sein, oder?
P.S.: Es ist hier �blich, Vor- und Zunamen zu verwenden
--
Gru�, Bernd
---
Access goes Subversion - http://oasis.gilles-family.de
> Kann ich relative Pfade nur mit VBA setzen? (Path Eigenschaft,
> TransferSpreadsheet Methode)
Ja, es werden immer die absoluten Pfade gespeichert und m�ssen bei
ver�nderlichen Angaben per VBA neu gesetzt werden.
Viele Gr��e aus Bremen,
Stefan
vielen Dank für die Antworten, ich hab folgenden Code verwendet (plus
Form die autom. beim Öffnen der MDB gestartet wird):
Sub TabellenVerlinken()
'verlinkt die angegebenen Excel Dateien aus dem selben Verzeichnis
'in der diese Datenbank steht
Dim asPath As String 'aktueller Pfad dieser MDB-Datei
Dim asExcelfile As String 'Dateiname der zu verlinkenden
Exceldatei
asPath = Application.CurrentProject.Path & "\" 'aktuellen Pfad
dieser Datei ermitteln
asExcelfile = "meineExcelDatei" 'ohne Dateierweiterung
eingeben
SysCmd acSysCmdSetStatus, "Lösche " & asExcelfile
DoCmd.DeleteObject acTable, asExcelfile
SysCmd acSysCmdSetStatus, "Verknüpfe " & asExcelfile
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel8,
asExcelfile, asPath & asExcelfile & ".xls", True
SysCmd acSysCmdClearStatus
End Sub
lg
arno