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

    [Resolvido]Erro 3464 para a Função DCount

    darlansandro
    darlansandro
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 03/05/2014

    [Resolvido]Erro 3464 para a Função DCount Empty [Resolvido]Erro 3464 para a Função DCount

    Mensagem  darlansandro 10/12/2016, 14:53

    Olá gente,

    Estou criando um DCount que possui a função de verificar na tabela se determinado registro já foi cadastrado. O registro mencionado é do tipo data ou date. Na tabela do banco utilizei uma mascara 00/0000, mês e ano, respectivamente. Preciso inserir no momento em que o usuário realiza o login no sistema uma mensagem que identifique se ele já cadastrou os dados no sistema para uma tabela especifica. De forma simples toda vez que o mês e o ano mudar de status o aplicativo verificará se o usuário realizou o cadastro, caso a condição tenha sido negativa, o formulário de cadastro será aberto e ele procederá o cadastro. Abaixo estou postando o código.

    Código:

    Private Sub btnTestando_Click()

    filtro = Format(Me!txtPeriodo, "mm/yyyy")

    If DCount("*", "tblNotaFiscalDados", "periodo = '" & filtro & "'") > 0 Then
       MsgBox "O Cliente " & Me!txtPeriodo & " já existe..."
       Me.Undo
       Cancel = True
    End If

    End Sub


    Entranto todas as vezes que executo, o access apresenta o erro "Erro em Tempo de Execução 3464". Desde já agradeço qualquer ajuda.

    Grato,
    darlansandro
    darlansandro
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 03/05/2014

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  darlansandro 10/12/2016, 16:08

    Bem, consegui resolver o problema parcialmente. Entretanto não consegui filtrar a informação. O código não filtrar a informação corretamente quando o período ou data já encontra-se cadastrado na tabela. Peço qual quer ajuda. Abaixo consta o código atualizado.

    Código:


    Private Sub btnTestando_Click()

    filtro = Month(Date)

    If DCount("*", "tblNotaFiscalDados", "periodo =" & Month(Date)) <> filtro Then
      MsgBox "O período fiscal de " & filtro & " não existe. Por favor cadastre o período."
      DoCmd.OpenForm "frmNotaFiscalDados"
     ElseIf DCount("*", "tblNotaFiscalDados", "periodo = " & Month(Date)) = filtro Then
     MsgBox "O periodo fiscal de" & filtro & " já existe..."
    End If

    End Sub
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  Noobezinho 10/12/2016, 18:15

    Darlan

    Experimente:


    Private Sub btnTestando_Click()

    filtro = Month(Date)

    If DCount("*", "tblNotaFiscalDados", "periodo =" & Month(Date)) = 0 Then ' Lembre-se, é uma contagem, retorna um número de registros encontrados.
       MsgBox "O período fiscal de " & filtro & " não existe." & vbcrlf & "Por favor cadastre o período."
       DoCmd.OpenForm "frmNotaFiscalDados"
    ElseIf
       'Acredito que a linha abaixo n será necessário, serve só como exemplo.
        MsgBox "O periodo fiscal de" & filtro & " já existe..."
    End If

    End Sub


    .................................................................................
    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.
    darlansandro
    darlansandro
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 03/05/2014

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  darlansandro 11/12/2016, 16:51

    Gostaria de agradecer a atenção Noobezinho, mas não funcionou. Na verdade já havia tentado esta alternativa. Abaixo consta um link com o banco e um vídeo de demonstração do problema. Agradeço mais uma vez qualquer ajuda. Penso que o problema esta no filtro da data, pois o que preciso filtrar é o mês e o ano, ou seja, no campo "periodo" da tabela, mesmo colocando no formata "mm/yyyy", no envio da informação via formulário "aFrmTestando", ele grava no formato "data abreviada", assim quando da realização do filtro no formulário "aFrmTestando", ele precisa confrontar o mês e o ano, retirados do campo "periodo" da tabela, com o mês e o ano do windows e chamar o formulário "frmNotaFiscalDados" para o cadastro de um novo período, caso o mês e ano sejam diferentes durante a verificação entre a tabela do banco e a data do windows do usuário.



    Link: 1drv.ms/f/s!AgHCWa12NNUWgcoX40yO2f_GkLnETw
    Copiar e colar no navegador - Não são permitidos links externos



    Grato,
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  Alvaro Teixeira 11/12/2016, 17:00

    Olá a todos,
    Darlan, não vi o projecto.
    No entanto verifique o tipo de dados do periodo e filtro.
    Tenha atenção em não comparar "alhos" com "bogalhos".
    Abraço
    darlansandro
    darlansandro
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 03/05/2014

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  darlansandro 11/12/2016, 17:50

    Olá Teixeira, como vai amigo?

    Enfim já fiz e refiz o código por diversas vezes, contudo até agora nada de resolver a demanda. A questão que já filtrei o valor no banco de diferente formas, na tentativa de realizar o proposto anteriormente. Abaixo estou colocando a ultima tentativa, mesmo desta forma não solucionou o problema. O que pretendo é no momento que o usuário logar no sistema, se ele não cadastrou um novo período, a informação apareça, solicitando um novo cadastro. Abaixo o ultimo codigo.

    Código:

    Private Sub btnTestando_Click()

    filtro = Format(Now(), "mm/yyyy")

    If DCount("*", "tblNotaFiscalDados", "periodo =" & Format("periodo", "mm/yyyy")) <> filtro Then
      MsgBox "O período fiscal de " & filtro & " não existe. Por favor cadastre o período."
      DoCmd.OpenForm "frmNotaFiscalDados"
     Else
     MsgBox "O periodo fiscal de" & filtro & " já existe..."
    End If

    End Sub

    Grato,

    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  FabioPaes 11/12/2016, 18:28

    Mude seu Codigo para:

    Código:
    Private Sub btnTestando_Click()
    Dim Filtro As String
    Filtro = Format(Now(), "mm/yyyy")

    If DCount("*", "tblNotaFiscalDados", "periodo=#" & Filtro & "#") <= 0 Then
       MsgBox "O período fiscal de " & Filtro & " não existe. Por favor cadastre o período."
       DoCmd.OpenForm "frmNotaFiscalDados"
     Else
     MsgBox "O periodo fiscal de: " & Filtro & " já existe..."
    End If

    End Sub


    Lembre-se DCount é contagem (1,2,3,4,5...) de acordo com o Critério.


    Alem do # # que faltava, qnd tratamos data pelo VBA temos que informar...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    darlansandro
    darlansandro
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 03/05/2014

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  darlansandro 11/12/2016, 20:12

    Olá Fabio,

    Obrigado pela ajuda. Após a sua sugestão funcionou perfeitamente. Grato mais uma vez pela ajuda.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  FabioPaes 11/12/2016, 20:23

    Grato pelo retorno! Até a próxima se Deus quiser!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  Alvaro Teixeira 12/12/2016, 18:32

    cheers

    Conteúdo patrocinado


    [Resolvido]Erro 3464 para a Função DCount Empty Re: [Resolvido]Erro 3464 para a Função DCount

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 17:18