Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Assuntos que não estiverem relacionados as categorias acima. Se não souber em qual categoria sua mensagem se encaixa, envie aqui.
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
#550
Boa tarde amigos,

Preciso criar tabelas e gráficos no excel usando um banco de dados do access sendo que esse banco de dados nunca será alterado.

Sei que eu poderia simplesmente poderia puxar a tabela usando o menu "dados>do access" mas como a tabela é muito grande, gostaria que apenas algumas colunas fossem usadas nessa busca. Alguém aí poderia me ajudar?

Obrigado
#611
Muito obrigado pela ajuda ^_^

Entendi perfeitamente porem não estou conseguindo fazer referencia a uma célula da tabela, por exemplo, nesta imagem anexa eu gostaria de substituir o "BANDAI" da fórmula pelo conteúdo de E1 que tem escrito a palavra "BANDAI". Desde já agradeço a ajuda.

Imagem
#624
Não é possível referenciar diretamente uma expressão da consulta a uma célula. Você terá que usar VBA para fazer essa atualização.
Minha sugestão é você gravar uma macro alterando a instrução manualmente, editar o código gerado e substituir a parte desejada pela referência à célula.
Só não se esqueça que critérios de consulta de texto são aspas simples, e não duplas.
#632
Bem, obrigado pelo esclarecimento primeiramente.

Tentei fazer o procedimento mas quando eu criei a macro já na importação dos dados, a mesma não executou, dando erro de tempo de execução.

Em seguida tentei fazer uma macro apenas da modificação deste argumento e também não funcionou pois estava dizendo que "o intervalo de dados não estava sendo atualizado".

Será que minha macro está vindo muito suja ou algo do tipo? Obrigado pela ajuda
#640
Coloque a sua macro, que fica mais fácil analisar o que pode estar acontecendo.
#641
Realmente, acho que postando o código fica melhor
Aqui está:
Código: Selecionar todos
Sub Macro1()
'
' Macro1 Macro
'
' Atalho do teclado: Ctrl+q
'
    Dim VALOR As Integer
    VALOR = Range("f1").Value
    
    Range("Tabela_bd_teste3.accdb[#All]").Select
    With ActiveWorkbook.Connections("bd_teste3").OLEDBConnection
        .BackgroundQuery = True
        .CommandText = Array( _
        "SELECT [PERSONAGEM], [LOCAL DO ESTOQUE], [MODELO], [VERSÃO] FROM [tb_teste] WHERE [MODELO] = VALOR" _
        )
        .CommandType = xlCmdSql
        .Connection = Array( _
        "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\lmendes\Desktop\bd_teste3.accdb;Mode=Share Deny Write;Exten" _
        , _
        "ded Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mod" _
        , _
        "e=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 R" _
        , "eplica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False" _
        )
        .RefreshOnFileOpen = False
        .SavePassword = False
        .SourceConnectionFile = ""
        .SourceDataFile = "C:\Users\lmendes\Desktop\bd_teste3.accdb"
        .ServerCredentialsMethod = xlCredentialsMethodIntegrated
        .AlwaysUseConnectionFile = False
        ''.ServerFillColor = False
        ''.ServerFontStyle = False
        ''.ServerNumberFormat = False
        ''.ServerTextColor = False
    End With
    With ActiveWorkbook.Connections("bd_teste3")
        .Name = "bd_teste3"
        .Description = ""
    End With
    ActiveWorkbook.Connections("bd_teste3").Refresh
    With Selection.ListObject.QueryTable
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
    End With
End Sub
#642
tente com essa linha assim:
Código: Selecionar todos
"SELECT [PERSONAGEM], [LOCAL DO ESTOQUE], [MODELO], [VERSÃO] FROM [tb_teste] WHERE [MODELO] = '" & VALOR & "'"
#649
Sim, estava travando nesta msg. apaguei algumas coisas no final do codigo e a macro terminou funcionando normalmente(pelo menos até agora, não posso continuar os testes agora mas amanhã estou de volta).

até então o codigo está assim:
Código: Selecionar todos
Sub Macro1()
'
' Macro1 Macro
'
' Atalho do teclado: Ctrl+q
'
    Dim VALOR As Integer
    VALOR = Range("f5").Value
    
    Range("Tabela_bd_teste3.accdb[#All]").Select
    With ActiveWorkbook.Connections("bd_teste3").OLEDBConnection
        .BackgroundQuery = True
        .CommandText = Array( _
        "SELECT [PERSONAGEM], [LOCAL DO ESTOQUE], [MODELO], [VERSÃO] FROM [tb_teste] WHERE [MODELO] = '" & VALOR & "'" _
        )
        .CommandType = xlCmdSql
        .Connection = Array( _
        "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\lmendes\Desktop\bd_teste3.accdb;Mode=Share Deny Write;Exten" _
        , _
        "ded Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mod" _
        , _
        "e=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 R" _
        , "eplica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False" _
        )
        .RefreshOnFileOpen = False
        .SavePassword = False
        .SourceConnectionFile = ""
        .SourceDataFile = "C:\Users\lmendes\Desktop\bd_teste3.accdb"
        .ServerCredentialsMethod = xlCredentialsMethodIntegrated
        .AlwaysUseConnectionFile = False
        ''.ServerFillColor = False
        ''.ServerFontStyle = False
        ''.ServerNumberFormat = False
        ''.ServerTextColor = False
    End With
    With ActiveWorkbook.Connections("bd_teste3")
        .Name = "bd_teste3"
        .Description = ""
    End With
    ActiveWorkbook.Connections("bd_teste3").Refresh
    
    End Sub
Mais uma vez obrigado pela força! amanhã vou realizar uns testes finais para vir aqui fechar o topico como resolvido.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord