Ir para conteúdo

POWERED BY:

Arquivado

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

Webdotx

onde esta o erro?

Recommended Posts

Po galera olha eu ai de novo eu fiz um sisteminha de horas extras e ja tá até funcionando mais agora eu preciso cadastra as infos no BD de uma olhadinha no codigo que envia as informações pro BD

<%'Variaveis do Sistema'dim nomedim salariodim horaentradim horasaidim totalhoradim transform60dim hextra50dim hextra100dim val50dim val100dim tempoextradim h50dim h100dim totalMinutosTrabalhadosNoPeriododim dia01'Conectando ao BDcategoria = request.form("categoria") Set Conexao = Server.CreateObject("ADODB.Connection")Conexao.Open "DBQ=C:\vlfsistemas\datas.mdb;Driver={Microsoft Access Driver (*.mdb)};"Set rs1 = Server.CreateObject("ADODB.RecordSet") IF Trim(categoria)<> "" Then rs1.Open "SELECT * FROM tbfunc WHERE idfuncion= "& Trim(categoria) & " ORDER BY nome", conexao end if'Calculando hora salarial'id = Request.Form("categoria")data = Request.Form("data")nome = (rs1("nome")) salario = (rs1("Salario")) tempoextra = salario / "220"salario = FormatCurrency(salario)tempoextra = FormatCurrency(tempoextra)response.Write (id)response.Write ("<br>") response.Write (nome)response.Write ("<br>") response.Write (data)response.Write ("<br>") 'Calcular hora 2'totalMinutosTrabalhadosNoPeriodo = "0" Entrada01 = Request.Form("henter")Saida01 = Request.Form("hexit")dia01 = DateDiff ("n",Entrada01,Saida01) totalMinutosTrabalhadosNoPeriodo = dia01 minutos = totalMinutosTrabalhadosNoPeriodo Mod 60 horas = (totalMinutosTrabalhadosNoPeriodo - minutos) / 60 response.Write (entrada01)response.Write ("<br>") response.Write (saida01)response.Write ("<br>") response.Write ("Aqui eu encontrei o salario e a entra e saida do funcionario")response.Write ("<hr>")'Calculando o Tempo'horaentra = Request.Form("henter")horasai = Request.Form("hexit")totalhora = Datediff("n", horaentra,horasai)totalMinutosTrabalhadosNoPeriodo = totalhora'transform60 = totalhora / "60"'transform60 = FormatNumber(transform60)minutos = totalMinutosTrabalhadosNoPeriodo Mod 60 horas = (totalMinutosTrabalhadosNoPeriodo - minutos) / 60 temp = horas&","&minutostemp = FormatNumber(temp)response.Write (temp)response.Write ("<br>") response.Write ("Aqui eu encontro o total de horas trabalhadas")response.Write ("<hr>")'calculo de 50% e 100% de horas extras'hextra50 = tempoextra * "0,50"hextra100 = tempoextra * "1,00"'hextra50 = FormatCurrency(hextra50)'hextra100 = FormatCurrency(hextra100)'response.Write ("Tempo 50% - ")'response.Write (hextra50)response.Write ("<br>")'response.Write ("Tempo 100% - ")'response.Write (hextra100)response.Write ("<br>")'somando o resultado para encontrar os valores de 50% e 100% a mais na hora extra'h50 = tempoextra + hextra50h50 = FormatCurrency(h50)response.Write(h50)response.Write ("<br>") h100 = tempoextra + hextra100h100 = FormatCurrency(h100)response.Write(h100)'Calculando o valor da hora extra vezes a quantidade trabalhada'temp = horas &","& minutosval50 = temp * h50val50 = FormatCurrency(val50)val100 = temp * h100val100 = FormatCurrency(val100)response.Write ("<hr>")response.Write ("Tempo Valor 50% - ")response.Write (val50)response.Write ("<br>")response.Write ("Tempo Valor 100% - ")response.Write (val100)response.Write ("<br>")strSQL = "INSERT INTO tbextra (idfuncion,data,entradah,saidah,totalh) VALUES ("& id &",#"&data&"#,#"&entrada01&"#,#"&saida01&"#,"& temp &")"conexao.execute strSQLSet strsql = NothingSet Conexao = Nothingresponse.End',totalh,valh50,valh100,totalh50,totalh100',"&temp&","& h50 &","& h100 &","& val50 &","& val100 &"%>
esse é o erro

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Número de valores da consulta e campos de destino não coincidem./vlf/x.asp, line 110

a variavel temp esta dando o erro eu nao consigo enviar as informações contidas nela pro BDMe ajuda ahe galera :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim sim claro...

nome campo - tipo

idfuncion - numero

data - texto

entrada01 - texto

saida01 - texto

o restante como numero

eu acho que estou errando aqui pois a situação é a seguinte

a variavel temp recebe dois valores eu nao sei se fiz certo veja a linha

temp = horas &","& minutos
quando eu coloco no insert into a variavel temp da o tal erro veja

 

Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na data na expressão de consulta /vlf/x.asp, line 110
cara ja tentei um monte de coisa mais continua dando erro deu pra entender a minha explicação sobre minha duvida

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo totalh está como numero ????? caso nao, vai dar erro!

se tiver como texto, troca pra isso

 

' " & temp & " ' (use aspas simples)

 

se nao for, nao sei !!!! :P

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

:mellow: eu fiz un teste aqui agora e constatei o erro mais nao sei a soluçãoa variavel temp aparece no response.write assim1,2 esse 1,2 nao esta cadastrando no BD eu dei um valor 1 para essa variavel e funcionou cadastrando o numero 1 no BD mais o 1,2 nao cadastra o que deve ser? :( no banco de dados o campo temp esta como numero

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ai galera consegui resolver - valeu pela atenção Fuiii....

Poderia descrever sua solução?, pois sua resposta podem ajudar a outros!

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.