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
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