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

    Update no formulario ou outra função

    avatar
    Carlos Rugno
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 20/06/2013

    Update no formulario ou outra função Empty Update no formulario ou outra função

    Mensagem  Carlos Rugno em 8/10/2020, 19:42

    usei o comando
    UPDATE tbl_Epis SET datatroca = (
    SELECT DataTroca
    FROM (SELECT tbl_Epis.CodEpei, tbl_Cad_Epi.CODIGOPRD, tbl_Epis.Integrante, tbl_Epis.Matricula, tbl_Epis.Setor, tbl_Epis.Cod_Funcao, tbl_Epis.Cargo, tbl_Epis.Descricao, tbl_Epis.DataAquisicao, tbl_Epis.DataEntrega, tbl_Epis.DataReprogramacao, tbl_Epis.Qtde, tbl_Epis.Status, tbl_Cad_Epi.Validade AS Val, IIf([TBL_EPIS].[STATUS] Not In ('DEVOLUÇÃO') And [TBL_EPIS].[STATUS] Not In ('PERDA') And [TBL_EPIS].[STATUS] Not In ('REPROGRAMADO'),IIf([Cons_Epi_x_Funcao].[PERIODICIDADE] Is Not Null,[Cons_Epi_x_Funcao].[periodicidade],[tbl_cad_epi].[validade]),IIf([TBL_EPIS].[STATUS] In ('REPROGRAMADO'),"Reprog",IIf([TBL_EPIS].[STATUS] In ('DEVOLUÇÃO'),"Dev","Perda"))) AS Validade, IIf([TBL_EPIS].[STATUS] In ('REPROGRAMADO'),[DataReprogramacao],IIf([TBL_EPIS].[STATUS] Not In ('DEVOLUÇÃO') And [TBL_EPIS].[STATUS] Not In ('PERDA') And [TBL_EPIS].[STATUS] Not In ('REPROGRAMADO'),[tbl_Epis].[dataEntrega]+IIf([Cons_Epi_x_Funcao].[PERIODICIDADE] Is Not Null,[Cons_Epi_x_Funcao].[periodicidade],[tbl_cad_epi].[validade]),IIf([TBL_EPIS].[STATUS] Not In ('REPROGRAMADO'),[DataReprogramacao],Null))) AS DataTroca1, tbl_Epis.Obs, Format$([DataTroca1],'ddd') AS DIA, IIf(Format$([DataTroca1],'ddd')="sáb",[DataTroca1]+2,IIf(Format$([DataTroca1],'ddd')="dom",[DataTroca1]+1,[DataTroca1])) AS DataTroca, tbl_Epis.Motivo, tbl_Epis.Entregue FROM (tbl_Epis LEFT JOIN tbl_Cad_Epi ON tbl_Epis.Descricao = tbl_Cad_Epi.Descricao) LEFT JOIN Cons_Epi_x_Funcao ON (tbl_Epis.Descricao = Cons_Epi_x_Funcao.EPI_DESCRICAO) AND (tbl_Epis.Cod_Funcao = Cons_Epi_x_Funcao.COD_FUNCAO) WHERE (((tbl_Epis.Status) Not In ("EXCLUIDO")))) AS EPI
    WHERE epi.codepei = tbl_epis.codepei);

    Mas esta dando a seguinte mensagem:

    A OPERAÇÃO DEVE USAR UMA CONSULTA ATUALIZAVEL,

    Como resolver este problema?




    Gostaria de dar upadate na tabela tbl_Epi no campo DataTroca, pois a data esta null

    select abaixo:
    codepei DataTroca
    33258 2003/11/20
    33258 03/11/2020
    30728 29/07/2020
    32785 25/08/2020
    32610 28/11/2019
    32609 28/11/2019
    32905 26/08/2020
    32611 28/11/2019
    32782 25/08/2020

    Tabela: para o updade
    CodEpei DataTroca
    33258 null
    33258
    30728
    32785
    32610
    32609
    32905
    32611
    32782

    Gostaria de dar upadate na tabela tbl_Epi acima, pois a data esta null


    select com o retorno da data:
    SELECT codepei, DataTroca
    FROM (SELECT tbl_Epis.CodEpei, tbl_Cad_Epi.CODIGOPRD, tbl_Epis.Integrante, tbl_Epis.Matricula, tbl_Epis.Setor, tbl_Epis.Cod_Funcao, tbl_Epis.Cargo, tbl_Epis.Descricao, tbl_Epis.DataAquisicao, tbl_Epis.DataEntrega, tbl_Epis.DataReprogramacao, tbl_Epis.Qtde, tbl_Epis.Status, tbl_Cad_Epi.Validade AS Val, IIf([TBL_EPIS].[STATUS] Not In ('DEVOLUÇÃO') And [TBL_EPIS].[STATUS] Not In ('PERDA') And [TBL_EPIS].[STATUS] Not In ('REPROGRAMADO'),IIf([Cons_Epi_x_Funcao].[PERIODICIDADE] Is Not Null,[Cons_Epi_x_Funcao].[periodicidade],[tbl_cad_epi].[validade]),IIf([TBL_EPIS].[STATUS] In ('REPROGRAMADO'),"Reprog",IIf([TBL_EPIS].[STATUS] In ('DEVOLUÇÃO'),"Dev","Perda"))) AS Validade, IIf([TBL_EPIS].[STATUS] In ('REPROGRAMADO'),[DataReprogramacao],IIf([TBL_EPIS].[STATUS] Not In ('DEVOLUÇÃO') And [TBL_EPIS].[STATUS] Not In ('PERDA') And [TBL_EPIS].[STATUS] Not In ('REPROGRAMADO'),[tbl_Epis].[dataEntrega]+IIf([Cons_Epi_x_Funcao].[PERIODICIDADE] Is Not Null,[Cons_Epi_x_Funcao].[periodicidade],[tbl_cad_epi].[validade]),IIf([TBL_EPIS].[STATUS] Not In ('REPROGRAMADO'),[DataReprogramacao],Null))) AS DataTroca1, tbl_Epis.Obs, Format$([DataTroca1],'ddd') AS DIA, IIf(Format$([DataTroca1],'ddd')="sáb",[DataTroca1]+2,IIf(Format$([DataTroca1],'ddd')="dom",[DataTroca1]+1,[DataTroca1])) AS DataTroca, tbl_Epis.Motivo, tbl_Epis.Entregue FROM (tbl_Epis LEFT JOIN tbl_Cad_Epi ON tbl_Epis.Descricao = tbl_Cad_Epi.Descricao) LEFT JOIN Cons_Epi_x_Funcao ON (tbl_Epis.Cod_Funcao = Cons_Epi_x_Funcao.COD_FUNCAO) AND (tbl_Epis.Descricao = Cons_Epi_x_Funcao.EPI_DESCRICAO) WHERE (((tbl_Epis.Status) Not In ("EXCLUIDO"))))  AS EPI
    WHERE DataTroca Is not null;


    Última edição por Carlos Rugno em 14/10/2020, 21:12, editado 2 vez(es) (Razão : update na tabela tbl_Epi pois a data esta null)
    avatar
    Misson Lira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 334
    Registrado : 01/12/2016

    Update no formulario ou outra função Empty Re: Update no formulario ou outra função

    Mensagem  Misson Lira em 12/10/2020, 15:16

    Não compreendi muito bem sua duvida, mais se for para editar os dados que estão no formulário e mudar na tabela
    pode usar o:





    Sel = "SELECT * from NomeTabela where Código=" & Me!txtCódigo & ""
    Set rst = CurrentDb.OpenRecordset(Sel)
    rst.Edit
    rst(CampoTabela) = Me(CampoFormulario)
    rst.Update
    rst.Close

    espero ter ajudado

      Data/hora atual: 24/10/2020, 07:33