MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Avisar se não cadastrado

    Compartilhe
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 2/4/2014, 20:59

    Avisar se o produto não está cadastrado

    Estou fazendo desta forma o qual retorna erro

    Private Sub CodBarras_BeforeUpdate(Cancel As Integer)

    If DCount("[códigoproduto]", "tab_Produto", "[CódigoBarras]= " & Me.Códigoproduto & "") = 0 Then

    MsgBox "Produto Não Cadastrado", vbCritical, "Aviso"
    Me.Undo
    Else
    End Sub

    campo no form= codbarras
    campo na tabela =códigobarras
    campo id =códigoproduto
    nome tabela tab_produto

    Onde está o erro?
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 2/4/2014, 21:06

    Olá Agravina,

    O código correto seria com a função DLookup.

    If IsNull(DLookup("[códigoproduto]", "tab_Produto", "[CódigoBarras]= " & Me.Códigoproduto & "") )
    MsgBox "Produto Não Cadastrado", vbCritical, "Aviso"
    Me.Undo
    Else
    End Sub
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 2/4/2014, 21:48

    Erro metado ou menbro não encontrado

    If IsNull(DLookup("[códigoproduto]", "tab_Produto", "[CódigoBarras]= " & Me.Códigoproduto & "") )
    MsgBox "Produto Não Cadastrado", vbCritical, "Aviso"
    Me.Undo
    Else
    End Sub
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 2/4/2014, 21:53

    Olá Agravina,

    Verifique se o nome do campo em seu formulário é esse mesmo CódigoProduto, sem acento, talvez. O código do produto pode ser igual ao código de barras? Cheque aí os possíveis erros, mas a função está correta.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 2/4/2014, 22:03

    erro tipos incontatáveis

    minha tabela está assim
    tab_produto
    chave códigoproduto
    campo que deve verificar códigobarras
    campo no form codbarras

    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 2/4/2014, 22:06

    Olá Agravina,

    Você quer dizer, erro de tipos incompatíveis.

    Exemplo:

    Uma variável deveria receber só valores do tipo Integer, Double ou Long, mas você inseriu valores do tipo String.

    Caso tenha dificuldade de resolver o problema, posta aí o bd.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Avisar se não cadastrado

    Mensagem  toyebom em 2/4/2014, 22:13

    Vê aqui:

    [Você precisa estar registrado e conectado para ver este link.]


    E ao contrário, se existir avisar não pode ser???

    Em todo o caso vê isto pode ser que ajude em algo:

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 2/4/2014, 22:19

    good guy
    segue o bd
    veja frmpontovenda campo codbarras
    Anexos
    Novo(a) Microsoft Office Access 2007 Banco de Dados.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (106 Kb) Baixado 21 vez(es)
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Avisar se não cadastrado

    Mensagem  toyebom em 2/4/2014, 22:23

    tenta:

    Private Sub códigoProduto_BeforeUpdate(Cancel As Integer)
    If DCount("[códigoproduto]", "tab_Produto", "[CodigoBarras]= " & Me.códigoproduto & "") = 0 Then

    MsgBox "Produto Não Cadastrado", vbCritical, "Aviso"
    Me.Undo
    Else
    Me.Produto = DLookup("Produto", "tab_Produto", "CodigoBarras=" & Me.códigoproduto)
    Me.Vrl = DLookup("PrecoVenda", "tab_Produto", "CodigoBarras=" & Me.códigoproduto)

    End If

    No teu erro tens Me.Códigoproduto e não Me.códigoproduto em minusculas


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 2/4/2014, 22:46

    erro de compilação método ou membro não encontrado

    If DCount("[códigoproduto]", "tab_Produto", "[CodigoBarras]= " & Me.códigoproduto & "") = 0 Then

    MsgBox "Produto Não Cadastrado", vbCritical, "Aviso"
    Me.Undo
    Else
    Me.Codproduto = DLookup("descricao", "tab_Produto", "CodigoBarras=" & Me.códigoproduto)
    Me.texto52 = DLookup("Precounitario", "tab_Produto", "CodigoBarras=" & Me.códigoproduto)

    End If
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 2/4/2014, 22:51

    A sintaxe correta é assim?

    If DCount("[campochavetabela]", "nometabela", "[Campotabelaaserpesquisado]= " & Me.eaquiqual & "")
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 3/4/2014, 15:25

    Olá Agravina,

    Falta o back-end do seu arquivo dividido.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 3/4/2014, 15:41

    segue bd
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 3/4/2014, 19:49

    Olá Agravina,

    Tente agora. Insira o valor 777 e depois ou outro número qualquer tal como 4, 5 ou 1.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 3/4/2014, 20:47

    A ideia é avisar quando entrar com um código de barras que não está no sistema.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 3/4/2014, 21:02

    Como fica a sintaxe

    If IsNull(DLookup("]qualcampovaiaqui]", "minhatabela", "]qualcampovaiaqui]= " & Me.qualcampovaiaqui)) Then
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 3/4/2014, 21:49

    Olá Agravina,

    O valor da variável deve ser do tipo String para código de barras porque contém pontos. No teu formulário vc atribuiu o nome codBarras para um campo com fonte de cotrole o código do produto. Está meio confuso, onde está o código de barras na tabela produto?
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 3/4/2014, 22:01

    Tab_produtos códigobarras

    Kaynan
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2340
    Registrado : 09/04/2012

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Kaynan em 4/4/2014, 00:09


    Amigos me entrometendo um pouquinho.Veja esse bd é praticamente o mesmo do Agravina,pode ajudar.


    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 4/4/2014, 18:24

    Olá Agravina,

    Tente assim:

    Private Sub CodBarras_BeforeUpdate(Cancel As Integer)
    If IsNull(DLookup("[CódigoBarras]", "tab_Produto", "[CódigoBarras]= Forms!Frmpontodevenda!codBarras")) Then
    MsgBox "Produto Não Cadastrado", vbCritical, "Aviso"
    Me.Undo
    Else
    End If
    End Sub
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 4/4/2014, 19:36

    Agora funfa !
    Valeu a todos pela ajuda.
    avatar
    Agravina
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1429
    Registrado : 18/07/2010

    Re: [Resolvido]Avisar se não cadastrado

    Mensagem  Agravina em 4/4/2014, 19:37

    Ops esqueci Resolvido.
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1228
    Registrado : 05/02/2010

    Avisar se não cadastrado

    Mensagem  good guy em 4/4/2014, 21:03

    O fórum todo agradece.

    Agravina, se puder passe lá no Facebook e curta a minha página e me ajude a promover o meu trabalho. Faça comentários para melhorar a divulgação. Desde já obrigado.

    [Você precisa estar registrado e conectado para ver este link.]

    Meu site: [Você precisa estar registrado e conectado para ver este link.]

    Se quiser aprender mais, adquira os meus dois livros DOMINE O ACCESS VBA e TÉCNICAS ESPECIAIS DE ACCESS VBA e você vai aprender isto e muito mais.

    Editora Livrorama(DOMINE ...):
    [Você precisa estar registrado e conectado para ver este link.]

    Editora Ciência Moderna(TÉCNICAS...):
    [Você precisa estar registrado e conectado para ver este link.]


    Um grande abraço.

    "O temor do Senhor(respeito pela Palavra de Deus, leitura e obediência) é o princípio do conhecimento" (Prov. 1.7)
    Disse Jesus: "E conhecereis a Verdade e a Verdade vos libertará". (Jo 8.32)
    Disse Jesus: “Eu sou a luz do mundo; aquele que me segue, não andará em trevas, mas terá a luz da vida.” (Jo. 8.12)

      Data/hora atual: 15/10/2018, 10:01