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

    [Resolvido]Pegar a data De Brasilia

    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2695
    Registrado : 23/01/2018

    [Resolvido]Pegar a data De Brasilia Empty [Resolvido]Pegar a data De Brasilia

    Mensagem  crysostomo 19/7/2023, 17:39

    Boa tarde.
    Saldaçoes.
    Quero pegar a data de Brasília
    Eu ainda uso esse código que do colega A.Theixeira criou a respeito de pegar data e fazer comparação direto com a variável que programei a data.
    Refiz ele de todos os modos pegar a data do meus País(BR) e não consegui, formatei a data para fazer comparação é nada.
    Poderia me ajuda a respeito?

    Function fncDataHoraNet() As Date
    ' ahteixeira 2018 para MaximoAccess
    On Error Resume Next
    On Error GoTo Trato
    Dim objIE As Object, objTb As Object
    Dim i As Integer, intPos As Integer

    Set objIE = CreateObject("InternetExplorer.Application")

    objIE.Visible = False
    objIE.Navigate "https://www.horariodebrasilia.org/"

    Do While objIE.Busy: DoEvents: Loop
    Do While objIE.ReadyState <> 4: DoEvents: Loop

    Set objTb = objIE.Document.all.Item(i)

    fncDataHoraNet = objTb.innerText

    objIE.Quit
    Set objTb = Nothing
    Set objIE = Nothing

    ' colocar o código
    Trato:
    End Function
    Private Sub Form_Open(Cancel As Integer)
    --
    Dim xData
    xData = fncDataHoraNet()

    End Sub


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8454
    Registrado : 05/11/2009

    [Resolvido]Pegar a data De Brasilia Empty Re: [Resolvido]Pegar a data De Brasilia

    Mensagem  Alexandre Neves 19/7/2023, 20:28

    Boa tarde
    Parece-me faltar a indicação do item i nesta parte do código: Set objTb = objIE.Document.all.Item(i)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2695
    Registrado : 23/01/2018

    [Resolvido]Pegar a data De Brasilia Empty Re: [Resolvido]Pegar a data De Brasilia

    Mensagem  crysostomo 20/7/2023, 16:24

    ja tentei de tudo.
    A data que fica no site oficial é do formato Quinta-feira, 20 de julho de 2023. Ja converti ele com vário tipos.


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8454
    Registrado : 05/11/2009

    [Resolvido]Pegar a data De Brasilia Empty Re: [Resolvido]Pegar a data De Brasilia

    Mensagem  Alexandre Neves 20/7/2023, 16:35

    Boa tarde
    Sem dizer o que tentou, não dá para acompanhar o raciocínio
    Tentou Set objTb = objIE.Document.all.Item("relogio")?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2695
    Registrado : 23/01/2018

    [Resolvido]Pegar a data De Brasilia Empty Re: [Resolvido]Pegar a data De Brasilia

    Mensagem  crysostomo 20/7/2023, 16:54

    Já.
    Assim ele e retoena horas


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2695
    Registrado : 23/01/2018

    [Resolvido]Pegar a data De Brasilia Empty Re: [Resolvido]Pegar a data De Brasilia

    Mensagem  crysostomo 20/7/2023, 17:59

    Consegiu aqui.
    Bom, eu queria ficar nessa programação do nosso amigo ' ahteixeira que é mas enxulta e biblioteca padrão, se poderem agradeço.
    Vou deixar aqui a minha

    Código:
    'ByCrysostomo 07/2023
    Function dataDeBasilia() As Date
        Dim httpRequest As Object
        Dim dataTexto As String
        Dim data As Date
     Set httpRequest = CreateObject("MSXML2.XMLHTTP") ' Aqui marquei a referencia msxml2 depende da versão.

    ' Faz a solicitação HTTP para o site
        httpRequest.Open "GET", "https://www.horariodebrasilia.org/", False
        httpRequest.send
        
        ' Obtém o texto da resposta
        dataTexto = httpRequest.responseText
        
        ' Define o padrão de expressão regular para encontrar a data
        Dim regex As Object
        Set regex = CreateObject("VBScript.RegExp")
        regex.Pattern = "(\d{2}) de (\w+) de (\d{4})"
        
        ' Procura a data no texto usando a expressão regular
        Dim matches As Object
        Set matches = regex.Execute(dataTexto)
        
        If matches.Count > 0 Then
            ' Obtém as partes da data (dia, mês e ano) a partir dos resultados do regex
            Dim dia As Integer
            Dim mes As String
            Dim ano As Integer
            
            dia = CInt(matches(0).SubMatches(0))
            mes = matches(0).SubMatches(1)
            ano = CInt(matches(0).SubMatches(2))
            
            ' Converte o mês para número
            Select Case LCase(mes)
                Case "janeiro": mes = 1
                Case "fevereiro": mes = 2
                Case "março": mes = 3
                Case "abril": mes = 4
                Case "maio": mes = 5
                Case "junho": mes = 6
                Case "julho": mes = 7
                Case "agosto": mes = 8
                Case "setembro": mes = 9
                Case "outubro": mes = 10
                Case "novembro": mes = 11
                Case "dezembro": mes = 12
                Case Else: mes = 1 ' Valor padrão, se não encontre o mês
            End Select
            ' Cria a data a partir das partes obtidas
            data = DateSerial(ano, mes, dia)
        Else
            data = DateSerial(2000, 1, 1)
        End If
        
        ' Retorna a data
       dataDeBasilia= data
    End Function

    Código:
    Sub dataDiSite()
    Dim dataProgramada
    dataProgramada = "21/07/2023"
        Me.txtData.Value = dataDeBasilia()

    If dataProgramada <= dataDeBasilia Then
       'O sistema continua rodando
    Else
        MsgBox "Perído de demostração terminou. Entre em contato com Administrado",vbInformatin,"Grupo Pacheco"
    End If
    End Sub


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.

    Conteúdo patrocinado


    [Resolvido]Pegar a data De Brasilia Empty Re: [Resolvido]Pegar a data De Brasilia

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/7/2024, 04:07