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]Erro na execução do código

    avatar
    Sander
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 16/04/2013

    [Resolvido]Erro na execução do código Empty [Resolvido]Erro na execução do código

    Mensagem  Sander 7/6/2013, 23:12

    Amigos,

    Tenho um formulário contínuo. No seu cabeçalho existem dois campos não acoplados, no formato Data Abreviada.
    Um campo é uma Data Inicial e o outro Data Final, que correspondem a um período que o usuário deseja pesquisar.
    O nome destes campos é txtDataInicial e txtDataFinal.
    Quando estes campos recebem o foco, coloquei o código "DoCmd.RunCommand acCmdShowDatePicker". O calendário aparece beleza e podemos selecionar as datas pelo DatePicker.


    Depois que estes campos são preenchidos, existe um botão que faz a consulta do período desejado. A pesquisa é feita a uma Tabela que também possui um campo Data, com data abreviada. Só que ao clicar neste botão aparece a mensagem "Erro em tempo de execução '13'. Tipos Incompatíveis."

    Alugém poderia me esclarecer como resolver esse erro, visto que todos os campos envolvidos estão no formato Data Abreviada e o Mostrar Selecionador de Datas está "Para Datas".

    Segue abaixo o código do botão:

    Private Sub Cmd_NovaConsulta_Click()
    Dim Rst As Recordset

    Set Rst = CurrentDb.OpenRecordset("SELECT * FROM TabGeral WHERE DataViagem between #" & Format(TxtDataInicial, "mm-dd-yyyy") & "# and #" & Format(TxtDataFinal, "mm-dd-yyyy") & "# ORDER BY DataViagem, HoradoServiço, CodigoCargo, Cod;")

    If Rst.EOF Then
    RtlPeriodo.Caption = "ATENÇÃO!"
    rtlDatas.Caption = "NÃO HÁ REGISTROS PARA O PERÍODO PESQUISADO."
    RecordSource = "SELECT * FROM TabGeral WHERE DataViagem between #" & Format(TxtDataInicial, "mm-dd-yyyy") & "# and #" & Format(TxtDataFinal, "mm-dd-yyyy") & "# ORDER BY DataViagem, HoradoServiço, CodigoCargo, Cod;"
    DoCmd.RefreshRecord
    Else
    If Not IsDate(TxtDataInicial) Or Not IsDate(TxtDataFinal) Then
    MsgBox "Os campos Data inicial e a Data final devem ser preenchidos.", , "Falta de data"
    TxtDataInicial.SetFocus
    ElseIf CDate(TxtDataInicial) > CDate(TxtDataFinal) Then
    MsgBox "A data inicial não pode ser posterior à data final.", , "Datas erradas"
    Else
    CopiaDataInicial.Caption = TxtDataInicial
    CopiaDataFinal.Caption = TxtDataFinal
    RtlPeriodo.Caption = "PERÍODO CONSULTADO:"
    rtlDatas.Caption = "" & TxtDataInicial & " a " & TxtDataFinal & ""

    RecordSource = "SELECT * FROM TabGeral WHERE DataViagem between #" & Format(TxtDataInicial, "mm-dd-yyyy") & "# and #" & Format(TxtDataFinal, "mm-dd-yyyy") & "# ORDER BY DataViagem, HoradoServiço, CodigoCargo, Cod;"
    Me.Requery
    TxtDataInicial.Value = ""
    TxtDataFinal.Value = ""
    Cmd_NovaConsulta.SetFocus
    End If
    End If
    End Sub



    Obrigado.

    Sander
    avatar
    Convidado
    Convidado


    [Resolvido]Erro na execução do código Empty Re: [Resolvido]Erro na execução do código

    Mensagem  Convidado 8/6/2013, 06:04

    Boas Sander..Depura para qual linha?

    se possível envie-nos um modelo do BD.


    Cumprimentos.
    avatar
    Sander
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 16/04/2013

    [Resolvido]Erro na execução do código Empty Re: [Resolvido]Erro na execução do código

    Mensagem  Sander 11/6/2013, 13:27

    Bom dia, Piloto.

    O erro acontece nessa linha de código abaixo:

    Set Rst = CurrentDb.OpenRecordset("SELECT * FROM TabGeral WHERE DataViagem between #" & Format(TxtDataInicial, "mm-dd-yyyy") & "# and #" & Format(TxtDataFinal, "mm-dd-yyyy") & "# ORDER BY DataViagem, HoradoServiço, CodigoCargo, Cod;")

    Tá aparecendo a mensagem de Tipos Incompatíveis.

    Abraço.
    avatar
    Convidado
    Convidado


    [Resolvido]Erro na execução do código Empty Re: [Resolvido]Erro na execução do código

    Mensagem  Convidado 11/6/2013, 13:45

    Uma pergunta.. se os campos são do tipo data porque utiliza o Cdate?

    ElseIf CDate(TxtDataInicial) > CDate(TxtDataFinal) Then

    O CDate serve para converter uma string em data.. oras.. se ja são do tipo data porque então o Cdate?


    \Se puder envie um pequeno exemplo do BD...

    Cumprimentos.



    Última edição por PILOTO em 9/7/2013, 00:43, editado 1 vez(es) (Motivo da edição : Tópico dado como resolvido por falta de resposta)

    Conteúdo patrocinado


    [Resolvido]Erro na execução do código Empty Re: [Resolvido]Erro na execução do código

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 15/5/2024, 11:34