MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Criar uma consulta através de VBA

    avatar
    jadsln
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 19/05/2011

    [Resolvido]Criar uma consulta através de VBA Empty [Resolvido]Criar uma consulta através de VBA

    Mensagem  jadsln 26/7/2011, 17:04

    Oi gente... é o seguinte:

    Eu preciso fazer uma consulta através de código VBA.

    Eu tenho uma tabela de resultados de testes realizados em poços de extração de água. Esses testes são divididos em uma infinidade de compostos orgânicos e inorgânicos.

    A tabela possui como campos (ID, POÇO, COMPOSTO, VALOR, CAMPANHA)

    Dessa forma a tabela possui vários registros tipo:
    | 1 | PM-47/01 | Benzeno | 3,21 | 2011/1 |
    | 2 | PM-47/01 | Tolueno | 0,75 | 2011/1 |
    | 3 | PM-47/02 | Xilenos | 1,56 | 2011/1 |
    .
    .
    .


    Eu preciso de um código que ao ser acionado me pergunte quantos compostos vão ser analisados. A partir desse número de compostos ele deve esperar a entrada de tais compostos (de preferência em caixas de opção ou seleção) em número específico determinado na pergunta anterior. A partir daí os compostos selecionados devem ser somados (todos os compostos selecionados separados por poço e campanha) multiplicados por 100 e divididos pela soma total dos compostos (todos os compostos da tabela, não apenas os selecionados, separados por poço e campanha), calculando assim a proporção, em percentual, dos compostos selecionados no total analisado.

    O resultado deverá ser exibido em formato tabela com os campos (POÇO, COMPOSTO, PROPORÇÃO, CAMPANHA)

    Desde já agradeço.
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 26/7/2011, 18:36

    Na realidade tais compostos ja estarão cadastrados na tabela Certo?

    Então se sim.. eles seriam como filtros para esta tabela.. exibindo apenas os registros para os comppostos selecionados..

    é isso?
    avatar
    jadsln
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 19/05/2011

    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  jadsln 27/7/2011, 08:31

    Sim Harysohn. Os compostos já estarão numa tabela chamada "RES_AN_PMs".

    E sim... eles seriam como filtros sim. Só que filtros interativos, pois teriam que perguntar o número de compostos e esperar a entrada dos compostos a serem filtrados.

    Só que todos os compostos filtrados de cada poço deverão ser somados e multiplicados por 100 e divididos pela soma de todos os compostos (filtrados e não filtrados) de cada poço. Para obter a proporção em percentual dos compostos filtrados em relação ao total.

    E a saída deve ser uma tabela com POÇO PROPORÇÃO CAMPANHA

    Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 27/7/2011, 11:24

    E porque ao inves da pergunta.. Chebok's no form para o usuário selecionar quais compostos e ai depois executar a criação da consulta com a devida filtragem... Creio que seria mais viável desta forma...
    avatar
    jadsln
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 19/05/2011

    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  jadsln 27/7/2011, 12:14

    Pois é... Harysohn, eu pensei nisso depois do seu comentário anterior.

    Só que não estou conseguindo realizar a consulta.

    Tentei com o seguinte código:

    DoCmd.RunSQL "Código"

    Aí deu o seguinte erro: "Uma ação executarSQL requer um argumento consistindo de uma instrução SQL."

    Depois tentei esse:

    Dim db AS Database, rs AS Recordset
    set db = CurrentDb
    set rs = db.OpenRecordset("Código")


    Aí deu o seguinte erro: "Parâmetros insuficientes. Eram esperados 1.

    Depois tentei esse:

    Dim cn AS New ADOBD.Connection
    Dim rs AS Recordset

    cn.BeginTrans
    SET rs = cn.Execute("Código")
    cn.CommitTrans


    Aí deu o seguinte erro: "Operação não permitida quando o objeto está fechado."


    Não sei como fazer... rs
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 27/7/2011, 12:38

    Ao realizar uma consulta, deves especificar todas as diretrizes da tabela a qual consulta..

    1 - Nome da table
    2 - Nomes dos campos
    3 - Cláusula where, que é onde especifica os filtros de acordo com a chkbox selecionada

    Assim a Consulta em sql listara os campos desejados para a tabela e a clásula where filtrará os registros para os devidos campos...
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 27/7/2011, 12:46

    Seria algo mais ou menos assim:

    Dim StrSQL as String

    strSQL = "SELECT * FROM SuaTabela WHERE SeuCampo = " & Me!SeuCampoNoForm & ";"

    Docmd.RunSQL (StrSQL, false)
    avatar
    jadsln
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 19/05/2011

    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  jadsln 27/7/2011, 17:36

    Harysohn...

    Eu coloquei o seguinte código:

    Dim strSQL As String
    strSQL = "SELECT RES_AN_PMs.POCO, Sum(RES_AN_PMs.VALOR) AS SomaDeVALOR, RES_AN_PMs.CAMP_PGRH FROM RES_AN_PMs GROUP BY RES_AN_PMs.POCO, RES_AN_PMs.CAMP_PGRH;"

    DoCmd.RunSQL (strSQL)


    Aí dá aquele erro: "Uma ação executarSQL requer um argumento consistindo de uma instrução SQL."

    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 27/7/2011, 17:45

    A sua SQL está inconsistente amigão...

    Poste parte do seu BD aqui para que possamos analizar...

    Grato
    avatar
    jadsln
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 19/05/2011

    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  jadsln 28/7/2011, 08:59

    Harysohn o arquivo access é maior do que o permitido aqui. Então eu coloquei ele nesse e-mail:

    problema123@live.com
    senha: 123456

    lá no server hotmail.com

    Assunto: "Banco de Dados - Consulta SQL via VBA"

    Dá uma olhada lá por favor.

    Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 28/7/2011, 11:42

    Baixei mas não consigo abri-lo... Qual versão do access?

    Se for 2010, converta-o em 2007 e envie novamente
    avatar
    jadsln
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 19/05/2011

    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  jadsln 28/7/2011, 14:18

    Eu uso o Access 2007 mas o arquivo está salvo como 2003.

    Tem que segurar a tecla SHIFT (e manter pressionada) antes de dar 2 cliques ou ENTER no arquivo pra que ele abra em modo de edição.

    Tenta ver se é isso.
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 28/7/2011, 14:40

    Bem.. voce não me avisou que o havia compactado... eu estava renomendo para mdb...
    Verei o que posso fazer

    Segue o BD do colega caso alguem queira tambem ajudar-lhe

    http://dl.dropbox.com/u/26441349/Jadsln.Rar
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 28/7/2011, 18:54

    Amigão.. tentei aqui e não obtive sucesso, pedirei ao Amigo Criquio que de uma olhada neste tópico..

    Saudações
    avatar
    Convidado
    Convidado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Convidado 29/7/2011, 14:31

    Jads.. Veja algo que fiz e se lhe atende...

    Escolha um componente e clique no botao...

    Fiz uma listBox onde a sua consulta preenche a listbox.

    http://dl.dropbox.com/u/26441349/Jads_29_07_11.rar

    Saudãções
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  vieirasoft 6/8/2011, 07:48

    Como não retornou, o tópico passa a resolvido. Qualquer coisa reabra, por favor.

    Conteúdo patrocinado


    [Resolvido]Criar uma consulta através de VBA Empty Re: [Resolvido]Criar uma consulta através de VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/5/2024, 16:20