1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Daten von Access in eine Excel exportieren mit Vorlage

Discussion in 'Office-Programme' started by prissy, Dec 5, 2007.

Thread Status:
Not open for further replies.
  1. prissy

    prissy Byte

    Hallo Zusammen,

    ich habe wieder mal ein 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 dieser Vorlage benuzt.
    Vielleicht ist auch noch wichtig zu erfahren das die Vorlage schreib geschü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 nachher so heissen: 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. Sie dürfen nur z.B Spalte H bearbeiten mit Ja oder Nein. Mehr dürfen die User nicht machen.

    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 ä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 umUserNummer 
    strSQL = qd.SQL 
    i = InStr(1, qd.SQL, "<UserID>") 
    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 & "\" & "Reports.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
    
    Ich hoffe ihr habt es einbisschen verstanden was ich möchte.
    ist noch recht schwierig zum erklären...

    Ich habe schon ein paar sachen gefunden die ähnlich sind, bin aber nich genau nach gekommen weil ich nicht viel ahnung von VBA habe.
    Darum wäre es sehr hilfreich wen mr jemand eine Code Beispiel geben könnte.

    Im Voraus vielen Dank.

    Prissy
     
Thread Status:
Not open for further replies.

Share This Page