ATUALIZANDO CAMPO [DATA] VB6 / ACCEES
Boa tarde a todos,
Em minha tabela de certidões, o campo [data_vencimento] esta definido como [data abreviada],
A [data_vencimento] é montada em uma variável [LdtDataVencimento ,<date>], por valores inteiros selecionados em uma combo. [dd/mm/yyy].
LdtDataVencimento = 0
LdtDataVencimento = LinDiaVencimento & [Ô]/[Ô] & LinMesVencimento & [Ô]/[Ô] & LinAnoVencimento
O modulo de inserção funciona 100%.
No módulo de alteração, apesar da variável [LdtDataVencimento] conter o valor correto ao salvar no [Ô]Access[Ô], o valor salvo é sempre [Ô]30/12/1899[Ô].
Se alguém puder ajudar !
valeu a atenção !
Wagner
Em minha tabela de certidões, o campo [data_vencimento] esta definido como [data abreviada],
A [data_vencimento] é montada em uma variável [LdtDataVencimento ,<date>], por valores inteiros selecionados em uma combo. [dd/mm/yyy].
LdtDataVencimento = 0
LdtDataVencimento = LinDiaVencimento & [Ô]/[Ô] & LinMesVencimento & [Ô]/[Ô] & LinAnoVencimento
O modulo de inserção funciona 100%.
No módulo de alteração, apesar da variável [LdtDataVencimento] conter o valor correto ao salvar no [Ô]Access[Ô], o valor salvo é sempre [Ô]30/12/1899[Ô].
Se alguém puder ajudar !
valeu a atenção !
Wagner
Na hora de gravar, passe no formato americano (MM/DD/YYYY), mesmo que esteja definido de outra forma.
LdtDataVencimento = 0
LdtDataVencimento = LinDiaVencimento & [Ô]/[Ô] & LinMesVencimento & [Ô]/[Ô] & LinAnoVencimento
LdtDataVencimento = FORMAT(LinDiaVencimento , [Ô]MM/DD/YYYY[Ô])
LdtDataVencimento = 0
LdtDataVencimento = LinDiaVencimento & [Ô]/[Ô] & LinMesVencimento & [Ô]/[Ô] & LinAnoVencimento
LdtDataVencimento = FORMAT(LinDiaVencimento , [Ô]MM/DD/YYYY[Ô])
Valeu a atenção, [Ô]Antoniobsj[Ô],
Eu já estou fazendo isto : LstSQL = LstSQL & [Ô]Data_Vencimento = [Ô] & Format(LdtDataVencimento, [Ô]mm/dd/yyyy[Ô]) & [Ô] [Ô]
e mesmo assim o valor salvo no [Ô]BD[Ô] é [Ô]30/12/1899[Ô].
Existe outro problema que não consigo identificar.
Eu já estou fazendo isto : LstSQL = LstSQL & [Ô]Data_Vencimento = [Ô] & Format(LdtDataVencimento, [Ô]mm/dd/yyyy[Ô]) & [Ô] [Ô]
e mesmo assim o valor salvo no [Ô]BD[Ô] é [Ô]30/12/1899[Ô].
Existe outro problema que não consigo identificar.
ja que colocou data abreviada tentou salvar da maneira comum
Format(data,[Ô]dd/mm/yyyy[Ô])
ou
Format(data,[Ô]dd/mm/yy[Ô])
Format(data,[Ô]dd/mm/yyyy[Ô])
ou
Format(data,[Ô]dd/mm/yy[Ô])
Valeu, Marcelo-Treze,
Cara já tentei sim, e o problema persiste.
Estou com esse problema a dois dias e não consigo resolver.
Cara já tentei sim, e o problema persiste.
Estou com esse problema a dois dias e não consigo resolver.
eu vi que para inserir funciona porem para alterar não funciona, então posta os dois módulos como estão
Montando datas
[ô]Emissão
LinDiaEmissao = 0
LinDiaEmissao = Val(Trim(cboDiaEmissao.Text))
LinMesEmissao = 0
LinMesEmissao = Val(Trim(cboMesEmissao.Text))
LinAnoEmissao = 0
LinAnoEmissao = Val(Trim(cboAnoEmissao.Text))
[ô]Vencimento
LinDiaVencimento = 0
LinDiaVencimento = Val(Trim(cboDiaVencimento.Text))
LinMesVencimento = 0
LinMesVencimento = Val(Trim(cboMesVencimento.Text))
LinAnoVencimento = 0
LinAnoVencimento = Val(Trim(cboAnoVencimento.Text))
[ô]Data_Vencimento
LdtDataVencimento = 0
LdtDataVencimento = LinDiaVencimento & [Ô]/[Ô] & LinMesVencimento & [Ô]/[Ô] & LinAnoVencimento
Modulo de inserção
[ô]Função pega próximo código
LinCodigoDocumento = 0
LinCodigoDocumento = fPegaProxNumero([Ô]Certidoes[Ô])
If LinCodigoDocumento <> 0 Then
LstSQL = [Ô][Ô]
LstSQL = [Ô]INSERT INTO Certidoes([Ô]
LstSQL = LstSQL & [Ô]codigo_Certidao, [Ô]
LstSQL = LstSQL & [Ô]Descriçao_certidao, [Ô]
LstSQL = LstSQL & [Ô]Complemento1, [Ô]
LstSQL = LstSQL & [Ô]Complemento2, [Ô]
LstSQL = LstSQL & [Ô]Complemento3, [Ô]
LstSQL = LstSQL & [Ô]Complemento4, [Ô]
LstSQL = LstSQL & [Ô]Dia_Emissao, [Ô]
LstSQL = LstSQL & [Ô]Mes_Emissao, [Ô]
LstSQL = LstSQL & [Ô]Ano_Emissao, [Ô]
LstSQL = LstSQL & [Ô]Dia_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Mes_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Ano_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Data_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Excluido, [Ô]
LstSQL = LstSQL & [Ô]tipo, [Ô]
LstSQL = LstSQL & [Ô]Usuario, [Ô]
LstSQL = LstSQL & [Ô]log[Ô]
LstSQL = LstSQL & [Ô]) VALUES ([Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinCodigoDocumento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtCertidao)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento1)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento2)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento3)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento4)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinDiaEmissao & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinMesEmissao & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinAnoEmissao & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinDiaVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinMesVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinAnoVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LdtDataVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & 0 & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & [Ô]cadastro[Ô] & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & gstLoginChave & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & Now & [Ô][ô][Ô]
LstSQL = LstSQL & [Ô])[Ô]
[ô]MsgBox [Ô]string : [Ô] & LstSQL
Err.Clear
myado.Execute LstSQL
Modulo de alteração
LstSQL = [Ô][Ô]
LstSQL = [Ô]UPDATE Certidoes SET [Ô]
LstSQL = LstSQL & [Ô]log = [ô][Ô] & Now & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Usuario = [ô][Ô] & gstLoginChave & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Tipo = [ô][Ô] & [Ô]alteração[Ô] & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Descriçao_certidao = [ô][Ô] & UCase(Trim(txtCertidao)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento1 = [ô][Ô] & UCase(Trim(txtComplemento1)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento2 = [ô][Ô] & UCase(Trim(txtComplemento2)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento3 = [ô][Ô] & UCase(Trim(txtComplemento3)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento4 = [ô][Ô] & UCase(Trim(txtComplemento4)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Dia_Emissao = [Ô] & LinDiaEmissao & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Mes_Emissao = [Ô] & LinMesEmissao & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Ano_Emissao = [Ô] & LinAnoEmissao & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Dia_Vencimento = [Ô] & LinDiaVencimento & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Mes_Vencimento = [Ô] & LinMesVencimento & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Ano_Vencimento = [Ô] & LinAnoVencimento & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Data_Vencimento = [Ô] & Format(LdtDataVencimento, [Ô]dd/mm/yyyy[Ô]) & [Ô] [Ô]
LstSQL = LstSQL & [Ô]Where codigo_Certidao = [Ô] & cc & [Ô] [Ô]
MsgBox [Ô]string : [Ô] & LstSQL
Err.Clear
myado.Execute LstSQL
[ô]Emissão
LinDiaEmissao = 0
LinDiaEmissao = Val(Trim(cboDiaEmissao.Text))
LinMesEmissao = 0
LinMesEmissao = Val(Trim(cboMesEmissao.Text))
LinAnoEmissao = 0
LinAnoEmissao = Val(Trim(cboAnoEmissao.Text))
[ô]Vencimento
LinDiaVencimento = 0
LinDiaVencimento = Val(Trim(cboDiaVencimento.Text))
LinMesVencimento = 0
LinMesVencimento = Val(Trim(cboMesVencimento.Text))
LinAnoVencimento = 0
LinAnoVencimento = Val(Trim(cboAnoVencimento.Text))
[ô]Data_Vencimento
LdtDataVencimento = 0
LdtDataVencimento = LinDiaVencimento & [Ô]/[Ô] & LinMesVencimento & [Ô]/[Ô] & LinAnoVencimento
Modulo de inserção
[ô]Função pega próximo código
LinCodigoDocumento = 0
LinCodigoDocumento = fPegaProxNumero([Ô]Certidoes[Ô])
If LinCodigoDocumento <> 0 Then
LstSQL = [Ô][Ô]
LstSQL = [Ô]INSERT INTO Certidoes([Ô]
LstSQL = LstSQL & [Ô]codigo_Certidao, [Ô]
LstSQL = LstSQL & [Ô]Descriçao_certidao, [Ô]
LstSQL = LstSQL & [Ô]Complemento1, [Ô]
LstSQL = LstSQL & [Ô]Complemento2, [Ô]
LstSQL = LstSQL & [Ô]Complemento3, [Ô]
LstSQL = LstSQL & [Ô]Complemento4, [Ô]
LstSQL = LstSQL & [Ô]Dia_Emissao, [Ô]
LstSQL = LstSQL & [Ô]Mes_Emissao, [Ô]
LstSQL = LstSQL & [Ô]Ano_Emissao, [Ô]
LstSQL = LstSQL & [Ô]Dia_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Mes_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Ano_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Data_Vencimento, [Ô]
LstSQL = LstSQL & [Ô]Excluido, [Ô]
LstSQL = LstSQL & [Ô]tipo, [Ô]
LstSQL = LstSQL & [Ô]Usuario, [Ô]
LstSQL = LstSQL & [Ô]log[Ô]
LstSQL = LstSQL & [Ô]) VALUES ([Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinCodigoDocumento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtCertidao)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento1)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento2)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento3)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & UCase(Trim(txtComplemento4)) & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinDiaEmissao & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinMesEmissao & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinAnoEmissao & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinDiaVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinMesVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LinAnoVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & LdtDataVencimento & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & 0 & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & [Ô]cadastro[Ô] & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & gstLoginChave & [Ô][ô],[Ô]
LstSQL = LstSQL & [Ô][ô][Ô] & Now & [Ô][ô][Ô]
LstSQL = LstSQL & [Ô])[Ô]
[ô]MsgBox [Ô]string : [Ô] & LstSQL
Err.Clear
myado.Execute LstSQL
Modulo de alteração
LstSQL = [Ô][Ô]
LstSQL = [Ô]UPDATE Certidoes SET [Ô]
LstSQL = LstSQL & [Ô]log = [ô][Ô] & Now & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Usuario = [ô][Ô] & gstLoginChave & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Tipo = [ô][Ô] & [Ô]alteração[Ô] & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Descriçao_certidao = [ô][Ô] & UCase(Trim(txtCertidao)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento1 = [ô][Ô] & UCase(Trim(txtComplemento1)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento2 = [ô][Ô] & UCase(Trim(txtComplemento2)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento3 = [ô][Ô] & UCase(Trim(txtComplemento3)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Complemento4 = [ô][Ô] & UCase(Trim(txtComplemento4)) & [Ô][ô], [Ô]
LstSQL = LstSQL & [Ô]Dia_Emissao = [Ô] & LinDiaEmissao & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Mes_Emissao = [Ô] & LinMesEmissao & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Ano_Emissao = [Ô] & LinAnoEmissao & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Dia_Vencimento = [Ô] & LinDiaVencimento & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Mes_Vencimento = [Ô] & LinMesVencimento & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Ano_Vencimento = [Ô] & LinAnoVencimento & [Ô], [Ô]
LstSQL = LstSQL & [Ô]Data_Vencimento = [Ô] & Format(LdtDataVencimento, [Ô]dd/mm/yyyy[Ô]) & [Ô] [Ô]
LstSQL = LstSQL & [Ô]Where codigo_Certidao = [Ô] & cc & [Ô] [Ô]
MsgBox [Ô]string : [Ô] & LstSQL
Err.Clear
myado.Execute LstSQL
Porque uso a data de vencimento de duas formas diferentes ?
Separado dia, mes, ano é um estilo que gosto de trabalhar.
Já o campo data_vencimento é usado para calcular o prazo de validade : gstSQL_Final = gstSQL_Final & [Ô] ct.data_vencimento - date() as prazo_validade [Ô]
Ok !!
Separado dia, mes, ano é um estilo que gosto de trabalhar.
Já o campo data_vencimento é usado para calcular o prazo de validade : gstSQL_Final = gstSQL_Final & [Ô] ct.data_vencimento - date() as prazo_validade [Ô]
Ok !!
tenta
na inserção vc não formata o campo tente também não formatar da alteração
LstSQL = LstSQL & [Ô]Data_Vencimento = [Ô] & LdtDataVencimento & [Ô] [Ô]
na inserção vc não formata o campo tente também não formatar da alteração
Já havia testado sem formatação, mas testei outra vez e não funcionou !
Será algum bug do Access ?
Será algum bug do Access ?
Resolvido !!!!!
O código ficou assim .... LstSQL = LstSQL & [Ô]Data_Vencimento = #[Ô] & Format(LdtDataVencimento, [Ô]mm/dd/yyyy[Ô]) & [Ô]# [Ô]
Valeu a atenção de todos !!!!
O código ficou assim .... LstSQL = LstSQL & [Ô]Data_Vencimento = #[Ô] & Format(LdtDataVencimento, [Ô]mm/dd/yyyy[Ô]) & [Ô]# [Ô]
Valeu a atenção de todos !!!!
Faça seu login para responder