ďťż

Mefisto...diabeł czy anioł?

Witam,

staram się zrobić excel coś takiego:
- w doc1.xls jest tabela przestawna
- ta tabela jest połączona za pomocą makra przez OLE DB do pliku doc2.xls, w którym są raportowe dane
- dane się pobierają ale po zainicjowaniu połączenia plik doc2.xls staje się tylko 'do odczytu'

chodzi o to aby można było dalej pracować na doc2, czyli jak zrobic?:
- rozłączyć połączenie?
- DODATKOWO czy można w tym macro narzucić kryteria jak w SQL że tylko np. dla danych/wierszy z dzisiejszą datą (jedna z kolumn w doc2)

poniżej moja drętwe Macro :) co mam tam dopisać?


Sub test4()

    With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
        .Connection = Array( _
        "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\admin\doc22.xls;Mode=Share;Extended Properti" _
        , _
        "es=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Je" _
        , _
        "t OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database " _
        , _
        "Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False" _
        , ";Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False")
        .CommandType = xlCmdTable
        .CommandText = Array("repoz$")
       
        .RefreshOnFileOpen = False
        .BackgroundQuery = False
        .MaintainConnection = True

    End With

    ActiveSheet.PivotTables("test4_table").PivotCache.Refresh

End Sub

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • katkaras.opx.pl