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]Limite de Compra

    avatar
    fabioavila
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 242
    Registrado : 22/03/2011

    [Resolvido]Limite de Compra Empty [Resolvido]Limite de Compra

    Mensagem  fabioavila 18/2/2021, 02:27

    Ola amigos,

    Estou tentando colocar uma regra para quando o valor da compra for maior que o Limite de compra do Cliente ele dar uma Mensagem na tela , porem não estou conseguindo.

    Segue o codigo que estou usando, porém não me retorna nada :

    Código:
    Dim db As DAO.Database
    Dim rst As DAO.Recordset


    Set db = CurrentDb
    'Abre a tabela e seleciomna o cliente
    Set rst = db.OpenRecordset("Select * from tbl_clientes where strNome ='" & Me.Matricula & "'")
    'Verifica se tem saldo antes de fazer a venda
    If rst!Limite >= Me.txttotal Then
    'se tiver saldo retira o valor da venda
      rst.Edit
      rst!Limite = rst!Limite - Me.txttotal.Value
     
      rst.UPDATE
      'se não emite mensagem
      Else
      MsgBox ("Venda acima do limite"), vbCritical, "Sem credito para comprar"
      'desfaz a venda
    Me.Undo
        End If
    rst.Close: Set rst = Nothing
    db.Close: Set db = Nothing

    End Sub
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  Noobezinho 18/2/2021, 11:57

    Olá Fabio

    Isso está correto?

    OpenRecordset("Select * from tbl_clientes where strNome ='" & Me.Matricula & "'")

    Creio que não!!

    { }'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1714
    Registrado : 23/01/2018

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  crysostomo 18/2/2021, 14:12

    Bom dia, amigo não mexo muito com rst mexo muito com DLookup, mas essa lógica ai acho que não pega, pois ela só vai atrás do campo nome.
    Tem que verificar os 2 campos  a matrícula e o limite.
     Se o jão tem saldo x


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  Noobezinho 18/2/2021, 14:24

    É isso mesmo Crysostomo

    Quanto a não mexer com rst (recordset) via VBA, sugiro que estude, é de entendimento fácil.
    E é uma mão na roda para manipular registros das tabelas( ou consultas).


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    crysostomo gosta desta mensagem

    avatar
    fabioavila
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 242
    Registrado : 22/03/2011

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  fabioavila 19/2/2021, 01:05

    Ola Noobezinho

    Na verdade eu peguei aki no forum esse código e estou tentando adaptar pra mim, poderia dar uma ajuda ?

    Abraços
    avatar
    fabioavila
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 242
    Registrado : 22/03/2011

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  fabioavila 19/2/2021, 02:30

    Havia um erro n alinha abaixo e fiz a correção

    OpenRecordset("Select * from tbl_clientes where strNome ='" & Me.Matricula & "'")


    Código:

    Set rst = db.OpenRecordset("Select * from Clientes where Nome ='" & Me.CLIENTE & "'")


    Porém ele da dando erro aki: NENHUM REGISTRO ATUAL.


    If rst!Limite >= Me.txttotal Then


    Att
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  Noobezinho 19/2/2021, 09:53

    Fabio

    Cole os campos e o tipo de dados de cada, aqui pra vermos, pf.


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1714
    Registrado : 23/01/2018

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  crysostomo 19/2/2021, 11:43

    Bom dia galera, como vai?
    cole a parte do bd aqui, pois não estou entendendo a lógica, como que ele vai ver se o cliente A tem o saldo X.
     
    O que estou entendendo é que o recordset vai verificar somente o cliente  e não se o saldo que ele tem.
    sendo que o saldo já é o limite do cliente.

    @Noobezinho, terminando de fazer a documentação de um projeto vou começar ver e praticar o recordset.


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 878
    Registrado : 11/11/2009

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  scandinavo 19/2/2021, 13:40

    Agora que vi estes código eu disponibilizei

    Veja um exemplo

    Crisstomo

    (pois não estou entendendo a lógica, como que ele vai ver se o cliente A tem o saldo X.)

    o código não vai mais ate a tabela porque já carregou todas as informações do registro
    Esta linha faz a verificação
    If rst!Limite >= Me.txttotal Then

    Limite de credito e assim que for pagando as parcelas o saldo vai sendo alterado.



    Disponibiliza o projeto
    Anexos
    [Resolvido]Limite de Compra AttachmentLimiteCerdito.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 5 vez(es)
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 878
    Registrado : 11/11/2009

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  scandinavo 19/2/2021, 14:05

    Consegui replicar o erro aqui

    Porém ele da dando erro aki: NENHUM REGISTRO ATUAL.

    If rst!Limite >= Me.txttotal Then

    você esta digitando o valor a pagar e o sistema não encontra o cliente.

    ou seja a alguma coisa de errado com os nomes do seu formulário com o código VBA
    avatar
    fabioavila
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 242
    Registrado : 22/03/2011

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  fabioavila 20/2/2021, 03:57

    Ola amigos,

    segue o bd,

    https://cutt.ly/jlt4C6u


    Att
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4121
    Registrado : 29/06/2012

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  Noobezinho 20/2/2021, 09:36

    O link não está funfando, Fabio


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 878
    Registrado : 11/11/2009

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  scandinavo 20/2/2021, 13:38

    1 você esta usando a fonte de controle como referencia no código VBA e não o nome do campo.
    2 coloquei o id do cliente  como chave primaria
    3 para melhor entendimento dos nomes de campos sempre renomeie as cmbox para melhor identificação

    Código:
    Dim db As DAO.Database
    Dim rst As DAO.Recordset


    Set db = CurrentDb
    'Abre a tabela e seleciomna o cliente
    Set rst = db.OpenRecordset("Select * from Clientes where ID =" & Me.Combina??o187.Column(0) & "")
    'Verifica se tem saldo antes de fazer a venda
    If rst!LIMITE > Me.txttotal Then
    'se tiver saldo retira o valor da venda
      rst.Edit
      rst!LIMITE = rst!LIMITE - Me.txttotal.Value
     
      rst.UPDATE
      'se n?o emite mensagem
      Else
      MsgBox ("Venda acima do limite"), vbCritical, "Sem credito para comprar"
      'desfaz a venda
    Me.Undo
        End If
    rst.Close: Set rst = Nothing
    db.Close: Set db = Nothing

    Anexos
    [Resolvido]Limite de Compra Attachmentlimite.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (106 Kb) Baixado 13 vez(es)
    avatar
    fabioavila
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 242
    Registrado : 22/03/2011

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  fabioavila 21/2/2021, 00:25

    Ola scandinavo

    Agora funcionando , só mais uma dúvida tem como eu mudar a Mensagem para que eu posso escolhe se libero a venda mesmo com o LIMITE SIM ou NAO ?

    Obrigado
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 878
    Registrado : 11/11/2009

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  scandinavo 22/2/2021, 11:58

    Assim

    Código:
    Dim db As DAO.Database
    Dim rst As DAO.Recordset


    Set db = CurrentDb
    'Abre a tabela e seleciomna o cliente
    Set rst = db.OpenRecordset("Select * from Clientes where ID =" & Me.Combina??o187.Column(0) & "")
    'Verifica se tem saldo antes de fazer a venda
    If rst!Limite >= Me.txttotal Then
    'se tiver saldo retira o valor da venda
      rst.Edit
      rst!Limite = rst!Limite - Me.txttotal.Value
     
      rst.UPDATE
      'se n?o emite mensagem
      Else
      'pergunta se deseja continuar com a venda se sim
     If MsgBox("Venda acima do limite. Continuar com a venda?", vbQuestion + vbYesNo, "Sem credito") = vbYes Then
     'ficara com saldo negativo
      rst.Edit
      rst!Limite = rst!Limite - Me.txttotal.Value
      rst.UPDATE
     Else
      'desfaz a venda
    DoCmd.SetWarnings False 'bloque aviso
    DoCmd.RunCommand acCmdDeleteRecord
    DoCmd.SetWarnings True 'libera aviso
        End If
        End If
       
    rst.Close: Set rst = Nothing
    db.Close: Set db = Nothing

    fabioavila gosta desta mensagem

    avatar
    fabioavila
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 242
    Registrado : 22/03/2011

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  fabioavila 24/2/2021, 01:24

    scandinavo

    Ele está dando a msg tendo ou não limite, tem como mostra somente para o cliente que não tem Limite.

    Obrigado
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 878
    Registrado : 11/11/2009

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  scandinavo 24/2/2021, 13:50

    Fiz o teste aqui e esta normal.


    Tem certeza que os clientes tem limites disponíveis.


    Se alguém mais quiser fazer o teste fiquem a vontade.
    avatar
    fabioavila
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 242
    Registrado : 22/03/2011

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  fabioavila 24/2/2021, 15:38

    Ola

    Foi mal não percebi que a medida que esta vendendo ele da dando diminuindo o saldo dele , ta funcionando sim ok

    Obrigado
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 878
    Registrado : 11/11/2009

    [Resolvido]Limite de Compra Empty Re: [Resolvido]Limite de Compra

    Mensagem  scandinavo 26/2/2021, 12:05

    Valeu.

    Lembre que no exemplo la em cima tem o código que retorna o credito toda vez que o cliente fizer um pagamento.

      Data/hora atual: 12/6/2021, 23:56