INSERIR DATA

GUTO 22/11/2006 11:33:02
#185737
Oi pessoal to fazendo uma instruçã simples aqui pra inserir a data atual via insert into desse jeito aki, ja tentei fazer de varias formas Atraves dessa instruçao e nao consigo alguem ae tem uma ideia?

Bd_Hora.Execute ("INSERT INTO HExtra (Codigo,Data,Matricula,HInicial,HFinal,SaldoHora,Nome,Setor,CCusto) values ('" & TxtCod.Text & "'[txt-backcolor=#ffff00]," & Format(TxtData.Text, "mm/dd/yyyy") & "[/txt-backcolor],'" & Lb_Mat.Caption & "','" & TxtHinicial.Text & "','" & TxtHfinal.Text & "','" & TxtSaldo.Text & "','" & Lb_Nome.Caption & "','" & Lb_Setor.Caption & "','" & Lb_Custo.Caption & "')")
USUARIO.EXCLUIDOS 22/11/2006 11:49:39
#185745
GUTO,

Já que não estás conseguindo desta forma, seria interessante se formatasses a data antes de gravar no banco de dados.

O erro dá somente nesse trecho de código?

Abraços,

USUARIO.EXCLUIDOS 22/11/2006 11:49:50
#185746
Se o banco for Access

Use Assim:
Bd_Hora.Execute ("INSERT INTO HExtra (Codigo,Data,Matricula,HInicial,HFinal,SaldoHora,Nome,Setor,CCusto) values ('" & TxtCod.Text & "',#" & Format(TxtData.Text, "mm/dd/yyyy") & "#,'" & Lb_Mat.Caption & "','" & TxtHinicial.Text & "','" & TxtHfinal.Text & "','" & TxtSaldo.Text & "','" & Lb_Nome.Caption & "','" & Lb_Setor.Caption & "','" & Lb_Custo.Caption & "')")

PS: é só incluir # antes e depois da data

Agora se for Sql Server, vc tem que usar o convert

Bd_Hora.Execute ("INSERT INTO HExtra (Codigo,Data,Matricula,HInicial,HFinal,SaldoHora,Nome,Setor,CCusto) values ('" & TxtCod.Text & "'," & "CONVERT(DateTime, '" & Format(TxtData, "mm/dd/yyyy") & " 00:00:00', 102)" & ",'" & Lb_Mat.Caption & "','" & TxtHinicial.Text & "','" & TxtHfinal.Text & "','" & TxtSaldo.Text & "','" & Lb_Nome.Caption & "','" & Lb_Setor.Caption & "','" & Lb_Custo.Caption & "')")


USUARIO.EXCLUIDOS 22/11/2006 11:50:10
#185747
bom, tente usar da forma abaixo:

Bd_Hora.Execute ("INSERT INTO HExtra (Codigo,Data,Matricula,HInicial,HFinal,SaldoHora,Nome,Setor,CCusto)
values ('" & TxtCod.Text & "','" & Format(TxtData.Text, "mm/dd/yyyy") & "','" & Lb_Mat.Caption & "','" & TxtHinicial.Text & "','" & TxtHfinal.Text & "','" & TxtSaldo.Text & "','" & Lb_Nome.Caption & "','" & Lb_Setor.Caption & "','" & Lb_Custo.Caption & "')")

Se não funcionar, diga qual seu banco de dados e verifique no mesmo o formato em que a data esta sendo gravada, pois, em alguns bancos ele grava com yyyy/mm/dd.

Espero que te ajude.
USUARIO.EXCLUIDOS 22/11/2006 11:51:27
#185748
qual banco está utilizando ???

só lembrando que campo data precisa estar entre aspas. 'mm/dd/yyyy'
GUTO 22/11/2006 12:05:12
#185754
Pessoal valew por postarem


CARLOSFRANCA

desse jeito eu aj tentei tambem da erro tipo

Sitaxe error in date in query expression "##"

MARCOSA

ja tentei tmabem dese jeito deu erro

Data Type mismatch in critera expression

Meu banco é accesss, ta frmatado logicamente como data/hora no banco e , tentei colocara tambem no format da mesma forma que esta configurado no configurações regionais




USUARIO.EXCLUIDOS 22/11/2006 13:38:47
#185776
Guto,

O erro que vc está especificando (Sitaxe error in date in query expression "##" ) é porque o campo txtData está vazio... Vc tem que testar e se o campo estiver vazio passar NUll.

Se o campo estiver preenchido com uma data válida não tem porque dar erro.

Att,
Carlos França
USUARIO.EXCLUIDOS 22/11/2006 13:56:55
#185781
Citação:

pra inserir a data atual



Já que é a data atual, faça assim:
Bd_Hora.Execute ("INSERT INTO HExtra (Codigo,Data,Matricula,HInicial,HFinal,SaldoHora,Nome,Setor,CCusto) values ('" & TxtCod.Text & "',#" & Format(Now, "mm/dd/yyyy") & "#,'" & Lb_Mat.Caption & "','" & TxtHinicial.Text & "','" & TxtHfinal.Text & "','" & TxtSaldo.Text & "','" & Lb_Nome.Caption & "','" & Lb_Setor.Caption & "','" & Lb_Custo.Caption & "')")
GUTO 22/11/2006 14:07:44
#185785
CARLOSFRANCA

No banco eu preenchi o campo com a data abreviada tipo 21/11/06 , mas ele nao iinsere a data de hoje ta o memso erro...e ralmente nao tinha instruçao pra verificar se ele é Null, mas depois de preencher continuou o erro irmao.valew

#" & Format(txtdataCad.Text, "DD/MM/YY") & "#

USUARIO.EXCLUIDOS 22/11/2006 14:11:10
#185786
Resposta escolhida
GUTO, o que o CARLOS disse é verdade, eu recomendo usar uma função pra inserir datas que aí evita esses problemas:

Coloque a função num módulo:
Public function ConvData(ByVal Data As String) As String
If Isdate(Data) = False Then
ConvData = "NULL"
Else
ConvData = "#" & Format(Data, "MM/DD/YYYY") & "#"
End If
End function


Daí pra usar:

Bd_Hora.Execute "INSERT INTO HExtra (Codigo,Data,Matricula,HInicial,HFinal,SaldoHora,Nome,Setor,CCusto) values ('" & TxtCod.Text & "'," & ConvData(TxtData.Text) & ",'" & Lb_Mat.Caption & "','" & TxtHinicial.Text & "','" & TxtHfinal.Text & "','" & TxtSaldo.Text & "','" & Lb_Nome.Caption & "','" & Lb_Setor.Caption & "','" & Lb_Custo.Caption & "')"


Qualquer dúvida poste...flw
GUTO 22/11/2006 14:30:53
#185791
MATIOLI

eu fiz uma função aki pra dizer se é Null , mas a sua parece melhor eu testei aki mas ta voltando em branco o valor da campo data atual, porque sera ?

MARCELOHF

Nao tinha feito ainda desse modo, funcionou certinho, vou tentar colocar o Null agora pra ficar bom, mas valew
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas