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


2 participantes

    Verificar Registro na Tabela

    avatar
    mmendonca1585
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/04/2016

    Verificar Registro na Tabela Empty Verificar Registro na Tabela

    Mensagem  mmendonca1585 5/7/2016, 02:18

    Boa Noite a Todos,

    Primeiramente peço desculpa está abrindo esse tópico, porém procurei, encontrei alguns aberto mais não conseguir resolver o meu problema. Então desde já "Desculpe"

    Estou criando um sistema para gerar catalogo de produtos com fotos e informações do produto, até ai tudo bem o meu sistema esta cadastrando, anexando fotos e gerando o catalogo, porém agora estou tentando melhorar o Formulário e uma das coisas que to batendo cabeça é como fazer com que o sistema verifique se o código do produto já existe.

    Nome da tabela/campo/Formulário/campo o formulário

    Tabela: tbt_CadProdNacional
    Campo da Tabela: Prod_codigo
    Formulário: frm_CadNacional
    Campo do Formulario: txt_codigo

    Estou precisando fazer com que quando eu digitar o código no campo txt_codigo ele verifique se já existe, se existir que ele apresente uma mensagem informando "Código já cadastrado" E quando clicar em "OK" ele carregue as informações no Formulári.

    Já tentei vários exemplos da internet e não conseguir.

    Agradeço desde já o espaço!

    Obrigado!
    avatar
    mmendonca1585
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/04/2016

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  mmendonca1585 5/7/2016, 02:58

    Estou com esse codigo do Prod Gilberlânio, porém esta dando erro

    Coloquei no evento


    Private Sub txt_Codigo_BeforeUpdate(Cancel As Integer)
    Dim Busca As String
    Dim stLinkCriteria As String
    Dim rsc As DAO.Recordset
    Set rsc = Me.RecordsetClone
    Busca = Me.Prod_Codigo.Value
    stLinkCriteria = "prod_codigo= '" & Busca & "'"
    If DCount("Prod_codigo", "tbt_CadProdNacional", stLinkCriteria) > 0 Then
    Me.Undo
    MsgBox "Atenção o " _
    & Busca & " registo já existe." _
    & vbCr & vbCr & "Mostrar o Registo.", vbInformation _
    , "Duplicado"
    rsc.FindFirst stLinkCriteria
    Me.Bookmark = rsc.Bookmark
    End If
    Set rsc = Nothing
    End Sub



    Erro que aparece é

    [ERRO EM TEMPO DE EXECUÇÃO '3464']
    [TIPO DE DADOS INCOMPATÍVEL NA EXPRESSÃO DE CRITÉRIO]

    cleverson_manaus
    cleverson_manaus
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1012
    Registrado : 23/09/2011

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  cleverson_manaus 5/7/2016, 12:31


    Bom dia mendonça,


    Tenta dessa forma:

    Código:

    Private Sub txt_codigo_BeforeUpdate(Cancel As Integer)

    Dim strDocName As String

    Dim strLinkCriteria As String

        strDocName = "frm_CadNacional"

     If (Not IsNull(DLookup("[Prod_codigo]", "tbt_CadProdNacional", _

            "[Prod_codigo] ='" & Me!txt_codigo & "'"))) Then

    MsgBox "Este código já se encontra Cadastrado no Sistema...." & NumeroPedido.Value, vbInformation, "Sistema de Geração de Protocólo - Aviso"
    Cancel = True

    Me!txt_codigo.Undo
     strLinkCriteria = "[Prod_codigo]=" & "'" & Me![txt_codigo] & "'"
        DoCmd.OpenForm strDocName, , , stLinkCriteria
        End If

    End Sub


    Finalizando, observei que vc emprega letra maíscula ora minuscula para o campo txt_codigo, de uma verificada.

    Se o campo for texto use os apóstrofes e se número, use aspas simples.


    Abraços,


    Cleverson



    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    avatar
    mmendonca1585
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/04/2016

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  mmendonca1585 5/7/2016, 13:26

    Cleverson_Manaus

    Obrigado pela resposta, coloquei o código porém apresenta erro nas linhas abaixo.

    If (Not IsNull(DLookup("[Prod_Codigo]", "tbt_CadProdNacional", _

    "[Prod_Codigo] ='" & Me!txt_Codigo & "'"))) Then

    Sou iniciante nesse mundo da programação!..

    Peço desculpa se for algum simples!


    Obrigado!
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1012
    Registrado : 23/09/2011

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  cleverson_manaus 5/7/2016, 14:33




    Como mencionei na mensagem anterior verifique o emprego das letras maísculas e minusculas do nome do campo.

    Se puder postar somente o formulário e tabela envolvidos, já ajuda.


    Cleverson


    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    avatar
    mmendonca1585
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/04/2016

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  mmendonca1585 5/7/2016, 14:56

    Estou enviando pelo Dropbox,


    https://www.dropbox.com/s/afemdqzngs1sz72/Catalogo.rar?dl=0

    avatar
    mmendonca1585
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/04/2016

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  mmendonca1585 5/7/2016, 19:14

    up
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1012
    Registrado : 23/09/2011

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  cleverson_manaus 5/7/2016, 19:46



    oi mendonça


    já baixei o arquivo, estou analisando e assim finalizando te envio.


    Abraços

    Cleverson


    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1012
    Registrado : 23/09/2011

    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  cleverson_manaus 6/7/2016, 13:26


    Bom dia mendonça,


    O código ficou assim:

    Código:


    Private Sub txt_Codigo_BeforeUpdate(Cancel As Integer)

    On Error GoTo Err_txt_Codigo_BeforeUpdate

    Const conErrNotVrNull = 94

    'declara a variável recordset
    Dim tabela As DAO.Recordset

    Dim intProduto As Long

    'seta variavel recordset
    Set tabela = Me.RecordsetClone
       
    intProduto = Me.Prod_Codigo

         
        With tabela
            'verifica se o código do produto já está cadastrado
            .FindFirst "[Prod_Codigo]=" & intProduto
            'se encontrou então
            If Not .NoMatch Then
           
            MsgBox "Este código " & Me.txt_Codigo & " já está cadastrado. ", vbInformation, "Catálogo Artrin - Aviso"
         
            DoCmd.CancelEvent
           
            Exit Sub
           
           
            End If
           
        End With
     
    tabela.Close
     
    Set tabela = Nothing

    Exit_txt_Codigo_BeforeUpdate:

        Exit Sub
       
    Err_txt_Codigo_BeforeUpdate:
       
        If Err.Number = conErrNotVrNull Then

            MsgBox "REGISTRO COM VALORES NULOS!"
            Cancel = True
           
    Else
       
            MsgBox Err.Description

    End If
       
        Resume Exit_txt_Codigo_BeforeUpdate

    End Sub



    Abaixo o link do arquivo:

    https://www.dropbox.com/s/2seble9wx1aug50/Catalogo_Artrin.zip?dl=0


    Abraços,

    Cleverson


    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!

    Conteúdo patrocinado


    Verificar Registro na Tabela Empty Re: Verificar Registro na Tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/5/2024, 23:04