INSERIR DATA
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 & "')")
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 & "')")
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,
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,
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 & "')")
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 & "')")
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.
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.
qual banco está utilizando ???
só lembrando que campo data precisa estar entre aspas. 'mm/dd/yyyy'
só lembrando que campo data precisa estar entre aspas. 'mm/dd/yyyy'
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
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
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
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
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 & "')")
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") & "#
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") & "#
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:
Daà pra usar:
Qualquer dúvida poste...flw
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
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
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
Tópico encerrado , respostas não são mais permitidas