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

    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?
    avatar
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2472
    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
    [Você precisa estar registrado e conectado para ver este link.] (em construção)

    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 ";"
    avatar
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2472
    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
    [Você precisa estar registrado e conectado para ver este link.] (em construção)

    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: ="
    avatar
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Data em formato "AAAAMMDD"

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

    Poste por favor.


    .................................................................................
    Marcelo David
    [Você precisa estar registrado e conectado para ver este link.] (em construção)

    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.
    avatar
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2472
    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
    [Você precisa estar registrado e conectado para ver este link.] (em construção)

    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).
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10232
    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.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    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: 18/11/2018, 06:35