MaximoAccess

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

Obrigado

Administração do MaximoAccess

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]Dcount x erro 3075

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Dcount x erro 3075 Empty [Resolvido]Dcount x erro 3075

    Mensagem  vinicius.anna em 31/7/2020, 18:13

    Boa tarde

    Estou tentando verificar em uma tabela chamada tb_Agenda a existência de registro existente para o profissional na data e horário do formulário usando o Dcount com a linha abaixo:

    Código:

    If DCount("*", "tb_Agenda", "id_profissional=" & Me.Id_profissional & " And agHora = " & Me.agHora & " And dtData = " & Me!dtData & "") <> 0 Then

    O campo id_profissional é número, o campo agHora é Data/Hora e o campo dtData é do tipo data......, mas ao tentar executar esta linha erro 3075....

    Alguém tem alguma dica de onde possa estar errando?

    Desde já, agradeço

    Att.
    Vinicius
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  Alexandre Fim em 31/7/2020, 19:16

    Olá Vinicius,

    É necessário formatar a data:

    Código:

    If DCount("*", "tb_Agenda", "id_profissional=" & Me.Id_profissional & " And agHora = " & Me.agHora & " And dtData =#" & Format(Me.Data, "dd/mm/yyyy") & "#") <> 0 Then


    Boa sorte


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  vinicius.anna em 31/7/2020, 19:49

    Boa tarde Alexandre,

    Obrigado pela resposta mas mesmo formatando a data o erro 3075 persiste. Montei um breve exemplo que disponibilizo neste simulando o erro ao clicar no botão Checa Status.

    Se puder dar uma olhada lhe agradeço

    Muito obrigado

    Att. Vinicius
    Anexos
    [Resolvido]Dcount x erro 3075 Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 4 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  Alexandre Fim em 31/7/2020, 20:14

    Olá Vinicius,
    Faltou o apóstrofo no parâmetro de hora. Segue:

    Código:


    If DCount("*", "tb_Agenda", "id_medico=" & Me.Id_Medico & " And " & vbCrLf & _
                                "agHora = '" & Me.agHora & "' And " & vbCrLf & _
                                "dtData = #" & Format(Me.dtData, "dd/mm/yyyy") & "#") <> 0 Then
        MsgBox "Registro existente"
    End If

    Obs,: Eu quebrei as linhas pq a instrução tava longa...rss


    Boa sorte


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  vinicius.anna em 31/7/2020, 20:52

    Olá Alexandre,

    Obrigado pela resposta, realmente, com o apóstrofe não dá mais o erro, mas, não entendi o porque, o dcount acaba "não contado" o registro existente. Testei da seguinte forma:

    Código:

    dCountTeste = DCount("*", "tb_Agenda", "id_medico=" & Me.Id_Medico & " And agHora = '" & Me.agHora & "' And dtData = #" & Format(Me.dtData, "dd/mm/yyyy") & "#")

    MsgBox "dcountteste: " & dCountTeste

    If DCount("*", "tb_Agenda", "id_medico=" & Me.Id_Medico & " And " & vbCrLf & _
                                "agHora = '" & Me.agHora & "' And " & vbCrLf & _
                                "dtData = #" & Format(Me.dtData, "dd/mm/yyyy") & "#") <> 0 Then
        MsgBox "Registro existente"
    End If


    Acaba sempre retornando 0....

    OBS: Me desculpe mas não sei se devo ou não abrir novo tópico.

    Muito obrigado pela atenção e ajuda

    Att.
    Vinicius
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  Alexandre Fim em 31/7/2020, 21:17

    Cara, vou fazer o seguinte: vou criar uma instrução SQL no código que fica mais fácil.
    Aguarde um instante e ja te mando.

    Att


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  Alexandre Fim em 31/7/2020, 21:41

    Vinícius,

    Comente o código atual e em seguida Copie e cole em todo o código do seu formulário o seguinte código:

    Código:

    Option Explicit
    Option Compare Database

    Private Sub btChecar_Click()

        If fncChecaAgenda = True Then
            MsgBox "Já existe agendamento nesta Data e Hora para o médico informado.", vbExclamation, "Aviso"
        Else
        'Ação desejada
       
        End If

    End Sub


    Public Function fncChecaAgenda() As Boolean
    On Error GoTo trata_erro
    Dim sSQL            As String
    Dim db              As DAO.Database
    Dim rs              As DAO.Recordset

        Set db = CurrentDb
        sSQL = "SELECT COUNT(Id_Agenda) AS cnt FROM tb_Agenda"
        sSQL = sSQL & " WHERE Id_Medico= " & Me.Id_Medico & " "
        sSQL = sSQL & " AND dtData=#" & Format(Me.dtData, "mm/dd/yyyy") & "# "
        sSQL = sSQL & " AND agHora =#" & Format(Me.agHora, "hh:mm") & "# "
       
        Set rs = db.OpenRecordset(sSQL)
       
        If rs("cnt").Value > 0 Then
            fncChecaAgenda = True
        Else
            fncChecaAgenda = False
        End If

        rs.Close
        Set rs = Nothing

        Exit Function

    trata_erro:
        MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        Exit Function

    End Function


    Acredito que irá funcionar.

    Boa sorte




    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  vinicius.anna em 31/7/2020, 21:54

    Olá Alexandre,

    Muito obrigado pela ajuda, paciência e atenção....., tópico resolvido.

    Desde já meus agradecimentos.

    Att.
    Vinicius
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Dcount x erro 3075 Empty Re: [Resolvido]Dcount x erro 3075

    Mensagem  Alexandre Fim em 31/7/2020, 21:55

    Valeu Vinicius,

    O fórum agradece.

    Boa sorte

    Abraco


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.

      Data/hora atual: 28/9/2020, 11:18