Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

export von daten in bestimmtes excel sheet

Begonnen von benjamin.grimm, September 20, 2013, 09:56:16

⏪ vorheriges - nächstes ⏩

benjamin.grimm

Hallo zusammen,^^^^

ich habe verschiedene Arten von Verträgen mit unterschiedlichen Laufzeiten.

Ich habe eine Laufzeit von 4 Jahren, 6 Jahren, 8 Jahren, 10Jahren und 12 Jahren.

ich exportiere die Verträge momentan immer in das selbe Excel Sheet.

Es ist für alle Verträge ausgelegt.^^ (Sieht ein wenig dumm aus, bei nem Vertrag mit 4 Jahren, so viele #NV Sad

Nun möchte ich aber das er pro unterschiedliche Laufzeit den Vertrag in das für die bestimmte Laufzeit vorgefertigte Excel Sheet exportiert.

Zum exportieren verwende ich folgenden Code.


On Error GoTo fehlerbehandlung:


    Dim xlApp As Object         'Excel.Application
    Dim xlBook As Object        'Excel.Workbook
    Dim xlSheet As Object       'Excel.Worksheet
    Dim rst As DAO.Recordset, SuWID As Long, tmpStr As String

    SuWID = InputBox("Welche ID möchten sie exportieren?", "Export value required", 1)
   
    Set rst = CurrentDb.OpenRecordset("SELECT SAP, Geris, Pauschale, SuWID, Jahr_Y, BT_Name, SAP_Nummer, Vertragsbeginn, Vertragsende FROM Abfrage_alles WHERE SuWID = " & SuWID)
   
    If rst.RecordCount > 0 Then
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Visible = True
        Set xlBook = xlApp.Workbooks.Open("C:\Users\GRIMBEN\Desktop\Try5.xlsm")
        Set xlSheet = xlBook.Sheets("Tabelle1")
        xlSheet.Range("A6:I18").ClearContents
       
        xlSheet.Range("A6").CopyFromRecordset rst
    Else
        MsgBox "No information to export", vbInformation, "No data exported"
    End If
   
    rst.Close
    Set rst = Nothing
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

Exit Sub:

fehlerbehandlung:

MsgBox Err.Description, vbDefaultButton1, "Abbruch"





Im Formular heißt das Feld Laufzeit: Laufzeit_des_Vertrags

Muss ich das jetzt in die Abfrage aufnehmen?

Wie muss ich den Code ändern?^^^


Die Excel Sheet würden dann irgendwie SuW_4Jahre, SuW_6Jahre usw. heißen.

Vielen Dank im Voraus.

DF6GL

Hallo,

setz halt das Feld bei set xlSheet=   ein


Set xlSheet = xlBook.Sheets(Me!Laufzeit_des_Vertrags)


benjamin.grimm

Hey danke für deine Antwort.

Mit deiner Lösung muss der User aber immer bei der bestimmten ID wissen, wie lang die Laufzeit ist.

Kann man ihm auch schon irgendwie automatisch mitgeben, wie lang die Laufzeit ist und er dann das entsprechende Formular öffnet?


DF6GL

Hallo,


ich versteh die Situation nicht..


ZitatIm Formular heißt das Feld Laufzeit: Laufzeit_des_Vertrags

Hier steht doch die Laufzeit...


Oder soll dieses Feld ein "Kriterium " für die Selektion der Verträge sein?


Zitat
Nun möchte ich aber das er pro unterschiedliche Laufzeit den Vertrag in das für die bestimmte Laufzeit vorgefertigte Excel Sheet exportiert.


Prinzipiell muss in einer Schleife über alle möglichen Laufzeiten jeweils der SQL-String entspr. dieses Kriteriums modifiziert,  das entspr. Excel-Sheet namentlich definiert  und der Transfer durchgeführt werden.

benjamin.grimm

Sorry,

hab ich falsch erklärt.

In der Abfrage steht das Vertragslaufzeit. Nicht im Formular.

Ich hab im Access einen Button.

Auswertung eines Vertrags pro ID.

In diesem Button steht der VBA Code.

Nun möchte ich das er automatisch, je nach Laufzeit des Vertrags, das jeweilige Excel Sheet öffnet.

Also wenn der Vertrag 4 Jahre läuft, dann öffne Excel Sheet 4 Jahre

usw.

Verstehst du was ich meine?


bahasu

Servus

benjamin.grimm

hey,

ne das ist ein anderes Thema.

Ich hab es jetzt aber anders gelöst.

Ich benutze jetzt ein Excel Sheet für alle Verträge und blende dann die entsprechenden Spalten je nach Vertrag aus.

Danke für eure Hilfe.!