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


    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    avatar
    Ghunnar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 10/02/2011

    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Ghunnar 26/5/2012, 06:07

    Boa Noite,

    Como posso efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro", utilizando somente um botão especifico que indique o tipo de consulta pretendida, por exemplo: quero consultar os documentos pendentes dos Clientes descritos em formato texto, no Campo Pendências, da Tabela de Cadastro, utilizando um FORM, isto é, quando clicar em dos botões nesse FORM criados para consulta mostrasse o Cliente e suas Pendências, se o campo de Pendências não estiver vazio.

    Obrigado.

    Ghunnar
    avatar
    Convidado
    Convidado


    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Convidado 26/5/2012, 12:11

    Boas Ghunnar...

    1 - Crie um form
    2 - Aplique nele uma list Box e a nemeeie de LstPend
    3 - Crie uma caixa de opções com 4 botões e nomeeie de OpcaoFiltro
    4 - Crie um botão e nomeeie de btnPendencias

    Em eventos ao clicar do botão:

    Private Sub btnPendencias_Click()
    Dim Status, StrSQL As String

    Select Case OpcaoFiltro
    Case 1
    Status = "Is Not Null"
    Case 2
    Status = "Is Null"
    Case 3
    Status = "yyy"
    Case 4
    Status = "Outro"
    Case Else
    Status = "Caso Contrario"
    End Select
    StrSQL = "SELECT tblExemplo.[ID_Exemplo], tblExemplo.[Cliente], tblExemplo.[Pendencias]" _
    & " FROM tblExemplo WHERE Pendencias " & Status & ""
    MsgBox StrSQL

    Me.LstPend.RowSource = StrSQL

    End Sub


    Então ai podes aplicar 5 tipos de filtros (1 para cada botão de opção) e um para um caso não determinado
    Veras que ao clique do botão de opção o código remete para o respectivo case do botão
    Carregando a variável Status com o filtro, e em seguida carregando a SQL + Filtro em uma váriável StrSQL.

    Depois carrego o RowSource da lista com a SQL.


    Cumprimentos.


    Última edição por Harysohn em 26/5/2012, 12:27, editado 1 vez(es) (Motivo da edição : Corrigir Codigo)
    avatar
    Ghunnar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 10/02/2011

    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Ghunnar 26/5/2012, 14:57

    Harysohn,

    Bom dia.
    Fiz o que você me orientou e surgiu o seguinte erro: "Erro de Compilação: Método ou membro de dados não encontrado"
    Me.LstPend.RowSource = StrSQL assinalando o RowSource.
    Algumas perguntas para você me ajudar:

    O FORM criado tem que ter Fonte de Registro no controle Dados?
    Os campos neste FORM que identificará o Cliente, Telefone, etc tem que estar "Não Acoplado" ou vinculado à uma Tabela?
    Com estes comandos em SQL não vou utilizar a Consulta que criei?
    Em eventos posso utilizar o "Ao apertar mouse" faz o mesmo efeito?

    Veja depois que alterei:

    Private Sub btnPendencias_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim Status, StrSQL As String

    Select Case OpcaoFiltro
    Case 1
    Status = "Is Not Null"
    Case 2
    Status = "Is Null"
    Case 3
    Status = "yyy"
    Case 4
    Status = "Outro"
    Case Else
    Status = "Caso Contrario"
    End Select
    StrSQL = "SELECT tblCadastro.[CódigoCadastro], tblCadastro.[Comprador], tblCadastro.[Pendências]" _
    & " FROM tblCadastro WHERE Pendências " & Status & ""
    MsgBox StrSQL

    Me.LstPend.RowSource = StrSQL

    End Sub

    Att.

    Ghunnar

    avatar
    Convidado
    Convidado


    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Convidado 26/5/2012, 15:16

    1 - Neste código eu utiizo consulta, porem em VBA, não há necessidade de consulta gráfica
    2 - Voce colocou a lista porem não renomeeou ela no form, por isso o código não está encontrando o objeto
    3 - Ai voce tem 4 opcoes de filtros, tens que colocar o critério que deseja
    4 - O form não precisa ter fonte de registro
    5 - Caso o seu form tenha fonte de registro (Ex.: TblClientes) e nele tiver uma caixa texto com o nome do cliente,
    Voce pode aplicar uma SQL com o filtro remetendo a esta caixa texto, assim:

    Dim Status, StrSQL As String

    Select Case OpcaoFiltro
    Case 1
    Status = "Is Not Null"
    StrSQL = "SELECT tblCadastro.[CódigoCadastro], tblCadastro.[Comprador], tblCadastro.[Pendências]" _
    & " FROM tblCadastro WHERE Pendências " & Status & ""
    Case 2
    Status = "Is Null"
    Case 3
    Status = "Like [Forms]![FrmCadProd].[txtNomeCliente]"
    StrSQL = "SELECT tblCadastro.[CódigoCadastro], tblCadastro.[Comprador], tblCadastro.[Pendências]" _
    & " FROM tblCadastro WHERE Comprador " & Status & ""

    Case 4
    Status = "Outro"
    Case Else
    Status = "Caso Contrario"
    End Select


    Basta usar a imaginação.


    https://dl.dropbox.com/u/26441349/Ghunnar_26_05.rar

    Cumprimentos.
    avatar
    Ghunnar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 10/02/2011

    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Ghunnar 26/5/2012, 17:44

    Harysohn,

    muito bom! legal, funcionou...Nota Dez! Obrigado.

    Só mais uma pequena "exploração": se eu quisesse, no form, deixar um campo em branco para que o usuário digitasse o código de um cliente e aparacesse o nome em campo, e as pendências em outro? Pois as Pendências estão no formato "Memorando" para caber mais informações.Esta seria uma informação de forma individual e com mais detalhes sobre as pendências. Você pode me ajudar?

    Obrigado mais uma vez.

    Ghunnar

    avatar
    Convidado
    Convidado


    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Convidado 26/5/2012, 17:53

    Ja pensou que quando tiver muitos clientes... terá que ter uma lista em papel para o usuario saber o codio do mesmo...

    Ai de que serviria um sistema senão para agilizar esse tipo de consulta?

    Crie uma combo e coloque na origem da linha da mesma os campos que desejar da tblClientes.

    se 3 campos, nas propriedades: 3 colunas, como geralmente a de numero 0 é o campo ID,
    no tamanho das colunas 0cm;xcm;xcm (onde x será mais ou menos o tamanho da informação)

    pode colocar nela mais uma coluna a do campo memorando e a deixe oculta assim:
    0cm;xcm;xcm;0cm

    E no evento após atualizar da combo:

    Me.NomedoSeuCampo = ME.NomeSuaCombo.Column(x) onde x é o numero da coluna da informação.


    Cumprimentos.
    avatar
    Ghunnar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 10/02/2011

    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Ghunnar 26/5/2012, 18:37

    Harysohn,

    vou seguir sua orientação.
    Mais uma vez obrigado.
    Espero poder contar com sua ajuda outras vezes pois com certeza haverá muito o que aprender.

    Gde Abraço.

    Ghunnar.
    avatar
    Convidado
    Convidado


    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Convidado 26/5/2012, 18:55

    o Fórum agradece o retorno.

    Conteúdo patrocinado


    [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"? Empty Re: [Resolvido]Como efetuar uma consulta sem precisar digitar o critério através da caixa "Inserir valor do parâmetro"?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/5/2024, 00:14