Estou utilizando um Query para fazer update de uma tabela que contém dois campos do tipo DateTime, estes valores são informados pelo usuário a partir de dois SP, Verifiquei que o problema ocorre ao passar essas datas pelo método SetVariableValue, mesmo utilizando o método Cdate()
Ao remover os campos de data, o Update funciona normalmente. Qual seria o formato correto de inserir um DateTime?
O banco que estou utilizando é o SQL
Problema com Update de um Datetime
Olá @Giancarlo,
Poderia, por gentileza, nos disponibilizar o código SQL utilizado e também o trecho do script que passa os valores para a consulta?
Atenciosamente,
Bom dia @LucasSantos, obrigado pela disposição, este é o SQL:
UPDATE [dbo].[tbCalibracaoMaq_2]
SET datacalibra = '<%DATACALIBR%>'
,dataproxcalibra = '<%PROX_AUX%>'
,descricao = '<%DESCR_AUX%>'
,empresa = '<%EMPRESA_AUX%>'
,nometec = '<%TEC_AUX%>'
,acompanhante = '<%ACOMP_AUX%>'
,obs = '<%OBS_AUX%>'
,cbativo = '<%ATIVO_AUX%>'
WHERE numcertific = '<%CERTF%>'
E este é o scritp de validação
if atualiza_cad_regcal > 0 then
Screen.Item("UPDATE").SetVariableValue "DATACALIBR", Cdate(Screen.Item("data_calibr").Value)
Screen.Item("UPDATE").SetVariableValue "PROX_AUX", Cdate(Screen.Item("prox_calibr").Value)
Screen.Item("UPDATE").SetVariableValue "DESCR_AUX", Screen.Item("descr").Value
Screen.Item("UPDATE").SetVariableValue "ATIVO_AUX", Cint(Screen.Item("cbativo").Value)
Screen.Item("UPDATE").SetVariableValue "EMPRESA_AUX", Screen.Item("empresa").Value
Screen.Item("UPDATE").SetVariableValue "TEC_AUX", Screen.Item("tec").Value
Screen.Item("UPDATE").SetVariableValue "CERTF", Screen.Item("certif").Value
Screen.Item("UPDATE").SetVariableValue "ACOMP_AUX", Screen.Item("acomp").Value
Screen.Item("UPDATE").SetVariableValue "OBS_AUX", Screen.Item("obs").Value
Screen.Item("UPDATE").Execute(TRUE)
Application.GetObject("Dados1.atualiza_cad_regcal").Value=0
end if
Segue também uma imagem com a configuração do histórico que utilizo para a inserção de um novo cadastro desta tabela
Para facilitar a análise, a configuração dos campos de entrada é:
O qual possui um evento onClick:
Sub prox_calibr_Click()
if Application.ShowDatePicker(DataHora)then
Value = DataHora
end if
End Sub
Olá @Giancarlo,
Por gentileza, realize o seguinte teste, no código SQL, configure as variáveis de data com a seguinte estrutura:
#<%Variável%>#
Fico no aguardo do resultado.
Atenciosamente,
1 Like