Hallo Zusammen,
ich habe folgendes Problem und brauche Hilfe:
Ich möchte gerne Daten aus einen Access Tabellen nach Excel importieren.
Ich habe eine Excel Vorlage erstellt „enthellt Magros“. ich möchte dass die Daten nicht im iergend ein Excel importiert wird sondern das jedes mal diese Vorlage benuzt.
Vielleicht ist auch noch wichtig zu erfahren das die Vorlage schreibgeschützt ist,mit Passwort.
Es ist noch nicht alles:
Die Access Tabelle enthält verscheidene User Nummer, und für jeder User Nummer habe ich eine Odner erstellt ca. 460User.
Damit ihr besser versteht was ich meine, mache ich ein Beispiel:
User Nummer Ue08060 (es fängt immer mit „U“) hat ein Ordner die auch gleich heisst U08060.
Es soll alle Daten die der User „ue08060“ im Access Tabelle hat, im einer Excel importieren und zwar in dem entsprächenden Ordner in dem fall ordner „ue08060“.
Und die excel-datei soll automatisch speichern: es fängt immer mit der entsprächenden Unummer an und _reports, also ue08060_reports. Unummer wird je nach Benutzer angepasst.
Ich habe eine Vorlage erstellt ,weil die user später die excel Datei bekommen,und sie dürfen die Daten die aus Access Tabelle importiert würde nicht anpassen es muss schreibe geschützt sein.
Hier ist noch die Code die ich bis her gemacht habe:
nur im Moment habe ich ohne Vorlage gemacht und es heisst immer Reports. und genau das soll sich ändern!
[Code]
'------------------------------------------------
’ Excel vorlage benutzen und Daten importieren
'------------------------------------------------
Private Sub ordnerstruktur_export_Click()
'Variable Deklarieren
Dim objExcel As Excel.Application ’ Excel.Application
Dim objExcelbook As Excel.Workbook ’ Excel.Workbook
Dim objExcelSheet As Excel.Worksheet ’ Excel.Worksheet
Dim intExcelCalcMode As Integer 'Excel Berechnungsmodus
Dim rst As DAO.Recordset 'Access Tabelle oder Abfrage
Dim rst2 As DAO.Recordset 'Access Tabelle oder Abfrage
Dim SQL1 As String
Dim SQL2 As String
Dim SQL3 As String
Dim strUNr As String
Dim strDir As String
Dim qd As QueryDef
Dim i As Integer
Dim strSQL As String
Dim strVerz As String
MsgBox „Start!“, vbOKCancel & vbInformation, „Excel erstellt“
'Excel-Objekt öffnen
Set objExcel = CreateObject(„Excel.Application“)
'falls gewünscht sichtbar
objExcel.Visible = False
SQL1 = „SELECT UID from T_Benutzer“
‚SQL2 = "SELECT [Document Name], [File Name], [Session User], " & _
’ "[Session Date], [ID] " & _
’ „FROM T_UserReports " & _
’ „WHERE [Session User] = '“
SQL2 = „SELECT * FROM T_UserReports WHERE [Session User] = ‚U100366‘“
'gewünschtes Workbook öffnen, Referenz setzen
PFAD = „\Filer15l\CARGO151l\Projekte\BI\BOXI.S4358\07_User\UserReports“
'Variable nutzen
Set qd = CurrentDb.QueryDefs(„Q_UserReport“) ’ Abfrage um UserNummer
strSQL = qd.SQL
i = InStr(1, qd.SQL, „“)
strVerz = Dir(PFAD & „*.*“, vbDirectory)
‚Tastatureingabe blockieren
objExcel.Interactive = False
While strVerz „“
If Left(strVerz, 1) = „U“ Then ’ fragt ob Links als erste ein U ist
qd.SQL = Left(strSQL, i - 2) & "‘“ & strVerz & "‘));"
On Error Resume Next
Kill PFAD & strVerz & „“ & „Rports.xls“
On Error GoTo 0
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, _
„Q_UserReport“, _
PFAD & strVerz & „\Reports.xls“, True
End If
strVerz = Dir()
Wend
qd.SQL = strSQL
Set qd = Nothing
'Tastatur- und Mauseingaben wieder zulassen
objExcel.Interactive = True
MsgBox „Excel würde Erfolgleich erstellt!“, vbOKOnly & vbInformation, „Info“
End Sub
[\Code]
Ich habe nicht so veil ahnung von VBA darum wäre es sehr hilfreich wen mr jemand eine Beispielcode geben könnte.
Im Voraus vielen Dank.
Prissy