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


4 participantes

    Váriavel recebe resultado de Código SQL

    avatar
    claudiaeboli
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/10/2013

    Váriavel recebe resultado de Código SQL Empty Váriavel recebe resultado de Código SQL

    Mensagem  claudiaeboli 6/10/2013, 03:10

    Boa Noite,

    como posso fazer para uma variável receber um resultado de um SELECT?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  Avelino Sampaio 6/10/2013, 09:29

    Olá!

    Vc pode usar o método GetRows do recordset para isso. Veja um exemplo neste meu tópico

    http://maximoaccess.forumeiros.com/t10235-saiu-a-nova-versao-do-maestro

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  Alexandre Neves 6/10/2013, 09:30

    Bom dia, claudia
    dim VarX as ..., Rst as dao.recordset
    set rst=currentdb.openrecordset("SELECT ...")
    VarX=rst(0)
    set rst=nothing


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    claudiaeboli
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/10/2013

    Váriavel recebe resultado de Código SQL Empty Ainda não deu certo....

    Mensagem  claudiaeboli 6/10/2013, 18:22

    Oi gente grata pelo auxílio... Mas ainda não deu certo. Vejam o que estou querendo:

    Estou fazendo um controle de estoque, e tenho que verificar quanto tem no estoque de determinado produto, ver se a quantidade solicitada é igual ou menor a quantidade disponível e assim subtrair do estoque o produto comprado. Isso de cada um dos produtos escolhidos na venda assim que clicarmos em salvar.
    Veja o meu código.

    Código:
    Dim QUANTIDADE As Integer, Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT quant_produto FROM tblProduto WHERE txtProduto = tblProduto.nome_produto")
    QUANTIDADE = Rst(0)
    Set Rst = Nothing


    If QUANTIDADE <= Form_formItem.txtQuantidade Then
        SQLL = "UPDATE tblProduto SET quant_produto=QUANTIDADE-txtQuantidade"
        DoCmd.RunSQL SQLL
    Else
        MsgBox "Quantidade não disponível no Estoque!", vbCritical, QUANTIDADE
    End If
    Esta dando erro nesta linha:
    Set Rst = CurrentDb.OpenRecordset("SELECT quant_produto FROM tblProduto WHERE txtProduto = tblProduto.nome_produto")

    o que faço de errado.

    Desde já agradeço o auxílio de vocês.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  Avelino Sampaio 6/10/2013, 18:34

    Utilize a função Dlookup() para buscar a quantidade em estoque


    dim filtro as string
    filtro = "nome_Produto ='" & me!txtproduto & "'"
    If dlookup("quant_produto","tblProduto", filtro) >= me!txQuantidade then
       DoCmd.RunSQL "UPDATE tblProduto SET quant_produto=quant_produto - " & me!txtQuantidade & " WHERE " & filtro & ";"
    else
       MsgBox "Quantidade não disponível no Estoque!", vbCritical, QUANTIDADE
    end if


    Mais sobre filtragens neste meu artigo:

    http://www.usandoaccess.com.br/tutoriais/tuto35.asp?id=1#inicio

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    claudiaeboli
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/10/2013

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  claudiaeboli 6/10/2013, 19:10

    ...


    Última edição por claudiaeboli em 6/10/2013, 19:39, editado 1 vez(es)
    avatar
    claudiaeboli
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/10/2013

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  claudiaeboli 6/10/2013, 19:19

    Acho que descobri o problema. o Problema é que esse txtProduto, assim como o txtQuantidade estão em um subformulário de onde o código esta (dentro do botão salvar do formulário)

    Tenho esse cógido:
    Código:
    Dim filtro As String
    filtro = "tblProduto.nome_Produto ='" & Form_formItem.txtProduto & "'"

    If DLookup("quant_produto", "tblProduto", filtro) >= Form_formItem.txtQuantidade Then
      DoCmd.RunSQL "UPDATE tblProduto SET quant_produto=quant_produto - " & Form_formItem.txtQuantidade & " WHERE " & filtro & ";"
    Else
      MsgBox "Quantidade não disponível no Estoque!", vbCritical, QUANTIDADE
    End If
    Não está dando erro nenhum na depuração, porém sempre diz que a Quantidade não está disponível mesmo com a quantidade disponível...

    Sempre entra na Else.

    O que faço?
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  Cláudio Más 6/10/2013, 21:29

    Olá,
    Insira a linha abaixo:

    MsgBox filtro

    logo após a linha:

    filtro = "tblProduto.nome_Produto ='" & Form_formItem.txtProduto & "'"

    Qual é a mensagem que aparece ao clicar o botão para salvar?
    avatar
    claudiaeboli
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/10/2013

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  claudiaeboli 6/10/2013, 21:37

    Aparece:

    tblProduto.nome_produto='2'

    Então mudei de:
    Código:
    filtro = "tblProduto.nome_Produto ='" & Form_formItem.txtProduto & "'"
    para
    Código:
    filtro = "tblProduto.id_Produto ='" & Form_formItem.txtProduto & "'"
    Que é o que está puxando. Daí da o seguinte erro:
    Tipo de dados incompatível na expressão de critério

    Erro nessa linha:
    Código:
    If DLookup("quant_produto", "tblProduto", filtro) >= Form_formItem.txtQuantidade Then


    Última edição por claudiaeboli em 6/10/2013, 21:45, editado 1 vez(es)
    avatar
    claudiaeboli
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/10/2013

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  claudiaeboli 6/10/2013, 21:46

    Mudei de:
    Código:
    filtro = "tblProduto.nome_Produto ='" & Form_formItem.txtProduto & "'"
    para
    Código:
    filtro = "tblProduto.id_Produto ='" & Form_formItem.txtProduto & "'"
    Que é o que está puxando.

    Daí da o seguinte erro:
    Tipo de dados incompatível na expressão de critério

    Erro nessa linha:
    Código:
    If DLookup("quant_produto", "tblProduto", filtro) >= Form_formItem.txtQuantidade Then
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  Cláudio Más 6/10/2013, 21:47

    Tente assim:

    filtro = "tblProduto.id_Produto =" & Form_formItem.txtProduto

    Conteúdo patrocinado


    Váriavel recebe resultado de Código SQL Empty Re: Váriavel recebe resultado de Código SQL

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 20:06