Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

baladaclick

probllema ao atualizar registro

Recommended Posts

Galera to com problema ao atualizar um registro.

ele da o erro que tipo de dados incompativeis com a expressão de critério

isso ocorreu depois que eu mudei o formato da data no banco de dados, ele era texto e deixei como data

 

olha meu code

 

<%pedido=cint(request.querystring("pedido")) 'converte para intpedido = request.Form("pedido")observacao = request.form("observacao")restricoes = request.form("restricoes")data_alteracao = request.form("data_alteracao")aprovacao = request.form("aprovacao")reanalise = request.Form("reanalise")finalizado = request.Form("finalizado")Set conexao = CreateObject("ADODB.Connection")abrir ="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("banco/netdbf.mdb")conexao.open abriralterar = "UPDATE clientes set observacao= '"& observacao &"', restricoes= '"& restricoes &"', data_alteracao= '"& data_alteracao &"', aprovacao= '"& aprovacao &"',  reanalise= '"& reanalise &"',  finalizado= '"& finalizado &"' where pedido= '"&pedido&"';"Conexao.execute(alterar)response.redirect("adm.asp")%>

observação: o campo "data_alteracao" e "finalizado" são campos de formato data no banco

 

eu imprimi o erro:

 

UPDATE clientes set observacao= '', restricoes= '', data_alteracao= '03/05/2007', aprovacao= '', reanalise= '', finalizado= '' where pedido= '8374';

 

 

quem puder me ajudar!!! valew moçada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Só pra confirmar esta parte esta certa?

where pedido= '8374';

 

O pedido é realmente character e deveria vir entre plics (') msm?

 

 

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem lembrado jonathandj

 

 

Faça assim:

data_alteracao= #"& data_alteracao &"#...........

 

você esta utilzando Access, não é? Se for isto deve resolver.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um teste aqui. ja sei o pq ele dá problema, ele nao aceita a data em branco. como faço p aceitar a data em branco?ele da essa mensagem[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na data na expressão de consulta '##'. /sam/altera.asp, line 19

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê um :

response.write alterar
E post o resultado ai.t+

fiz um teste aqui. ja sei o pq ele dá problema, ele nao aceita a data em branco. como faço p aceitar a data em branco?ele da essa mensagem[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na data na expressão de consulta '##'. /sam/altera.asp, line 19

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto. fiz o printo do erroUPDATE clientes set observacao= '', restricoes= '', data_alteracao= #03/05/2007#, aprovacao= '', reanalise= '', finalizado= ## where pedido= '8374';

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz tempo que não uso access, mas se não me engano não vai aspas simples na query quando usamos data...tente uma dessas duas formas:sem aspas simples:

alterar = "UPDATE clientes set observacao= '"& observacao &"', restricoes= '"& restricoes &"', data_alteracao= #"& data_alteracao &"#, aprovacao= '"& aprovacao &"',  reanalise= '"& reanalise &"',  finalizado= '"& finalizado &"' where pedido= '"&pedido&"';"
com aspas simples(acho que essa não funciona):
alterar = "UPDATE clientes set observacao= '"& observacao &"', restricoes= '"& restricoes &"', data_alteracao= #'"& data_alteracao &"'#, aprovacao= '"& aprovacao &"',  reanalise= '"& reanalise &"',  finalizado= '"& finalizado &"' where pedido= '"&pedido&"';"

Bem lembrado jonathandjFaça assim:

data_alteracao= #"& data_alteracao &"#...........
você esta utilzando Access, não é? Se for isto deve resolver.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

O campo finalizado esta em branco.

finalizado= ##

 

Ele poderá vir em branco?

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Eu estou igual ao jonathandj quase não utilizo o Access então vamos por partes.

 

Tenta colocar uma data nem que seja fixa para o campo finalizado. Vamos tentar criar um expressão valida depois trataremos os nulos.

 

Não tenho como testar aqui por não tenho access aqui no trampo.

 

Faço o teste e post.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

se não me engano não dá pra gravar data em branco no access, de repente você terá que utilizar uma data "ficticia" caso seja nulo, tipo 01/01/2999mas antes de pensar nisso que coloquei, verifique se o campo está como requerido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camaradas,

 

 

Direto no access aceita assim:

UPDATE Tabela1 SET Tabela1.Campo1 = Null;

 

Pode ser que o campo não esta nulo (null) e sim com lixo.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

então é só fazer uma verificaçãoif isdate(variavel) thensql que grava a dataelsesql com data NULLend ifexecuta sql.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.