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]Copiar valores de um campo Data para uma campo relacionado

    avatar
    Disio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 27/08/2013

    [Resolvido]Copiar valores de um campo Data para uma campo relacionado Empty [Resolvido]Copiar valores de um campo Data para uma campo relacionado

    Mensagem  Disio em 16/8/2019, 17:22

    Olá a todos! Tò tentando copiar os valores de um campo tipo data para um campo-filho (long), na mesma tabela, relacionado a outra tabela. O campo-pai é tipo data também. Tentei este código:
    Código:
    Public Function CopiaData()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim data1 As Variant
    Dim data2 As Date

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Controle2", DB_OPEN_DYNASET)

    rs.MoveFirst

    Do While Not rs.EOF
    rs.Edit
    rs("Data") = rs("Data2")
    rs.Update
    rs.MoveNext
    Loop

    rs.Close


    End Function

    Mas dá erro dizendo que tem que ter registro relacionado na tabela pai.
    Tem como converter o tipo de dados?
    Obs: as datas que quero copiar são as mesmas que já estão na tabela-pai.
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 368
    Registrado : 23/01/2017

    [Resolvido]Copiar valores de um campo Data para uma campo relacionado Empty Re: [Resolvido]Copiar valores de um campo Data para uma campo relacionado

    Mensagem  thiagomcosta em 16/8/2019, 19:54

    Não consegue entender a parte dos campos long e data, campo filho e capo pai.
    Mas, dando sugestões do que poderia ocasionar erros:
    - Veja se os tipos dos campos não devem ser todos iguais.
    - Veja se existem mesmo relacionamentos entre as tabelas e se estes estão corretos.
    avatar
    Disio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 27/08/2013

    [Resolvido]Copiar valores de um campo Data para uma campo relacionado Empty Re: [Resolvido]Copiar valores de um campo Data para uma campo relacionado

    Mensagem  Disio em 16/8/2019, 20:15

    Fala Thiago!
    Nesse caso tenho uma tabela "Controle1" com os campos Controle1.CÓDIGO (chave primária/numeraçõa automática) e Controle1.DATA (tipo data), que está relacionada a uma tabela "Controle2" pelo campo Controle2.DATA (inteiro longo, campo pesquisa e relacionamento).
    Agora tô tentando copiar os registros para preencher a tabela Controle2 de outra tabela externa.
    Consegui copiar e preencher os outros campos da tabela Controle2, mas o campo Controle2.DATA não aceita colar os valores, diz que os valores tem que ter equivalentes em Controle1.DATA. Só que estou colando os mesmos valores que já estão lá.
    Acho que é pq os valores que tô tentando colar são do tipo data/hora e o campo Controle2.DATA é do tipo inteiro longo.
    Agradeço a atenção amigo.

    Obs: só pra adiconar mais informação, copiei os dados da tabela externa para um campo Controle2.DATA2, na tabela Controle2 só pra testar e daí, com o cursor consigo copiar e colar os valores, individualmente, registro por registro. Mas são aproximadamente 4.000 registros...
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 368
    Registrado : 23/01/2017

    [Resolvido]Copiar valores de um campo Data para uma campo relacionado Empty Re: [Resolvido]Copiar valores de um campo Data para uma campo relacionado

    Mensagem  thiagomcosta em 16/8/2019, 21:05

    É isso mesmo, deve ser a diferença de tipos que está causando isso.

    Se não der para mudar os tipos, tente manipular o resultado antes de copiar, usando funções de conversão de tipos.

    https://docs.microsoft.com/pt-br/office/vba/language/concepts/getting-started/type-conversion-functions
    avatar
    Disio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 27/08/2013

    [Resolvido]Copiar valores de um campo Data para uma campo relacionado Empty Re: [Resolvido]Copiar valores de um campo Data para uma campo relacionado

    Mensagem  Disio em 16/8/2019, 21:59

    Tentei converter o tipo usando CLng(), que aprendi no artigo q vc indicou! Vlw msm!!!
    Dentro do código funcionou, fui acompanhando passo a passo, e a variável fica certinha, com a data em número serial, não dá erro nenhum, mas na tabela não acontece nada...

    Código:
    Public Function CopiaData()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim dt1 As Long

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Controle2", DB_OPEN_DYNASET)

    rs.MoveFirst

    Do While Not rs.EOF
    rs.Edit
    dt1 = CLng(rs("data2"))
    rs("Data") = dt1
    rs.Update
    rs.MoveNext
    Loop

    rs.Close
    Set rs = Nothing

    End Function
     
    Tb tô enviando um banco de dados só com as ditas tabelas.
    Resumindo o que preciso é copiar os dados do campo Controle2.Data2 para o campo Controle2.Data, da mesma tabela.
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 368
    Registrado : 23/01/2017

    [Resolvido]Copiar valores de um campo Data para uma campo relacionado Empty Re: [Resolvido]Copiar valores de um campo Data para uma campo relacionado

    Mensagem  thiagomcosta em 20/8/2019, 14:31

    Não apareceu para mim o banco de dados, mas só uma dúvida, por que ambos os campos não estão em formato data?
    avatar
    Disio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 27/08/2013

    [Resolvido]Copiar valores de um campo Data para uma campo relacionado Empty Re: [Resolvido]Copiar valores de um campo Data para uma campo relacionado

    Mensagem  Disio em 22/8/2019, 15:18

    Oi Thiago, a tabela-pai foi criada normalmente, com os campos Código (Autonumeração) e Data (Data/Hora). Quando fui criar a tabela-filha, criei o campo Data (Pesquisa e Relacionamento = inteiro longo) de forma automática e o access relacionou ele ao campo Código (Chave Primária) da tabela-pai.
    Só consegui resolver o problema excluindo o relacionamento entre as tabelas pelos campos Código/Data e criando outro campo tipo data, criando assim um relacionamento tipo data/data.
    De qualquer forma obrigado pelo interesse.
    Abs

      Data/hora atual: 18/1/2021, 19:22