Pessoal é o seguinte, tenho um comando CREATE TABLE que cria uma tabela, cria a tabela com um nome variável de um INPUTBOX, entao dependendo do valor do INPUTBOX a tabela terá um nome diferente, mas sua estrutura será sempre a mesma. Até aí ok, o problema é como fazer pra criar um consulta simples que exiba os dados dessa tabela sendo que o nome dela varia! Alguem saberia como fazer isso?
3 participantes
[Resolvido]Consuta que recebe dados de uma tabela que varia o nome
asimoes- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 61
Registrado : 30/04/2013
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
Uma pergunta: por que criar tabelas diferentes com a mesma estrutura?
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
Avelino Sampaio- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3900
Registrado : 04/04/2010
Olá!
Utilize uma variável para armazenar o nome da tabela. Algo assim:
Aguardamos
Utilize uma variável para armazenar o nome da tabela. Algo assim:
dim strNomeTabela as string
dim strSql as string
dim qry as QueryDef
strNomeTabela = inputbox("Informe o nome da tabela")
currentdb.execute "CREATE TABLE " & strNometabela & " (Campo1, campo2, ...)"
strSql = " SELECT campo1, campo2 FROM " & strNometabela & " WHERE campo3 > 100;"
set qry = Currentdb.CreateQueryDef("NomeDaNovaConsulta",strSql)
Docmd.OpenQuery "NomeDaNovaConsulta"
set qry = nothing
Aguardamos
.................................................................................
Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces
Clique AQUI e analise o custo beneficio do material oferecido.
asimoes- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 61
Registrado : 30/04/2013
ola!
Bom Criquio é o seguinte na empresa em que trabalho estou desenvolvendo um aplicação em que vario planejadores trabalharão ao mesmo tempo em rede, eles geram informações do sistema corporativo da empresa e ele tratam essas informações numa planilha de excel, apos tradadas esse sistema que estou desenvolvendo ira importa-las para uma tabela onde o sistema fara vários processo que incluem concatenação, soma de qtde com tabela de estoque... e no final depois de tudo tratado essas informações serão inseridas em uma tabela variável criada conforme o plan e em sequência abria a consulta criada para q planejador analise se está tudo certo, onde talvez tenha necessidade de alteração de dados através dessa consulta, tipo inserção de linha, exclusão de linha, alteração de linha (campo qtde), e pos tudo verificado eles fecharam a consulta onde o sistema vai gerar um arquivo .xls com as informações alteradas, inserida uma cópia em uma tabela histórico e será excluída a tabela e a consulta variável. Então como processos serão feito varias vezes ao mesmo tempo por mais de 10 planejadores simultaneamente, terei q criar a tabela e consulta variável pra cada plan. oq vc acha?
Avelino, seu código funcionou perfeitamente! só fiz umas adaptações conforme abaixo:
Agora eu pergunto como eu poderia executar uma ação ao fechar a consulta criada no código acima? ex: ao fechar a consulta criada pelo código acima seja exibido um msgbox com o botão ok/cancel confirmando ou não a exportação dos dados para excel e apos confirmar gere o arquivo .xls com os dados da consulta analisada e envie as informações para o a tela histórico depois exclua a consulta e a tabela criada!
como executo essas ações apos clicar no botão fecha da consulta?
desde já muito obrigado a ajuda!
Bom Criquio é o seguinte na empresa em que trabalho estou desenvolvendo um aplicação em que vario planejadores trabalharão ao mesmo tempo em rede, eles geram informações do sistema corporativo da empresa e ele tratam essas informações numa planilha de excel, apos tradadas esse sistema que estou desenvolvendo ira importa-las para uma tabela onde o sistema fara vários processo que incluem concatenação, soma de qtde com tabela de estoque... e no final depois de tudo tratado essas informações serão inseridas em uma tabela variável criada conforme o plan e em sequência abria a consulta criada para q planejador analise se está tudo certo, onde talvez tenha necessidade de alteração de dados através dessa consulta, tipo inserção de linha, exclusão de linha, alteração de linha (campo qtde), e pos tudo verificado eles fecharam a consulta onde o sistema vai gerar um arquivo .xls com as informações alteradas, inserida uma cópia em uma tabela histórico e será excluída a tabela e a consulta variável. Então como processos serão feito varias vezes ao mesmo tempo por mais de 10 planejadores simultaneamente, terei q criar a tabela e consulta variável pra cada plan. oq vc acha?
Avelino, seu código funcionou perfeitamente! só fiz umas adaptações conforme abaixo:
- Código:
Dim strNomeTabela As String
Dim strSql As String
Dim qry As QueryDef
strNomeTabela = InputBox("Informe o nome da tabela")
plan = Replace(strNomeTabela, " ", "")
CurrentDb.Execute "CREATE TABLE " & plan & " (Campo1 Text, campo2 Text, campo3 Text)"
strSql = " SELECT * FROM " & plan & ";"
Set qry = CurrentDb.CreateQueryDef("Consulta-" & plan, strSql)
DoCmd.OpenQuery "Consulta-" & plan
Set qry = Nothing
Agora eu pergunto como eu poderia executar uma ação ao fechar a consulta criada no código acima? ex: ao fechar a consulta criada pelo código acima seja exibido um msgbox com o botão ok/cancel confirmando ou não a exportação dos dados para excel e apos confirmar gere o arquivo .xls com os dados da consulta analisada e envie as informações para o a tela histórico depois exclua a consulta e a tabela criada!
como executo essas ações apos clicar no botão fecha da consulta?
desde já muito obrigado a ajuda!
.................................................................................
Não tenho medo de compartilhar conhecimento.
Essa é a unica coisa que as pessoas não poderão roubar de mim, pois ninguém nunca sabe igual, mesmo que saiba a mesma coisa.
asimoes- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 61
Registrado : 30/04/2013
Não teve jeito, tive q criar um form e incorporar a consulta nele!
.................................................................................
Não tenho medo de compartilhar conhecimento.
Essa é a unica coisa que as pessoas não poderão roubar de mim, pois ninguém nunca sabe igual, mesmo que saiba a mesma coisa.
Conteúdo patrocinado
» [Resolvido]Apagar Dados Em Vária Tabelas
» juntar varia tabela
» [Resolvido]Tela de pedidos: subformulário recebe dados de formulário, com base na leitura do código de barras
» [Resolvido]Pegar o nome completo e colocar apenas o nome e o último nome juntos (sem o nome do meio)
» Copiar todos os dados tabela A pra Tabela B e volta dados específicos!(Resolvido)
» juntar varia tabela
» [Resolvido]Tela de pedidos: subformulário recebe dados de formulário, com base na leitura do código de barras
» [Resolvido]Pegar o nome completo e colocar apenas o nome e o último nome juntos (sem o nome do meio)
» Copiar todos os dados tabela A pra Tabela B e volta dados específicos!(Resolvido)