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]Impedir o mesmo registro em subformulário

    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 21:08

    Boa noite a todos!
    Gostaria da ajuda dos amigos...
    Estou com o seguinte problema:
    Tenho um formulario princial e um subformulário

    O formulário principal é para registra a venda e o subformulário os ítens da venda.

    Isso funciona direitinho...
    O que ocorre é que em um venda existe a possibilidae de escolher o mesmo produto várias vezes...
    Como inibir isso?
    Grato pela atenção...
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 21:56

    Olá marcos

    Mas como você está vendendo, não pode vender mais de um item?
    Explique melhor, por favor.
    Abraços
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 22:08

    Sim posso vender mais um ítem...
    Mas na linha que escolho o ítem, também a um campo que que informa a quantidade...
    veja o exemplo:

    -------------------------------------------------------

    Produto ! Quantidade
    -------------------------------------------------------
    Arroz ! 5
    -------------------------------------------------------
    Arroz ! 3
    -------------------------------------------------------

    Viu? Para a mesma venda há duas vezes o mesmo produto... O que eu quero é impedir isso...
    Ele deve aceitar apenas se for produto diferente, ja que quando seleciono o produto, informo a quantidade.
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 22:18

    Já suspeitava disso, mas queria ter certeza

    Abaixo o código que uso, adapte:

    Código:


    Private Sub IDProduto_AfterUpdate()
    Dim curCusto As Currency
    Dim rsf As Recordset, frm As Form
    Set frm = Me
    Set rsf = Me.RecordsetClone
    'Este código soma a quantidade de itens de um mesmo produto em uma linha,
    'evitando ter mais de uma linha para um mesmo produto.
    If Me.IDProduto <> 0 Then
      rsf.FindFirst "[IDProduto]= '" & Me.IDProduto & "'"
      If Not rsf.NoMatch Then
          frm.Undo
          frm.Bookmark = rsf.Bookmark
          rsf.Edit
          rsf!Qtdade = rsf!Qtdade + 1
          rsf.Update
      End If
    End If

    Abraços
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 22:53

    Ta dando tipos incopatíveis...
    O que fazer?
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 23:16

    Verifique onde está dando tipos incompatíveis

    Provavelmente no código exemplo que te passei, os campos/controles são de um tipo e os do teu aplicativo são de outro tipo.
    Depure o código usando o ponto de interrupção.
    Nesta linha:

    rsf.FindFirst "[IDProduto]= '" & Me.IDProduto & "'"

    Perceba que o controle IDproduto é string, provavelmente o do teu aplicativo é número, então terá que retirar as aspas simples (') do código:

    rsf.FindFirst "[IDProduto]= " & Me.IDProduto

    Aguardo resposta.
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 23:47

    Retirei as aspas simples e agora funcinou causando um erro 3265 (ítem não encontrado nesta coleção)
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 9/2/2012, 23:49

    Dái ele depura para:

    rsf!Qtdade = rsf!Qtdade + 1
    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 10/2/2012, 00:03

    Claro Mano

    Coloque o nome do controle que tem a Quantidade de produto no lugar
    de Qtdade.

    rsf!NOMEdoTeuControlequeTemAQuantpdade = rsf!NOMEdoTeuControlequeTemAQuantpdade + 1


    avatar
    Convidad
    Convidado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Convidad 10/2/2012, 00:12

    Muito obrigado! era isso mesmo!!
    Forte abraça!

    Conteúdo patrocinado


    [Resolvido]Impedir o mesmo registro em subformulário Empty Re: [Resolvido]Impedir o mesmo registro em subformulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/10/2024, 02:26