Estava fuçando o código e me deparei com a linha de comando ".CommandText =". Notei que ela modifica exatamente o valor que eu quero modificar, o tal "Texto de Comando", e queria saber como posso usar isto ai para alterar apenas o valor de "CommandText" baseado em variáveis declaradas pelo usuário.
Apenas isto já resolve o meu problema atual.
Vou colocar aqui o código de uma pasta que eu gerei com conexão a um access que eu criei só para poder ficar fuçando e ver como as coisas funcionam.
Eu usei o comando Macro para realizar algumas ações e ver como elas se traduziam em códigos (mudei algumas coisas também :p)
Sub MexerPraVer()
Workbooks("Pasta1").Connections.AddFromFile _
"C:Users----DocumentsMinhas fontes de dadosDatabaseCarro Tabelezura.odc"
With ActiveWorkbook.Connections("DatabaseCarro Tabelezura").OLEDBConnection
.BackgroundQuery = True
.CommandText = Array("Tabelezura") 'é esta a linha que mexe no elemento da configuração da conexão que eu quero modificar (acreditem ou não é só isto mesmo que eu quero fazer)
.CommandType = xlCmdTable
.Connection = Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:Users----DesktopDatabaseCarro.accdb;" _
, _
"Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password" _
, _
"="""";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transact" _
, _
"ions=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;Jet OLEDB:Support Complex Data" _
, "=False;Jet OLEDB:Bypass UserInfo Validation=False")
.RefreshOnFileOpen = True
.RefreshPeriod = 60
.SavePassword = False
.SourceConnectionFile = _
"C:Users----DocumentsMinhas fontes de dadosDatabaseCarro Tabelezura.odc"
.SourceDataFile = "C:Users----DesktopDatabaseCarro.accdb"
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
.ServerFillColor = False
.ServerFontStyle = False
.ServerNumberFormat = False
.ServerTextColor = False
End With
With ActiveWorkbook.Connections("DatabaseCarro Tabelezura")
.Name = "DatabaseCarro Tabelezura"
.Description = ""
End With
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _
ActiveWorkbook.Connections("DatabaseCarro Tabelezura"), Version:= _
xlPivotTableVersion14).CreatePivotTable TableDestination:="Plan" & Sheets.Count & "!R3C1", _
TableName:="Tabela dinâmica1", DefaultVersion:=xlPivotTableVersion14
Sheets("Plan" & Sheets.Count).Select
Cells(1, 1).Select
End Sub
Postado : 13/11/2012 1:41 pm