MaximoAccess

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

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Data em formato "AAAAMMDD"

    Compartilhe
    avatar
    belker
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 16/07/2014

    [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  belker em 20/8/2014, 14:51

    Bom dia.

    Eu tenho uma macro que me traz a informação da data da semana.
    essa data, é o primeiro domingo de cada semana.

    Ou seja, as vendas que forem feitas nos dias 10/08/2014 até o dia 16/08/2014, vai me trazer na coluna "Semana Venda" 10/08/2014 que é o primeiro domingo da semana.

    o código que utilizo para fazer isso é:

         s![Semana Venda] = CVDate(d) - Weekday(d) + 1

    porém, eu gostaria que viesse no formato texto AAAAMMDD, por exemplo: 20140810

    como poderia fazer isso?
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2598
    Registrado : 21/04/2011

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  Marcelo David em 20/8/2014, 15:07

    Use a função Format assim:

    Format([SuaData];"yyyymmdd")


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    belker
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 16/07/2014

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  belker em 20/8/2014, 15:18

    Format([Semana Venda];"yyyymmdd")

    aparece o erro:
    "Erro de compilação:
    Era esperado: Separador de lista ou )"

    e o access seleciona o ";"
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2598
    Registrado : 21/04/2011

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  Marcelo David em 20/8/2014, 15:41

    Onde você está pondo o código, VBA ou nas propriedades do formulário/consulta?

    Caso seja no vba, deverá fazer uma pequena alteração:

    Format(Me.[Semana Venda],"yyyymmdd")

    Ou se preferir, poste o aplicativo aqui e nós informe os nomes dos
    objetos envolvidos.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    belker
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 16/07/2014

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  belker em 20/8/2014, 15:47

    Foi criado um módulo no VBA.

    quer que eu poste todo o código?

    agora aparece o erro:

    "Erro de compilação:
    Era esperado: ="
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2598
    Registrado : 21/04/2011

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  Marcelo David em 20/8/2014, 15:56

    Poste por favor.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    belker
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 16/07/2014

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  belker em 20/8/2014, 16:00

    ele é grande e complexo...  mas a parte que estou tentando mudar, está lá no final do código, coloquei um "alerta": "'A ALTERAÇÃO QUE QUERO ESTÁ AQUI."

    Código:
    Option Compare Database
    Option Explicit


    Function verificacao_atuaizacao(arquivo_excel As String)
    Dim t As DAO.Recordset, s As DAO.Recordset, rs As DAO.Recordset, c As String, d, ss As DAO.Recordset, x As Long, p As Long, ttt As Long
    Dim dd As Long
    On Error Resume Next
    Dim l As Long, cc As Long
    Set t = CurrentDb.OpenRecordset("BASE_EXCEL", dbOpenSnapshot)
    While t.EOF = False
    On Error Resume Next
    Set s = CurrentDb.OpenRecordset("SELECT * FROM BRICK WHERE BRICK_CODE='" & t!BRICK_CODIGO & "'", dbOpenDynaset)
    If s.RecordCount = 0 Then
        s.AddNew
        s!BRICK_CODE = t!BRICK_CODIGO
        s!brick = t!brick_nome
        s.Update
    Else
        s.Edit
        s!BRICK_CODE = t!BRICK_CODIGO
        s!brick = t!brick_nome
        s.Update
    End If
    'verifica e atualiza tabela grupo
    Set s = CurrentDb.OpenRecordset("SELECT * FROM GRUPO WHERE COD_GRUPO='" & Nz(t!DISTRIBUIDOR_GRUPO_CODIGO, "") & "'", dbOpenDynaset)
    If s.RecordCount = 0 Then
    s.AddNew
    s!COD_GRUPO = t!DISTRIBUIDOR_CODIGO
    s!DISTRIBUIDOR_GRUPO = t!DISTRIBUIDOR_GRUPO_NOME
    s.Update
    Else
    s.Edit
    s!DISTRIBUIDOR_GRUPO = t!DISTRIBUIDOR_GRUPO_NOME
    s.Update
    End If
    'verifica e atualiza informantes
    Set s = CurrentDb.OpenRecordset("SELECT * FROM INFORMANTES WHERE COD_IMS='" & t!DISTRIBUIDOR_CODIGO & "'", dbOpenDynaset)
    If s.RecordCount = 0 Then
    s.AddNew
    s!COD_IMS = t!DISTRIBUIDOR_CODIGO
    s!CNPJ = t!DISTRIBUIDOR_CNPJ
    s!DISTRIBUIDOR = t!DISTRIBUIDOR_NOME
    s!COD_GRUPO = t!DISTRIBUIDOR_GRUPO_CODIGO
    s!GRUPO = t!DISTRIBUIDOR_GRUPO_NOME
    s!RESPONSÁVEL = "NOVO"
    s.Update
    Else
    s.Edit
    s!CNPJ = t!DISTRIBUIDOR_CNPJ
    s!DISTRIBUIDOR = t!DISTRIBUIDOR_NOME
    s!COD_GRUPO = t!DISTRIBUIDOR_GRUPO_CODIGO
    s.Update
    End If

    'verifica e atualiza uf cep
    Set s = CurrentDb.OpenRecordset("SELECT * FROM CEPBRICK WHERE uf='" & t!PDV_UF & "'", dbOpenDynaset)
    If s.RecordCount = 0 Then
        s.AddNew
        s!UF = t!PDV_UF
        s.Update
    End If
    'verifica e atualiza CEPBRICK
    Set s = CurrentDb.OpenRecordset("SELECT * FROM CEPBRICK WHERE uf='" & t!PDV_UF & "' AND CEP='" & t!PDV_CEP & "'", dbOpenDynaset)
    If s.RecordCount = 0 Then
        s.AddNew
        s!CEP = t!PDV_CEP
        s!UF = t!PDV_UF
        s![cidade (corrigida)] = t!PDV_CIDADE
        s![cidade (original)] = t!PDV_CIDADE
        s!BRICK_CODE = t!BRICK_CODIGO
        s![cidade governo] = t!PDV_CIDADE
        s.Update
    Else
        s.Edit
        s!UF = t!PDV_UF
        s![cidade (corrigida)] = t!PDV_CIDADE
        s![cidade (original)] = t!PDV_CIDADE
        s!BRICK_CODE = t!BRICK_CODIGO
        s![cidade governo] = t!PDV_CIDADE
        s.Update
    End If
    'verifica e atualiza PDV
    Set s = CurrentDb.OpenRecordset("SELECT * FROM PDV WHERE CNPJ='" & t!PDV_CNPJ & "'", dbOpenDynaset)
    If s.RecordCount = 0 Then
    ttt = ttt + 1
        s.AddNew
        s!CNPJ = t!PDV_CNPJ
        s!PDV = t!PDV_NOME
        s!BRICK_CODE = t!BRICK_CODIGO
        s!ENDEREÇO = t!PDV_ENDERECO
        s!TELEFONE = t!PDV_TELEFONE
        s!CEP = t!PDV_CEP
        s!bairro = t!PDV_BAIRRO
        s!cidade = t!PDV_CIDADE
        s!UF = t!PDV_UF
        s.Update
    Else
        s.Edit
        s!CNPJ = t!PDV_CNPJ
        s!PDV = t!PDV_NOME
        s!ENDEREÇO = t!PDV_ENDERECO
        s!TELEFONE = t!PDV_TELEFONE
        s!CEP = t!PDV_CEP
        s!bairro = t!PDV_BAIRRO
        s!cidade = t!PDV_CIDADE
        s!UF = t!PDV_UF
        s.Update
    End If
    'verifica a tabela MUNICIPIOS IMS-GOVERNO
    Set s = CurrentDb.OpenRecordset("SELECT * FROM [Municipios IMS-Governo] WHERE UF ='" & t!PDV_UF & "' AND [NOME MUNICIPIO IMS]='" & t!PDV_CIDADE & "'")
    If s.RecordCount = 0 Then
        s.AddNew
        s!UF = t!PDV_UF
        s![NOME MUNICIPIO IMS] = t!PDV_CIDADE
        s.Update
    End If
    'verifica e atualiza PRODUTOS DESCRICAO_FABRICANTE
    Set s = CurrentDb.OpenRecordset("SELECT * FROM PRODUTOS WHERE fcc='" & t!APRESENTACAO_FCC & "'", dbOpenDynaset)
    If s.RecordCount = 0 Then
        s.AddNew
        s!DESCRICAO_FABRICANTE = t!LABORATORIO_NOME
        s!PRODUTO = t!MARCA_NOME
        s!pack = t!APRESENTACAO_NOME
        s!fcc = t!APRESENTACAO_FCC
        s!ean = t!APRESENTACAO_EAN
        s.Update
    Else
        s.Edit
        s!DESCRICAO_FABRICANTE = t!LABORATORIO_NOME
        s!PRODUTO = t!MARCA_NOME
        s!pack = t!APRESENTACAO_NOME
        s!fcc = t!APRESENTACAO_FCC
        s!ean = t!APRESENTACAO_EAN
        s.Update
    End If
    'verifica atualiza VENDA



    'A ALTERAÇÃO QUE QUERO ESTÁ AQUI.



    c = "periodo ='" & t!Periodo & "' and cod_ims_distribuidor ='" & t!DISTRIBUIDOR_CODIGO & "' and APRESENTACAO_FCC='" & t!APRESENTACAO_FCC & "'  "
    Set s = CurrentDb.OpenRecordset("SELECT * FROM venda WHERE " & c)
    If s.RecordCount > 0 Then
      '  ttt = ttt + 1
            If s!UN < t!UN And s!UN > t!UN * 0.9 Then
            s.Edit
            's!PERIODO = t!PERIODO
            's!COD_IMS_DISTRIBUIDOR = t!DISTRIBUIDOR_CODIGO
            's!CANAL_NOME = t!CANAL_NOME
            's!PDV_CNPJ = t!PDV_CNPJ
            's!APRESENTACAO_FCC = t!APRESENTACAO_FCC
            s!UN = s!UN
            s!rs = t!rs
            's![Dia Entrega IMS]
            s![Dia Venda] = Right(t!Periodo, 2) & "/" & Mid(t!Periodo, 5, 2) & "/" & Left(t!Periodo, 4)
            d = Right(t!Periodo, 2) & "/" & Mid(t!Periodo, 5, 2) & "/" & Left(t!Periodo, 4)
            s![Dia Semana Venda] = CVDate(d) - Weekday(d)
            s![Semana Venda] = Weekday(d)
            s![Mes de venda] = Left(t!Periodo, 6)
            s.Update
            GoTo 100
        End If
             If t!UN >= s!UN Then
            s.Edit
            's!PERIODO = t!PERIODO
            's!COD_IMS_DISTRIBUIDOR = t!DISTRIBUIDOR_CODIGO
            's!CANAL_NOME = t!CANAL_NOME
            's!PDV_CNPJ = t!PDV_CNPJ
            's!APRESENTACAO_FCC = t!APRESENTACAO_FCC
            s!UN = t!UN
            s!rs = t!rs
            's![Dia Entrega IMS]
            s![Dia Venda] = Right(t!Periodo, 2) & "/" & Mid(t!Periodo, 5, 2) & "/" & Left(t!Periodo, 4)
            d = Right(t!Periodo, 2) & "/" & Mid(t!Periodo, 5, 2) & "/" & Left(t!Periodo, 4)
            s![Semana Venda] = CVDate(d) - Weekday(d) + 1
            s![Dia Semana Venda] = Format(d, "Ddd")
            s![Mes de venda] = Left(t!Periodo, 6)
            s.Update
            GoTo 100
        End If
    Else
    s.AddNew
        s!Periodo = t!Periodo
        s!COD_IMS_DISTRIBUIDOR = t!DISTRIBUIDOR_CODIGO
        s!CANAL_NOME = t!CANAL_NOME
        s!PDV_CNPJ = t!PDV_CNPJ
        s!APRESENTACAO_FCC = t!APRESENTACAO_FCC
        s!UN = t!UN
        s!rs = t!rs
        s![Dia Venda] = Right(t!Periodo, 2) & "/" & Mid(t!Periodo, 5, 2) & "/" & Left(t!Periodo, 4)
        d = Right(t!Periodo, 2) & "/" & Mid(t!Periodo, 5, 2) & "/" & Left(t!Periodo, 4)
        s![Semana Venda] = CVDate(d) - Weekday(d) + 1
        s![Dia Semana Venda] = Format(d, "Ddd")
        s![Mes de venda] = Left(t!Periodo, 6)
    s.Update
    End If
    100
    10 t.MoveNext
    Wend
    t.Close
    Set t = Nothing
    s.Close
    Set s = Nothing
    End Function



    Não entendo de VBA, quem fez esse código não foi eu. Ele cita a tabela [Semana Veda] três vezes, não entendo pq a primeira é diferente das outras duas.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2598
    Registrado : 21/04/2011

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  Marcelo David em 20/8/2014, 17:17

    Em qual campo do recordset quer formatar a data?


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    belker
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 16/07/2014

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  belker em 20/8/2014, 18:17

    recordset?

    para criar esse campo "SEMANA VENDA", usa o campo"DIA VENDA" que está formatado como DATA/HORA

    o campo "SEMANA VENDA" também está como DATA/HORA, mas eu quero que ele fique no formato TEXTO (aaaammdd).
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10424
    Registrado : 04/11/2009

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  JPaulo em 21/8/2014, 17:51

    Pitaco;

    A tabela "BRICK WHERE BRICK_CODE", não pode ter o campo "Semana Venda" formatado em data/hora, tem de estar em texto mesmo.

    Esta é a formula que deseja e não é magica, já foi passada acima varias vezes;

    s![Semana Venda] = Format(CVDate(Date) - Weekday(Date) + 1, "YYYYMMDD")


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    belker
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 16/07/2014

    Re: [Resolvido]Data em formato "AAAAMMDD"

    Mensagem  belker em 22/8/2014, 22:36

    obrigado.

      Data/hora atual: 23/2/2019, 23:45