Usuário com melhor resposta
VBA => Instrução SQL em planilha EXCEL

Pergunta
-
Será que alguém consegue me ajudar? Aqui eu tenho várias planilhas formatadas que são preenchidas e têm campos de total nelas.
São umas 60 planilhas... linkei todas elas em uma única planilha referenciando as células e ficou como um banco de dados.
Campos:
Data // País // Cliente // Quantidade // Comentário... etc... (exemplo)
Preciso fazer uma aplicação para automatizar algumas pesquisas nessa planilha... Estou usando Autofiltros com vários critérios pra conseguir filtrar relatórios. Como a estrutura é basicamente a de uma tabela de banco de dados, gostaria de saber se não consigo fazer isso através de comandos SQL.
Tentei linkar a planilha com um banco do Access, e lá fazer as consultas, mas a programação dá um erro pq as planilhas referenciadas estão no SharePoint e quando são linkadas no Access alguns formatos são convertidos. Importar também não funciona pois a atualização desses dados deve ser Online.
Precisava conseguir fazer a filtragem só no Excel mesmo.
Alguém me ajuda?
Respostas
-
Lavitz,
Neste artigo explico como se conectar há uma pasta de trabnlho excel usando ADO.
Rafael Gomes dos Santos Consultor de Informática MCAS - Microsoft Certified Application Specialist rafael.gomes.santos@gmail.com https://sites.google.com/site/pfntec/- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 17:12
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 17:12
Todas as Respostas
-
-
Pode me dar uma ajuda? Como eu faço isso?
Lembrando que o problema está na atualização. Eu tenho uma planilha A (60 planilhas), onde os usuários atualizam dados.
Os dados de todas essas planilhas está referenciado na planilha B (uma única planilha com os campos em formato de Banco de dados).
Ao fazer uma alteração na planilha A, abrindo a B o vínculo é atualizado automáticamente (a referência é feita pelo endereço do site no SharePoint e nome da planilha .xls)
Preciso que, ao abrir o Access, ele atualize os dados que foram modificados nas planilhas "A". O problema é que de cada planilha "A" eu pego vários campos soltos pra organizar e normalizar na planilha B.
Vê se consegue me ajudar... qualquer coisa me passa seu Messenger que a gente conversa melhor.
(Lembrando que todos os arquivos no SharePoint são planilhas .xls do Excel)
Obs.: Se houver uma forma de fazer sem usar o Access é melhor. Senão tudo bem... mas preciso de ajuda quanto à essa atualização. Tentei fazer algo no Access, mas ele sempre dá o erro abaixo quando rodo uma Query:
Numeric Field Overflow.
This error may be caused by a Numeric Field Overflow and only appears if a field in a table is linked to a Windows SharePoint Services site or Btrieve database. In either case, the error occurs when you provide a field value that is invalid for the corresponding field type - for example entering a 10-character string in a field designed to hold only 5-characters.
Entering a shorter string usually corrects the problem. However, if you need to enter a numeric value larger than the field is designed to hold, you must either change the bounds of the numeric field or change its data type (for example changing the data type from an integer to a long). To change a field size in a linked data source, you must open the program that controls the design of the table and make the necessary changes to the field schema. If you do not own the data source you probably cannot change the field schema. After the field size is updated in the linked data source, your Access table will reflect the changes.
Note: You cannot change a linked table schema using Design View from within Access.
Any field in an Access database can trigger a Numeric Field Overflow error if a string is too large for the field. See the help topic "FieldSize Property" in Visual Basic for Applications Help (when run from within Access) for information on which field data types and sizes best suit your needs.
In summary, the main reasons why this error message can appear are:
A numeric value greater than the maximum or minimum value for a numeric field is submitted
The number of characters in a string is longer than the field can hold
A value was submitted to a Choice field (Windows SharePoint Services) that is not in the list of possible choices
-
-
Usando o Microsoft Query funcionou aqui... mas como eu faço pra referenciar os dados a uma planilha que está hospedada em um site (SharePoint)?
No caminho que eu achei aqui ele só mostra os drivers locais, ou uma opção pra mapear uma unidade. Precisava referenciar pelo endereço http...
tem como?
-
-
Pior que tentei... Mas aí ele procura uma tabela mesmo... Abre um Browser e quando eu coloco o endereço do site do Share Point ele abre a janela com a lista de arquivos... (mas acessar mesmo o conteúdo do excell ele não acessa)
Eu percebi que o Microsoft Query encherga a planilha como um banco de dados mesmo... será que não tem como eu me conectar e fazer as querys através de VBA?
Eu não manjo muito... mas já fiz isso no Excell conectando em bancos Acces, Microsoft SQL e Firebird. Mas nunca de Excell pra Excell... Será que vc tem alguma idéia? Ou alguma forma de referenciar isso e manipular os dados usando ADO?
-
-
Lavitz,
Neste artigo explico como se conectar há uma pasta de trabnlho excel usando ADO.
Rafael Gomes dos Santos Consultor de Informática MCAS - Microsoft Certified Application Specialist rafael.gomes.santos@gmail.com https://sites.google.com/site/pfntec/- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 17:12
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 17:12