
Notax
Membros-
Total de itens
501 -
Registro em
-
Última visita
Tudo que Notax postou
-
(Resolvido) colocando a função do tab tb no enter
pergunta respondeu ao Notax de Notax em Ajax, JavaScript, XML, DOM
Ahhh... entendi... saquei... valeu Andreia... brigadão pela força... vai ficar bem melhor agora! []'s Notax -
(Resolvido) porque essa funcao não funciona?!?
pergunta respondeu ao Notax de Notax em Ajax, JavaScript, XML, DOM
fala pessoal... seguinte... eu vi ali que estavam faltando chaves no final... mas mesmo com elas não funcionou... tipo, tentei dessa forma: <script language="javascript"> function valida_campo() { var hi1 = document.form.hi1; var hf1 = document.form.hf1; if ( parseInt(hi1.innterHTML) > parseInt(hf1.innerHTML)){ alert("A 1ª hora final está menor do que a 1ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf1.focus() return false } } </script> <html> </html> <select name="hi1" id="hi1"> <option selected></option> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> </select> <select name="hf1" id="hf1"> <option selected></option> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> </select> se eu colocasse os valores "value" nas tags do select funcionaria será? tipo fazer só assim: <option value="0">0</option> <option value="1">1</option> mas daí tenho que usar o parseint, eval ou nada precisa? valeu a força! []'s Notax -
(Resolvido) colocando a função do tab tb no enter
pergunta respondeu ao Notax de Notax em Ajax, JavaScript, XML, DOM
Fala pessoal, beleza? Jothaz, masi elegante do que: A Jedi Andréia que me desculpe... mas é impossível ser mais elegante do que isso? rssssssss... desculpem a demora em responder... tive que dar uma viajadinha... mas já estou de volto e na ativa! Andréia, não entendi... ali com imagem você quis dizer tipo uma figura? um botão qualquer? Mas podes me explicar qual é a diferença e como faria isso? valeu a força... []'s Notax -
(Resolvido) porque essa funcao não funciona?!?
pergunta respondeu ao Notax de Notax em Ajax, JavaScript, XML, DOM
Fala Kakarotto, tentei assim como sugeiu mas mesmo assim continuou não funcionando... vou postar aqui a função inteira... não tinha o feito antes porque é meio grandinha... será que eu cometi algum outro erro? <script language="javascript"> function valida_campo() { var nome = document.form.nome; var txtdd = document.form.txtdd; var txtmm = document.form.txtmm; var txtaa = document.form.txtaa; var hi1 = document.form.hi1; var hi2 = document.form.hi2; var hi3 = document.form.hi3; var hi4 = document.form.hi4; var hi5 = document.form.hi5; var hi6 = document.form.hi6; var hi7 = document.form.hi7; var hi8 = document.form.hi8; var hi9 = document.form.hi9; var hi10 = document.form.hi10; var hi11 = document.form.hi11; var hi12 = document.form.hi12; var hi13 = document.form.hi13; var hi14 = document.form.hi14; var hi15 = document.form.hi15; var hf1 = document.form.hf1; var hf2 = document.form.hf2; var hf3 = document.form.hf3; var hf4 = document.form.hf4; var hf5 = document.form.hf5; var hf6 = document.form.hf6; var hf7 = document.form.hf7; var hf8 = document.form.hf8; var hf9 = document.form.hf9; var hf10 = document.form.hf10; var hf11 = document.form.hf11; var hf12 = document.form.hf12; var hf13 = document.form.hf13; var hf14 = document.form.hf14; var hf15 = document.form.hf15; if (nome.value==""){ alert("Digite o Nome!"); nome.focus() return false } if (txtdd.value==""){ alert("Digite o dia!"); txtdd.focus() return false } if (txtdd.value <1){ alert("O dia da data está incorreto!"); txtdd.focus() return false } if (txtdd.value >31){ alert("O dia da data está incorreto!"); txtdd.focus() return false } if (txtmm.value==""){ alert("Digite o mês!"); txtmm.focus() return false } if (txtmm.value <1){ alert("O mês da data está incorreto!"); txtmm.focus() return false } if (txtmm.value >12){ alert("O mês da data está incorreto!"); txtmm.focus() return false } if (txtaa.value==""){ alert("Digite o ano!"); txtaa.focus() return false } if (txtaa.value <1900){ alert("O ano da data está incorreto!"); txtaa.focus() return false } if (txtaa.value >3000){ alert("O ano da data está incorreto!"); txtaa.focus() return false } if ( parseInt(hi1.innterHTML) > parseInt(hf1.innerHTML)) alert("A 1ª hora final está menor do que a 1ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf1.focus() return false } if ( parseInt(hi2.innterHTML) > parseInt(hf2.innerHTML)) alert("A 2ª hora final está menor do que a 2ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf2.focus() return false } if ( parseInt(hi3.innterHTML) > parseInt(hf3.innerHTML)) alert("A 3ª hora final está menor do que a 3ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf3.focus() return false } if ( parseInt(hi4.innterHTML) > parseInt(hf4.innerHTML)) alert("A 4ª hora final está menor do que a 4ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf4.focus() return false } if ( parseInt(hi5.innterHTML) > parseInt(hf5.innerHTML)) alert("A 5ª hora final está menor do que a 5ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf5.focus() return false } if ( parseInt(hi6.innterHTML) > parseInt(hf6.innerHTML)) alert("A 6ª hora final está menor do que a 6ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf6.focus() return false } if ( parseInt(hi7.innterHTML) > parseInt(hf7.innerHTML)) alert("A 7ª hora final está menor do que a 7ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf7.focus() return false } if ( parseInt(hi8.innterHTML) > parseInt(hf8.innerHTML)) alert("A 8ª hora final está menor do que a 8ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf8.focus() return false } if ( parseInt(hi9.innterHTML) > parseInt(hf9.innerHTML)) alert("A 9ª hora final está menor do que a 9ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf9.focus() return false } if ( parseInt(hi10.innterHTML) > parseInt(hf10.innerHTML)) alert("A 10ª hora final está menor do que a 10ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf10.focus() return false } if ( parseInt(hi11.innterHTML) > parseInt(hf11.innerHTML)) alert("A 11ª hora final está menor do que a 11ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf11.focus() return false } if ( parseInt(hi12.innterHTML) > parseInt(hf12.innerHTML)) alert("A 12ª hora final está menor do que a 12ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf12.focus() return false } if ( parseInt(hi13.innterHTML) > parseInt(hf13.innerHTML)) alert("A 13ª hora final está menor do que a 13ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf13.focus() return false } if ( parseInt(hi14.innterHTML) > parseInt(hf14.innerHTML)) alert("A 14ª hora final está menor do que a 14ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf14.focus() return false } if ( parseInt(hi15.innterHTML) > parseInt(hf15.innerHTML)) alert("A 15ª hora final está menor do que a 15ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf15.focus() return false } } var isNN = (navigator.appName.indexOf("Netscape")!=-1); function autoTab(input,len, e) { var keyCode = (isNN) ? e.which : e.keyCode; var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46]; if(input.value.length >= len && !containsElement(filter,keyCode)) { input.value = input.value.slice(0, len); input.form[(getIndex(input)+1) % input.form.length].focus(); } function containsElement(arr, ele) { var found = false, index = 0; while(!found && index < arr.length) if(arr[index] == ele) found = true; else index++; return found; } function getIndex(input) { var index = -1, i = 0, found = false; while (i < input.form.length && index == -1) if (input.form[i] == input)index = i; else i++; return index; } return true; } function blokletras(caracter) { var tecla; if(window.event) // Internet Explorer tecla = event.keyCode; else // Firefox tecla = caracter.which; if(tecla == 46) return false; else return true; } </script> valeu a força []'s Notax -
Pessoal, tenho essa função abaixo: <script language="javascript"> function valida_campo() { var hi1 = document.form.hi1; var hf1 = document.form.hf1; if (hi1.value > hf1.value){ alert("A 1ª hora final está menor do que a 1ª hora inicial. Acerte de forma que a hora final seja sempre maior do que a hora inicial."); hf1.focus() return false } } </script> <html> </html> <select name="hi1" id="hi1"> <option selected></option> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> </select> <select name="hf1" id="hf1"> <option selected></option> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> </select> no FF SEMPRE da o alert, mesmo quando não deveria e no IE NUNCA da o alert mesmo quando deveria... Rola uma forcinha? []'s Notax
-
(Resolvido) colocando a função do tab tb no enter
pergunta respondeu ao Notax de Notax em Ajax, JavaScript, XML, DOM
Grande Andreia, tudo beleza? E daí jothaz, tranquilo? Sortudo é o cara que pudesse contratar a Andréia hein?!? Ninja! sabe muito! Então... muito obrigado pelo retorno... é que eu tenho um form que tem mais de 100 inputs... ficou grande pra caramba... e tipo se o bagual do usuario aperta enter submete o form antes de estar completo, sacaram? Por isso eu queria tentar um jeito mais facinho assim de bloquear o enter sem ter que ser de um em um input chamar a function... mas ta beleza... vamos lá! no braçal mesmo! Quanto a terceira dúvida eu gostaria de explicar melhor... é que eu pensei em ao invés de bloquear o enter, tentar fazer com que o enter atuasse como TAB, tipo, ao ser pressionado ir para o input seguinte e assim por diante... O importante mesmo pra mim é que o form só pudesse ser submetido se o botão fosse clicado... e não fosse possível submeter com o enter... Depois dessa explicação, será que vocês conhecem um jeitinho mais facinho de fazer isso? meio que fiquei com preguiça de encara estes cento e cacetadas de inputs... grande pacas... valeu a força... []'s Notax E aí pessoal, só no braço mesmo... configurar essa penca de inputs ou tem um jeitinho mais fácil? []'s Notax -
(Resolvido) colocando a função do tab tb no enter
uma questão postou Notax Ajax, JavaScript, XML, DOM
Pessoal, bom dia.... se alguém puder me ajudar tenho algumas dúvidas... uso aqui uma função da Andreia SP que é assim: <script> var isNN = (navigator.appName.indexOf("Netscape")!=-1); function autoTab(input,len, e) { var keyCode = (isNN) ? e.which : e.keyCode; var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46]; if(input.value.length >= len && !containsElement(filter,keyCode)) { input.value = input.value.slice(0, len); input.form[(getIndex(input)+1) % input.form.length].focus(); } function containsElement(arr, ele) { var found = false, index = 0; while(!found && index < arr.length) if(arr[index] == ele) found = true; else index++; return found; } function getIndex(input) { var index = -1, i = 0, found = false; while (i < input.form.length && index == -1) if (input.form[i] == input)index = i; else i++; return index; } return true; } function blokletras(caracter) { var tecla; if(window.event) // Internet Explorer tecla = event.keyCode; else // Firefox tecla = caracter.which; if(tecla == 13) return false; else return true; } no input eu coloco assim: onkeypress="return blokletras(event)" </script> beleza... essa função bloqueia o enter... dúvida 1) o problema é que eu tenho que colocar onkeypress="return blokletras(event)" em todos os inputs... não teria como chamar essa função de uma forma mais geral... tipo, quando a página for carregada automaticamente já bloquear a tecla enter? dúvida 2) Como eu faria para ao invés de simplesmente bloquear a tecla enter aparecesse tb um alerta dizendo que a tecla não pode ser usada? duvida 3) eu tenho como ao carregar a página substituir a "função" da tecla enter... tipo... colocar nela a mesma função que tem a tecla tab? valeu pela força. Notax -
FutaqueFariu! Consegui aqui pessoal! Fica algumas dicas pra que for trabalhar com a horas... Primeiro... nunca, nunca, nunca, a hora final pode ser menor do que a hora incial... parece bobagem falar isso, mas o que eu quero dizer é que das 22:00 de um dia até as 08:00 do outro dia significa dizer que a hora final 8:00 é menor do que a hora incial, sacaram??? Dois... formate as suas horas de forma a ficarem exatamente igual ao bd... tem que ficar EXATAMENTE IGUAL... tipo, shortdate, longdate ou o que seja! Ao Bareta e ao Kuroi, seguem novamente um agradecimento especial... valeu toda a força e atenção... quanto aos while... aprenda com o meu erro e não confunda funda com b***, no meu caso era necessário apenas um While e referente ao RS3, depois... era só colocar o select em questão DENTRO DESTE WHILE... sem abrir novos whiles ou novas funções... Funcionou legal aqui... []'s a todos... Notax
-
Bareta, tipo... bah... não quero abusar mesmo... mas se tu pudesse fazer uma gentileza pra mim... tipo... esquece tudo o que eu postei até agora... me mostra na prática como você faria uma questão hipotética, ok? Pode ser? se não puder nem te estressa que vou entender... sei que és muito ocupado... mas se puder... vai a hipotese: Preciso de um select que selecione o campo valor da tabela regras, levando-se em consideração que: a tabela regras tem os seguintes campos: nome numeroincial numerofinal valor os registros que preciso dessa tabela tem que ser obrigatoriamente advindos dos campos abaixo da tabela problemas: nome numeroproblema ou seja, se na tabela problemas temos algum registro com nome fulanodetal e numerofinal qualquer, devemos procurar na tabela regras algum valor que se adeque a este nome e ao numerofinal desta tabela que deverá obrigatoriamente estar entre o numeroinicial e o numerofinal da tabela regras... o meu problema aqui não está em construir o select com o between, como você deve ter notado... o meu problema é: 1) numeroincial e numerofinal estão de uma forma no bd e apenas para que a comparação possa ser feita eles são operados matematicamente, lembrando que estes numeros na verdade vem do recordset de uma outra consulta... 2)numeroproblema tb é tratado matematicamente e advem de outro recordset de outra consulta. 3) por último, tenho que fazer o primeiro recordset e o segundo recordset "corrorem" simultanemante com um terceiro recordset... muito F*********! Tipo... to a um passo de desistir desse troço... nunca pensei que fosse falar isso... mas é sério... já to começando a acreditar que simplesmente não pode ser feito desta forma! valeu pela atenção... []'s Notax
-
valeu Bareta... ta confuso mesmo... bom primeiro porque essa parte aí que postei é so uma versão de testes... mas segundo e mais importante porque esse monte de whiles estão me deixando maluco... deve estar por ali mesmo esse erro maldito... mas agradeço a força que tu estás me dando... testei aqui o codigo da forma que você postou... o que me intrigou não é o fato de não estar aparecendo nada na consulta... mas sim o fato de que o proprio debug daquele famigerado select ComandoSQL5 não estar acontecendo... Nem executa aquele trecho do codigo... Na real, além de não entender isso to meio perdido na lógica por traz desses while... porque tipo... como tu deves ter notado são varias tabelas que são selecionadas atraves de vários selects antes de chegar na do ComandoSQL5... e eu to me perdendo exatamente nesse momento... porque precisava simplesmente disso: ComandoSQL5 = "seleione o campo valor da tabela regrashora onde o campo cliente = '"&nomecliente&"' e "&hnf&" esteja entre "&hnir&" e "&hnfr o problema é que: nome cliente vem de um outro select, assim como hnf vem de um outro, e hnir e hnfr de outro... então na pratica precisaria percorrer a tabela regrashora até achar um comibinação onde o hnf caiba ou não, cabendo ou não teria que passar para o proximo hnf percorrendo a tabela regrashora... ou seja, da mesma forma que percorre a regrashora tb tem que percorrer a tabela problems... punk cara! muito punk esse troço! []'s Notax
-
pessoal... olha só aqui... acho que cheguei a algum lugar: o codigo está assim: <% Option Explicit Response.Expires = 0 Dim objConn, objRs, strQuery, ComandoSQL, Conexao, ddi, mmi, aai, datai, ddf, mmf, aaf, dataf, txtNome, chcNome Dim strConnection, stringSQL, array_id, i, sql_id, id, nomecliente, ComandoSQL1, objConn1, ObjRs1, ComandoSQL2, objConn2, ObjRs2, ComandoSQL3, objConn3, ObjRs3, logincliente, tipoatendimento, ComandoSQL4, objConn4, ObjRs4, n , ComandoSQL5, objConn5, ObjRs5, hi, hf, ni, nf, hni, hnf, horai, horaf, hr, nr, hnr, qtdhoras, qtdminutos, saldo, tempogasto, nomecliente1, hir, nir, hnir, hfr, nfr, hnfr n = 1 id = Request.QueryString("checkbox") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" if err = 0 and id <> "" then array_id = split(id,",") For i=0 to ubound(array_id) sql_id = sql_id & "tblUsers.sid = " & Trim(array_id(i)) & " OR " Next sql_id = left(sql_id,(len(sql_id)-4)) stringSQL = "select * from tblUsers WHERE "&sql_id&"" Set ObjRs = objConn.Execute(stringSQL) end if %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> </head> <body> <div id="global" STYLE="border: solid; border-width: 1px;border-color: #011C37;"> <div id="header"><!--#include file="header.asp"--></div> <div id="list1"><!--#include file="menu.asp"--></div> <div id="main"> <table width="650" border="1" cellspacing="0" cellpadding="0"> <tr> <td>horai</td> <td>horaf</td> <td>closedate</td> <td>valor da regra</td> </tr> <% While Not objRS.EOF nomecliente = objRS("fname") logincliente = objRS("uid") ComandoSQL3 = "select * from problems where uid = '"&logincliente&"'" Set objConn3 = Server.CreateObject("ADODB.Connection") objConn3.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs3 = objConn3.Execute(ComandoSQL3) While Not objRS3.EOF ComandoSQL1 = "select * from regrashora where cliente = '"&nomecliente&"'" Set objConn1 = Server.CreateObject("ADODB.Connection") objConn1.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs1 = objConn1.Execute(ComandoSQL1) hf = datepart ("h", objRS3("close_date")) nf = datepart ("n", objRS3("close_date")) hnf = (hf&nf) * 10 tipoatendimento = objRS3("department") ComandoSQL4 = "select * from departments where department_id = "&tipoatendimento&"" Set objConn4 = Server.CreateObject("ADODB.Connection") objConn4.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs4 = objConn4.Execute(ComandoSQL4) While Not objRS1.EOF hir = datepart ("h", objRS1("horai")) nir = datepart ("n", objRS1("horai")) hnir = (hir&nir) * 10 hfr = datepart ("h", objRS1("horaf")) nfr = datepart ("n", objRS1("horaf")) hnfr = (hfr&nfr) * 10 ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente1&"' and "&hnf&" between "&hnir&" and "&hnfr Set objConn5 = Server.CreateObject("ADODB.Connection") objConn5.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" response.write "comandosql5 = " & ComandoSQL5 & "<BR>" 'response.end Set ObjRs5 = objConn5.Execute(ComandoSQL5) While Not objRS5.EOF %> <tr> <td><%Response.write objRS1("horai")%></td> <td><%Response.write objRS1("horaf")%></td> <td><%Response.write FormatDateTime(objRS3("close_date"),4)%></td> <td><%Response.write objRS5("valor")%></td> </tr> <% objRS5.MoveNext Wend objRS1.MoveNext Wend objRS3.MoveNext Wend objRS.MoveNext Wend %> </table> </div> </div> <% objRs1.close objConn1.close Set objRs1 = Nothing Set objConn1 = Nothing objRs3.close objConn3.close Set objRs3 = Nothing Set objConn3 = Nothing objRs5.close objConn5.close Set objRs5 = Nothing Set objConn5 = Nothing %> </body> </html> o debug do select ficou assim: comandosql5 = select valor from regrashora where cliente = 'teste' and 12580 between 8290 and 18300 comandosql5 = select valor from regrashora where cliente = 'teste' and 1080 between 8290 and 18300 comandosql5 = select valor from regrashora where cliente = 'teste' and 1040 between 8290 and 18300 comandosql5 = select valor from regrashora where cliente = 'teste' and 1160 between 8290 and 18300 quando tem apenas um resultado no BD imprime direitinho em tela... PORÉM... quando tem mais de um resultado no bd, ele coloca um valor pra cada resultado do select, mesmo quando o between é insatisfatório... E AGORA??? []'s Notax
-
Pessoal... fiz o seguinte... como agora to achando que o meu problema é em algum loop simplifiquei o máximo possível o meu código aqui... tomara que alguém possa dar uma forcinha aí... o select atual está assim: ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente1&"' and "&hnf&" between "&hnir&" and "&hnfr recapitulando, como vocês notarão no codigo completo que segue abaixo que: nomecliente1 = objRS("fname") While Not objRS1.EOF hir = datepart ("h", objRS1("horai")) nir = datepart ("n", objRS1("horai")) hnir = (hir&nir) * 10 hfr = datepart ("h", objRS1("horaf")) nfr = datepart ("n", objRS1("horaf")) hnfr = (hfr&nfr) * 10 While Not objRS3.EOF hf = datepart ("h", objRS3("close_date")) nf = datepart ("n", objRS3("close_date")) hnf = (hf&nf) * 10 o debug do select ficou assim: comandosql5 = select valor from regrashora where cliente = 'teste' and 12580 between 8290 and 18300 neste caso acima, no bd tinha apenas um registro em regrashora... ele me retornou o resultado necessário mas logo abaixo apresentou esse erro: ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /logar/clientes_resultado_extrato.asp, line 0 agora observem esse debug aqui que ocorreu quando na tabela regrashoras tinham 3 registros... ou seja, 3horasi e 3horasf comandosql5 = select valor from regrashora where cliente = 'notax' and 16250 between 8300 and 11590 comandosql5 = select valor from regrashora where cliente = 'notax' and 14580 between 8300 and 11590 comandosql5 = select valor from regrashora where cliente = 'notax' and 1040 between 8300 and 11590 comandosql5 = select valor from regrashora where cliente = 'notax' and 1270 between 8300 and 11590 comandosql5 = select valor from regrashora where cliente = 'notax' and 1230 between 8300 and 11590 vejam que a variável 'hnf' varia de acordo com os registros cadastrados no banco... mas horai e horaf são sempre as mesmas... e deveriam variar tb... quando na tabela regrashoras tem mais de um registro ele simplesmente me retorna o seguinte erro: ADODB.Recordset error '800a0bcd' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /logar/clientes_resultado_extrato.asp, line 114 sendo que a linha 114 é essa aqui: objRS5.MoveNext segue o codigo completo... porém em sua versão simplificada: <% Option Explicit Response.Expires = 0 Dim objConn, objRs, strQuery, ComandoSQL, Conexao, ddi, mmi, aai, datai, ddf, mmf, aaf, dataf, txtNome, chcNome Dim strConnection, stringSQL, array_id, i, sql_id, id, nomecliente, ComandoSQL1, objConn1, ObjRs1, ComandoSQL2, objConn2, ObjRs2, ComandoSQL3, objConn3, ObjRs3, logincliente, tipoatendimento, ComandoSQL4, objConn4, ObjRs4, n , ComandoSQL5, objConn5, ObjRs5, hi, hf, ni, nf, hni, hnf, horai, horaf, hr, nr, hnr, qtdhoras, qtdminutos, saldo, tempogasto, nomecliente1, hir, nir, hnir, hfr, nfr, hnfr n = 1 id = Request.QueryString("checkbox") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" if err = 0 and id <> "" then array_id = split(id,",") For i=0 to ubound(array_id) sql_id = sql_id & "tblUsers.sid = " & Trim(array_id(i)) & " OR " Next sql_id = left(sql_id,(len(sql_id)-4)) stringSQL = "select * from tblUsers WHERE "&sql_id&"" Set ObjRs = objConn.Execute(stringSQL) end if nomecliente = objRS("fname") logincliente = objRS("uid") ComandoSQL1 = "select * from regrashora where cliente = '"&nomecliente&"'" Set objConn1 = Server.CreateObject("ADODB.Connection") objConn1.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs1 = objConn1.Execute(ComandoSQL1) ComandoSQL3 = "select * from problems where uid = '"&logincliente&"'" Set objConn3 = Server.CreateObject("ADODB.Connection") objConn3.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs3 = objConn3.Execute(ComandoSQL3) tipoatendimento = objRS3("department") ComandoSQL4 = "select * from departments where department_id = "&tipoatendimento&"" Set objConn4 = Server.CreateObject("ADODB.Connection") objConn4.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs4 = objConn4.Execute(ComandoSQL4) %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title></title> </head> <body> <div id="global" STYLE="border: solid; border-width: 1px;border-color: #011C37;"> <div id="header"><!--#include file="header.asp"--></div> <div id="list1"><!--#include file="menu.asp"--></div> <div id="main"> <table width="650" border="1" cellspacing="0" cellpadding="0"> <tr> <td>horai</td> <td>horaf</td> <td>closedate</td> <td>valor da regra</td> </tr> <% While Not objRS.EOF nomecliente1 = objRS("fname") While Not objRS1.EOF hir = datepart ("h", objRS1("horai")) nir = datepart ("n", objRS1("horai")) hnir = (hir&nir) * 10 hfr = datepart ("h", objRS1("horaf")) nfr = datepart ("n", objRS1("horaf")) hnfr = (hfr&nfr) * 10 While Not objRS3.EOF hf = datepart ("h", objRS3("close_date")) nf = datepart ("n", objRS3("close_date")) hnf = (hf&nf) * 10 ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente1&"' and "&hnf&" between "&hnir&" and "&hnfr Set objConn5 = Server.CreateObject("ADODB.Connection") objConn5.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" response.write "comandosql5 = " & ComandoSQL5 & "<BR>" 'response.end Set ObjRs5 = objConn5.Execute(ComandoSQL5) While Not objRS5.EOF %> <tr> <td><%Response.write objRS1("horai")%></td> <td><%Response.write objRS1("horaf")%></td> <td><%Response.write FormatDateTime(objRS3("close_date"),4)%></td> <td><%Response.write objRS5("valor")%></td> </tr> <% objRS1.MoveNext Wend objRS3.MoveNext Wend objRS5.MoveNext Wend objRS.MoveNext Wend %> </table> </div> </div> <% objRs1.close objConn1.close Set objRs1 = Nothing Set objConn1 = Nothing objRs3.close objConn3.close Set objRs3 = Nothing Set objConn3 = Nothing objRs5.close objConn5.close Set objRs5 = Nothing Set objConn5 = Nothing %> </body> </html> e agora? será que rola mais um help ae? []'s Notax
-
valeu bareta... tomare que possa rolar mais uma forcinha ainda... Não entendi... testei aqui seu select... mas ele não estava igual o meu? meu codigo desse trecho está assim: While Not objRS3.EOF ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and "&hnf&" between "&hnir&" and "&hnfr Set objConn5 = Server.CreateObject("ADODB.Connection") objConn5.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" response.write "ComandoSQL5 =" &ComandoSQL5& "<br>" Set ObjRs5 = objConn5.Execute(ComandoSQL5)%> <%While Not objRS5.EOF %> <tr> <td><%Response.write FormatDateTime(objRS3("start_date"),4)%></td> <td><%Response.write FormatDateTime(objRS3("close_date"),4)%></td> <td><%Response.write objRS3("title")%></td> <td><%response.write objRS4("dname")%></td> <td width="84"><%Response.write objRS3("time_spent")%></td> <td><%response.write objRS5("valor")%></td> <td width="51"> <% Dim qtdhoras, qtdminutos, saldo, tempogasto qtdhoras = objRS("qtdhoras") qtdminutos = qtdhoras * 60 tempogasto = objRS3("time_spent") if n = 1 then saldo = qtdminutos - tempogasto else saldo = saldo - qtdminutos - tempogasto + qtdminutos end if response.write formatnumber (saldo,2) n = n + 1 %> </td> </tr> <%objRS5.MoveNext Wend%> <%objRS3.MoveNext Wend%> quando testei o seu select continuou acontecendo a mesma coisa, com a diferença que a mensagem nada encontrado aparecia sempre na tela... só que não encontra sei lá eu o porque... que tem coisa lá pra ser encontrada certeza que tem! Será que rola mais uma força? []'s Notax
-
eu tento com o between... até já tinha tentado tb... mas so me da resultado quando é apenas uma regra no bd... se tem mais de uma não me da resultado nenhum... veja... o debug desse segundo select que você postou sai assim: ComandoSQL5 =select valor from regrashora where cliente = 'notax' and 16250 between 18300 and 23590 não mostra nenhum resultado em tela... nada! sei la cara... não to sabendo mesmo... me da mais uma força? []'s Notax
-
Pessoal, beleza? Cara... trabalhei hj pacas aqui nesse script... já tentei vários troços... mas sei lá... ta com uma uruca que não funciona de jeito nenhum... Acertei aqui o select do jeito aí que o bareta mencionou... troquei um pouquinho a lógica, vejam: 'abaixo faço uma série de selects que buscam vários dados de várias tabelas... ComandoSQL1 = "select * from regrashora where cliente = '"&nomecliente&"'" Set objConn1 = Server.CreateObject("ADODB.Connection") objConn1.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs1 = objConn1.Execute(ComandoSQL1) ComandoSQL2 = "select * from regrashoraadic where cliente = '"&nomecliente&"'" Set objConn2 = Server.CreateObject("ADODB.Connection") objConn2.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs2 = objConn2.Execute(ComandoSQL2) ComandoSQL3 = "select * from problems where uid = '"&logincliente&"'" Set objConn3 = Server.CreateObject("ADODB.Connection") objConn3.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs3 = objConn3.Execute(ComandoSQL3) tipoatendimento = objRS3("department") ComandoSQL4 = "select * from departments where department_id = "&tipoatendimento&"" Set objConn4 = Server.CreateObject("ADODB.Connection") objConn4.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs4 = objConn4.Execute(ComandoSQL4) ' aqui eu pego as horas e transformo elas em números... isso mesmo... cansei de trabalhar com horas: <%'horai = objRS1("horai") 'horai = FormatDateTime(objRS1("horai"), 4) 'horaf = FormatDateTime(objRS1("horaf"), 4) hi = datepart ("h", objRS3("start_date")) ni = datepart ("n", objRS3("start_date")) hf = datepart ("h", objRS3("close_date")) nf = datepart ("n", objRS3("close_date")) 'horaf = (hf(i) & mf(i)) * 10 hni = (hi&ni) * 10 hnf = (hf&nf) * 10 'response.write "start_date = " & objRS3("start_date") & "<br>" 'response.write "hni = " & hni & "<br>" 'response.write "close_date = " & objRS3("close_date") & "<br>" 'response.write "hnf = " & hnf & "<br>" 'response.end hr = datepart ("h", objRS1("horai")) nr = datepart ("n", objRS1("horai")) hnr = (hr&nr) * 10 'response.write objRS1("horai") %> 'e aqui está o select em questão: <%ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and "&hnr&" >= "&hni&" and "&hnr&" <= "&hnf&" " Set objConn5 = Server.CreateObject("ADODB.Connection") objConn5.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" response.write "ComandoSQL5 =" &ComandoSQL5& "<br>" o debug desse select é assim: ComandoSQL5 =select valor from regrashora where cliente = 'teste' and 8290 >= 960 and 8290 <= 12580 O que ta acontecendo agora é o seguinte... se na tabela regrashora tem apenas 1 regra por usuario, ou seja, apenas um numero inicial e um numero final vai legal... se tem duas ou mais já não imprime resultado nenhum em tela, mesmo quando eu tenho certeza, atraves dos debugs que teria condições pra satisfazer o select... to postando abaixo ainda o codigo completo pra caso eu esteja cometendo algum errinho que eu não esteja vendo: script completo <% Option Explicit Response.Expires = 0 Dim objConn, objRs, strQuery, ComandoSQL, Conexao, ddi, mmi, aai, datai, ddf, mmf, aaf, dataf, txtNome, chcNome Dim strConnection, stringSQL, array_id, i, sql_id, id, nomecliente, ComandoSQL1, objConn1, ObjRs1, ComandoSQL2, objConn2, ObjRs2, ComandoSQL3, objConn3, ObjRs3, logincliente, tipoatendimento, ComandoSQL4, objConn4, ObjRs4, n , ComandoSQL5, objConn5, ObjRs5, hi, hf, ni, nf, hni, hnf, horai, horaf, hr, nr, hnr n = 1 id = Request.QueryString("checkbox") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" if err = 0 and id <> "" then array_id = split(id,",") For i=0 to ubound(array_id) sql_id = sql_id & "tblUsers.sid = " & Trim(array_id(i)) & " OR " Next sql_id = left(sql_id,(len(sql_id)-4)) stringSQL = "select * from tblUsers WHERE "&sql_id&"" Set ObjRs = objConn.Execute(stringSQL) end if nomecliente = objRS("fname") logincliente = objRS("uid") ComandoSQL1 = "select * from regrashora where cliente = '"&nomecliente&"'" Set objConn1 = Server.CreateObject("ADODB.Connection") objConn1.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs1 = objConn1.Execute(ComandoSQL1) ComandoSQL2 = "select * from regrashoraadic where cliente = '"&nomecliente&"'" Set objConn2 = Server.CreateObject("ADODB.Connection") objConn2.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs2 = objConn2.Execute(ComandoSQL2) ComandoSQL3 = "select * from problems where uid = '"&logincliente&"'" Set objConn3 = Server.CreateObject("ADODB.Connection") objConn3.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs3 = objConn3.Execute(ComandoSQL3) tipoatendimento = objRS3("department") ComandoSQL4 = "select * from departments where department_id = "&tipoatendimento&"" Set objConn4 = Server.CreateObject("ADODB.Connection") objConn4.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs4 = objConn4.Execute(ComandoSQL4) 'hni = FormatDateTime(objRS3("start_date"), 4) 'hnf = FormatDateTime(objRS3("close_date"), 4) 'response.write "hni= " &hni& "<br>" 'response.write "hnf= " &hnf& "<br>" 'response.end %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> </head> <body> <div id="global" STYLE="border: solid; border-width: 1px;border-color: #011C37;"> <div id="header"><!--#include file="header.asp"--></div> <div id="list1"><!--#include file="menu.asp"--></div> <div id="main"> <div align="left" style="width: 650; height: 119"> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif"><em><strong>Cadastro Clientes (consulta)</strong></em></font><font size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000"> </font></b></font></p> <div align="left"> <table width="650" border="1" cellspacing="0" cellpadding="0" height="1"> <tr> <td width="650" valign="top" height="136"> <table border="0" cellpadding="0" cellspacing="0" width="650"> <tr bgcolor="ffffff"> <td width="650" colspan="3"> <table width="100%" border="0" cellspacing="2" cellpadding="2"> </table> </td> </tr> <tr> <td colspan="3"> <form method="GET" action="action_excluir_clientes.asp"> <%While Not objRS.EOF %> <table width="650" border="1" cellspacing="0" cellpadding="0" height="1"> <tr> <td height="1" align="center" width="650"> <table border="1" width="650" height="29" cellpadding="2"> <tr bgcolor="#0099FF"> <td width="266" align="center" bgcolor="#0099FF"> <font size="1" color="FFFFFF"><b><font face="Verdana">NOME / RAZÃO SOCIAL</font></b></font></td> <td width="211" align="center"> <font size="1" color="FFFFFF"><b></b> </font> <font size="1" color="FFFFFF"><b><font face="Verdana"> RG / IE</font></b> </font></td> <td width="222" align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">CPF / CNPJ</font></b></font></td> <td width="158" align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">DATA NASCIMENTO / ABERTURA EMPRESA</font></b> </font></td> </tr> <tr bgcolor="#FFFFFF"> <td width="266" align="center" > <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("fname")%> </font> </b></font></div></td> <td align="center" > <div align="left"> <font size="-7" face="Arial, Helvetica, sans-serif"><b> <%Response.write objRS("rg")%> </b></font></div></td> <td width="222" align="center" > <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b> <%Response.write objRS("cpf")%></a> </b></font></div></td> <td width="158" align="center" > <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("dtcreated")%> </font></b></font></div></td> </tr> <tr bgcolor="#0099FF"> <td align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">ENDEREÇO</font></b></font></td> <td align="center"> <font size="1" color="FFFFFF"><b></b> </font> <font size="1" color="FFFFFF"><b><font face="Verdana">BAIRRO</font></b> </font></td> <td align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">CIDADE</font></b></font></td> <td align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">CEP</font></b> </font></td> </tr> <tr bgcolor="#FFFFFF"> <td align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("endereco")%> </font></b></font></div></td> <td align="center"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("bairro")%> </font></b></font></div></td> <td align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("cidade")%> </font></b></font></div></td> <td align="center"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("cep")%> </font></b></font></div></td> </tr> <tr bgcolor="#0099FF"> <td align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">TELEFONE</font></b></font></td> <td align="center"> <font size="1" color="FFFFFF"><b></b> </font> <font size="1" color="FFFFFF"><b><font face="Verdana">CELULAR</font></b> </font></td> <td align="center" bgcolor="#0099FF"><font size="1" color="FFFFFF"><b><font face="Verdana">VALOR CONTRATO</font></b></font></td> <td align="center" bgcolor="#0099FF"><font size="1" color="FFFFFF"><b><font face="Verdana">QTDE. HORAS CONTRATADAS</font></b></font></td> </tr> <tr bgcolor="#FFFFFF"> <td align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><b><font color="#000000"> <%Response.write objRS("phone")%> </font></b></b></font></div></td> <td align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("phone_mobile")%> </font></b></font></div></td> <td align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write formatnumber (objRS.fields("valor"),2)%> </font></b></font></div></td> <td align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("qtdhoras")%> </font></b></font></div></td> </tr> <tr bgcolor="#0099FF"> <td colspan="3" align="center" ><font size="1" color="FFFFFF"><b><font face="Verdana">E-MAIL</font></b></font></td> <td align="center" ><strong><font color="FFFFFF" size="1" face="Verdana">LOGIN</font></strong></td> </tr> <tr bgcolor="#FFFFFF"> <td colspan="3" align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("email1")%> </font></b></font></div> <div align="left"></div> <div align="left"></div></td> <td align="center" ><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS("uid")%> </font></b></font></div></td> </tr> <tr bgcolor="#FFFFFF"> <td colspan="4" align="center" > <table width="650" border="1" cellspacing="0" cellpadding="0"> <tr bgcolor="#0033FF"> <td colspan="6"><div align="center"><strong><font color="FFFFFF" size="1" face="Verdana">Regras Horas "Pacote Contratado"</font></strong></div></td> </tr> <tr bgcolor="#0099FF"> <td width="118"><div align="center"><strong><font color="FFFFFF" size="1" face="Verdana">Entre a Hora Inicial:</font></strong></div></td> <td width="119"><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">e a Hora Final:</font></b></font></div></td> <td colspan="2"><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">Levando-se em consideração o atendimento por:</font></b></font></div></td> <td colspan="2"><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">O cliente pagará:</font></b></font></div></td> </tr> <%While Not objRS1.EOF %> <tr> <td><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write FormatDateTime(objRS1("horai"), 4)%> </font></b></font></td> <td><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write FormatDateTime(objRS1("horaf"), 4)%> </font></b></font></td> <td colspan="2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write objRS1("tipo")%> </font></b></font></td> <td colspan="2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> <%Response.write formatnumber (objRS1.fields("valor"),2)%> </font></b></font></b></font></td> </tr> <%'horai = objRS1("horai") 'horai = FormatDateTime(objRS1("horai"), 4) 'horaf = FormatDateTime(objRS1("horaf"), 4) hi = datepart ("h", objRS3("start_date")) ni = datepart ("n", objRS3("start_date")) hf = datepart ("h", objRS3("close_date")) nf = datepart ("n", objRS3("close_date")) 'horaf = (hf(i) & mf(i)) * 10 hni = (hi&ni) * 10 hnf = (hf&nf) * 10 'response.write "start_date = " & objRS3("start_date") & "<br>" 'response.write "hni = " & hni & "<br>" 'response.write "close_date = " & objRS3("close_date") & "<br>" 'response.write "hnf = " & hnf & "<br>" 'response.end hr = datepart ("h", objRS1("horai")) nr = datepart ("n", objRS1("horai")) hnr = (hr&nr) * 10 'response.write objRS1("horai") %> <% 'response.write "horai = " & horai & "<br>" 'response.write "horaf = " & horaf & "<br>" 'response.end%> <%objRS1.MoveNext Wend%> </table> <table border="1"> <tr bgcolor="#0033FF"> <td colspan="7"><div align="center"><strong><font color="FFFFFF" size="1" face="Verdana">Horas Utilizadas</font></strong></div></td> </tr> <tr bgcolor="#0099FF"> <td width="108"><div align="center"><strong><font color="FFFFFF" size="1" face="Verdana">Hora Abertura Chamadol:</font></strong></div></td> <td width="120"><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">Hora Fechamento Chamado:</font></b></font></div></td> <td width="78"><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">Título do Chamado</font></b></font></div></td> <td width="97"><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">Tipo de Atendimento</font></b></font></div></td> <td><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">Tempo Gasto (min.)</font></b></font></div></td> <td width="66"><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">Valor Hora</font></b></font></div></td> <td><div align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">Saldo</font></b></font></div></td> </tr> <%While Not objRS3.EOF %> <%ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and "&hnr&" >= "&hni&" and "&hnr&" <= "&hnf&" " Set objConn5 = Server.CreateObject("ADODB.Connection") objConn5.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" response.write "ComandoSQL5 =" &ComandoSQL5& "<br>" 'response.write "hnf =" &hnf& "<br>" 'response.write "horai =" &horai& "<br>" 'response.write "horaf =" &horaf& "<br>" 'response.end Set ObjRs5 = objConn5.Execute(ComandoSQL5)%> <%While Not objRS5.EOF %> <tr> <td><%Response.write FormatDateTime(objRS3("start_date"),4)%></td> <td><%Response.write FormatDateTime(objRS3("close_date"),4)%></td> <td><%Response.write objRS3("title")%></td> <td><%response.write objRS4("dname")%></td> <td width="84"><%Response.write objRS3("time_spent")%></td> <td><%response.write objRS5("valor")%></td> <td width="51"> <% Dim qtdhoras, qtdminutos, saldo, tempogasto qtdhoras = objRS("qtdhoras") qtdminutos = qtdhoras * 60 tempogasto = objRS3("time_spent") if n = 1 then saldo = qtdminutos - tempogasto else saldo = saldo - qtdminutos - tempogasto + qtdminutos end if response.write formatnumber (saldo,2) n = n + 1 %> </td> </tr> <%objRS5.MoveNext Wend%> <%objRS3.MoveNext Wend%> <tr> <td colspan="7" bgcolor="#FF6600"> </td> </tr> </table> <% 'Movendo para o proximo registro objRS.MoveNext Wend %> </p> </table> </td> </tr> </table> </form> </td> </tr> </table> </td> </tr> </table> </div> </div> </div> <% objRs.close objConn.close Set objRs = Nothing Set objConn = Nothing objRs1.close objConn1.close Set objRs1 = Nothing Set objConn1 = Nothing objRs2.close objConn2.close Set objRs2 = Nothing Set objConn2 = Nothing objRs3.close objConn3.close Set objRs3 = Nothing Set objConn3 = Nothing objRs4.close objConn4.close Set objRs4 = Nothing Set objConn4 = Nothing %> </div> </body> </html> precisando uma força aqui... será que rola? []'s Notax
-
O critério de COMPARAÇÃO são os dados que estão no bd na tabela regrashora nos campos horai e horaf ambos formato hora abreviada e o critério A SER COMPARADO é o campo close_date que está na tabela problems... bueno... os campos horai, horaf e close_date foram setados no asp da seguinte forma: horai = FormatDateTime(objRS1("horai"), 4) horaf = FormatDateTime(objRS1("horaf"), 4) hnf = FormatDateTime(objRS3("close_date"), 4) a fragilidade desse select que você sugeriu... apesar de ótima idéia... não tenho como prever se horai vai ser sempre menor ou maior do que a close_date... me caiu a ficha só agora... quando eu comecei a pensar na minha propria gambiarra que tb não daria certo pelo mesmo motivo! colocando na pratica... digamos que eu fizesse o select da seguinte maneira ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&hnf&"# >= #"&horai&"# and #"&hnf&"# <= #"&horaf&"# " significa que hnf tem que ser maior ou iguai ao campo horai e menor ou igual que o campo horaf... vamos preencher os campos horai e horaf apenas com duas regras regra 1) das 08:30 (a.m.) até 18:29 (p.m.) e regra 2) das 18:30 (p.m) até 08:29 (a.m.) vamos pensar tb apenas duas horas possiveis pra hnf variavel 1) 10:15 (a.m.) variavel 2) 05:45 (a.m.) agora vamos colocar essas variaveis dentro do select... a primeira condição fecha... mas a segunda não! 10:15 >= 08:30 e 10:15 <= 18:29 resultado beleza! pega o valor da regra 1 10:15 >= 18:30 e 10:15 <= 08:29 legal... não pegou o valor tb da regra 2 agora: 05:45>=08:30 e 05:45 <= 18:29 não rola porque 05:45 é menor do que 08:30 05:45 >= 18:30 e 05:45<= 08:30 não rola porque 05:45 é menor do que 08:29 Acho que o kuroi tem razão hein Bareta... apesar de que ainda não sei como vou conseguir colocar em pratica a ideia dele! A não ser que eu fizesse um if pra quando a hora for menor do que 08:29 invertendo os sinais do select... derepente em uma sub ou coisa assim... Ta foda pensar nisso cara... foda mesmo! Ainda falta alguma coisa pessoal... será que rola mais alguma força aqui? []'s Notax
-
Bareta... valeu pela força tb! tentei aqui o q você disse... só tanto horai, horaf, como close_date são campos do bd... mas tb setei todas elas no asp atraves dos respectivos recordsets.... o select ficou assim: ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&horai&"# >= #"&hnf&"# and #"&horaf&"# <=#"&hnf&"# " o debug dele ficou assim: select valor from regrashora where cliente = 'teste' and #18:30# <= #12:58# and #08:29# >=#12:58# mas não imprimiu nenhum resultado em tela! tb andei pensando aqui em uma solução gambiarristica... antes de incluir no bd horai e horaf transforma-las em numeros... pensei na seguinte logica: ex: 08:30 pego 8*60+30 = 510 então tipo entre 08:30 e 18:29 seria o mesmo que entre 510 e 1109 dai quando tivesse o oposto poderia criar uma condiciona if horaf<horai then horaf*100 e acabava com esse problema... o que vocês acham dessa gambiarra? []'s Notax
-
Uhm... entendi Kuroi... e achei legal... tipo faço ficar sem formato de hora abreviada e sempre incluo como sendo horai qualquer hora do dia 30/12/1899 e horaf qualquer hora do dia 31/12/1899... sempre as mesmas datas pra horai e horaf e as datas no mesmo campo... tipo hora/data ou ainda nos campos horai e horaf manter formato hora abreviada e criar dois campos assitentes datai e dataf... no caso os campos datai sempre terão o mesmo valor = 30/12/1899 e hos campos dataf sempre os mesmos valores = 31/12/1899 exemplo 1: regra 1 horai = 30/12/1899 08:30 horaf = 31/12/1899 18:29 regra 2 horai = 30/12/1899 18:30 horaf = 31/12/1899 08:29 ou... exemplo 2 (aqui criando campos novos no bd...a acho aé mais organizado): regra 1 horai = 08:30 datai = 30/12/1899 horaf = 18:29 dataf = 31/12/1899 regra 2 horai = 18:30 datai = 30/12/1899 horaf = 08:29 dataf = 31/12/1899 bom... mas digamos nesse caso que a hora close_date seja: 10:55 e as regras exatamente conforme acima... independente exemplo 1 ou o 2... você acha que resolveria esse problema? porque não consegui aqui imaginar como seria esse select... Seria assim?!? ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&hnf&"# BETWEEN horai, datai and horaf, dataf " Com esse select aí apaerceram ainda mais registros duplicados... mas agora acho que é essa logica aí desse select que tá errada... será que não? valeu toda força que estás me dando aí! EDITANDO: deixei os campos HORAI e HORAF no formato data geral... coloquei ainda que todos datai são horario tal data 01/08/2008 e todos dataf horario tal data 02/08/2008 o select deixei assim: <%ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&hnf&"# BETWEEN horai and horaf " E agora passou a não apresentar nenhum resultado em tela! será que é por que o hnf está no formato hora abreviada? o debug deste select ficou assim: select valor from regrashora where cliente = 'teste' and #12:58# BETWEEN horai and horaf []'s Notax
-
Agora o mistério começou a ser solucionado... cara sabia que tinha alguma coisa além da programação em si... que p**** de access mesmo! Eu não sabia que o between não fazia diferenciação do que vinha antes ou depois! mas voltando ao caso: isso mesmo... começa exemplo as 18:00 de hoje e acaba somente as 08:00 do dia seguinte! então... você não abre o problema com horai ou horaf... horai e horaf são pré-definidas... e são tipo IMUTÁVIES... servem apenas como paramentro... a tabela regrashora fica "paradinha" lá no canto dela... o user não a alimenta ou modifica... ou inserir um problema o atendente resolvera esse problema e neste momento lá em problems teremos a date_close que deverá estar dentro de um dos regramentos em regrashora para termos um preço! o que vai importar aqui pra consulta mesmo é a hora em que o problema foi fechado... a ideia é... se a hora em que ele foi fechado estiver entre a horai ou horaf o valor será tal, já se tiver entre a outra faixa de horai ou horaf daí o valor será tal... pra saber se o problema foi resolvido as 14 ou as 15 eu tenho o date_close... somente esta relação... da mesma forma eu tenho o date_start... que é a hora em que o problema foi aberto... mas que pra cobrança não vem ao caso!na tabela regrashora pra cada nomedecliente terão no máximo 4 registros... que a cobrança pode variar no máximo de 6 em 6 horas... mas existiria tb o ID para compararmos... mas penso que não seria necessário... e seria meio conturbado visto que o id de uma tabela não e necessáriamente igual ao ide de outra tabela... mas posso facilmente criar novos campos de comparação... mas será realmente necessário? Aí é que ta um problema gravíssiomo... porque pouco importa a data... tipo a tabela regrashora serve apenas como parametro de faixas horárias... independente do dia ou da data... será que existe alguma outra forma de diferenciar os horários tipo das 18:30 de um dia qualquer até as 08:29 do dia seguinte ao dia qualquer? valeu mesmo Kuroi! []'s Notax
-
Agradeço mesmo cara... mas tipo não rolou... não aparece erro... mas o resultado da busca nunca da certo... ComandoSQL5 = "SELECT a.cliente, a.valor, a.horai, a.horaf, b.close_date, b.uid FROM regrashora a,problems b WHERE a.cliente = b.uid and b.close_date BETWEEN a.horai and a.horaf" %ComandoSQL5 = "SELECT a.cliente, a.valor, a.horai, a.horaf, b.close_date, b.uid FROM regrashora As a INNER JOIN problems As b ON a.cliente = b.uid Where b.close_date BETWEEN a.horai and a.horaf" Vou explicar na pratica: tenho no be duas tabelas: 1) "regrashoras" que tem os campos: cliente | horai | horaf | valor 2) "problems" que tem os campos: uid | date_close entre outros que não vem ao caso... o que eu preciso é saber qual o valor na regrashora devo cobrar do cliente de acordo com a hora em que o problema dele foi encerrado... então tipo na regrashora tenho que: cliente: fulandodetal horai: 08:30 horaf: 18:29 valor: 50,00 depois tenho na mesma tabela e pro mesmo fulanodetal horai: 18:30 horaf: 08:29 valor:70,00 Em problems vou ter que um problemas deste cliente fulanodetal foi fechado as 10:00 e que outro problema desse fulando de tal foi fechado as 22:47 ou seja, pro problema fechado as 10:00 o valor a ser cobrado é: 50,00 já pro problema fechado as 22:47 o valor a ser cobrado é: 70,00 Então em princípio achei que seria barbada... fiz inclusive esse select aqui achando que mataria o problema: somente trechos do codigo: ComandoSQL1 = "select * from regrashora where cliente = '"&nomecliente&"'" Set objConn1 = Server.CreateObject("ADODB.Connection") objConn1.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs1 = objConn1.Execute(ComandoSQL1) ... ComandoSQL3 = "select * from problems where uid = '"&logincliente&"'" Set objConn3 = Server.CreateObject("ADODB.Connection") objConn3.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs3 = objConn3.Execute(ComandoSQL3) ... hni = FormatDateTime(objRS3("start_date"), 4) hnf = FormatDateTime(objRS3("close_date"), 4) ... horai = FormatDateTime(objRS1("horai"), 4) horaf = FormatDateTime(objRS1("horaf"), 4)%> ... ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&hnf&"# BETWEEN #"&horai&"# and #"&horaf&"# " Set objConn5 = Server.CreateObject("ADODB.Connection") objConn5.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs5 = objConn5.Execute(ComandoSQL5) ... deveria resolver certo? mas o resultado da pesquisa como no caso acima vem como 4 registros: sendo que referente a cada hora vem com os dois valores... ou seja pra hora 10:00 vem como 50,00 e 70,00 e deveria ser só 50,00 e pra hora 22:47 a mesma coisa e deveria ser só 70,00... já nesse select que você me mandou acontece ainda pior... vem tipo uns 50 resultados... repete umas 10 vezes cada valor... algo de muito estranho hein che? não acha? []'s Notax
-
Po cara... só tu mesmo... valeu a força! Mas então cara... aí é que tá... horai e horaf são campos do bd da tabela regrashora e não variáveis do asp... estão setados no bd como data/hora formato: hora abreviada... da mesma forma o proprio hnf tb é campo do bd advindo de outra tabela chamada problems do campo close_date setei a variavel hnf para formatar o objrs ("close_date") em shortdate porque no bd TEM QUE FICAR como data completa... tipo... esse select ai q você postou imprime esse erro em tela: Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /logar/clientes_resultado_extrato.asp, line 183 porque horai e horaf são campos do bd e não variaveis... não sei se eu consegui me explicar! EDITANDO: ahhh e sim os campos em comum são cliente em regrashora e uid em problems... valeu mesmo pela atenção... []'s Notax
-
pessoal não sei se resolveria... mas no desespero tentei esse select aqui muito louco, mas tb não rolou: ComandoSQL5 = "SELECT a.cliente, a.valor, a.horai, a.horaf, b.close_date, b.fname FROM regrashora a,problems b WHERE a.cliente = b.uid and b.close_date BETWEEN #"&a.horai&"# and #"&a.horaf&"# " da esse erro aqui: Microsoft VBScript runtime error '800a01a8' Object required: '' exatamente na linha do select acima... não rola mais uma forcinha aí? []'s Notax
-
E aí Fabio, beleza? Então... ta como data/hora no banco com formato hora abreviada... mas eu não entendi esse teste que voce pediu pra eu fazer... porque ele não tem o fator que talvés seja o mais importante que é a hora a ser comparada entre as outras duas horas... esse é o select que você sugeriu: ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and hora BETWEEN #"&horai&"# and #"&horaf&"# " esse é o meu select: ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&hnf&"# BETWEEN #"&horai&"# and #"&horaf&"# " o que eu preciso é que o select "pegue" na tabela 'regrashora' onde no campo 'cliente' seja "fulano de tal" e a hora 'hnf' esteja entre as horas 'horai' e 'horaf'... e é isso que não funciona de jeito nenhum... no caso do select que você sugeriu ele vai simplesmente pegar na tabela 'regrashora' no campo 'cliente' fulanodetal que estiver no campo 'hora' entre as 'horai' e 'horaf'... mas nem existe o campo 'hora'... o que existe são os campos 'horai' e 'horaf'... e uma variável chamada 'hnf' (tb formato hora abreviada) que deve estar entre os campos 'horai' e 'horaf'... sacou? Não entendo porque o meu não está funcionando... rola mais algum dica? []'s Notax
-
Pessoal, boa tarde. Começo dizendo que tentei resolver essa dúvida tb em outro fórum... mas não rolou... o mistério continua... e a dúvida parece de tão simples solução... mas não há jeito de eu conseguir fazer funcionar... O caso é que preciso fazer uma consulta no bd entre Horas... ou seja, no bd tem os campos: cliente | horai | horaf | valor e em outra tabela eu ainda tenho o campo chamado close_date e é este o campo que eu quero usar como índice para verificar o valor na minha consulta... Todos os campos data/hora em meu BD Access estão formatados para HORA ABREVIADA e como vocês vão ver no código abaixo no app tb estou usando o formatdate para não haver problemas, mantendo os campos quando impressos em tela ou no select tb no formato shortdate... Acontece que não estou conseguindo fazer meu select funcionar... no código abaixo a query que não está funionando é a ComandoSQL5 que coloquei ainda mais abaixo do código junto com o debug da mesma... <% Option Explicit Response.Expires = 0 Dim objConn, objRs, strQuery, ComandoSQL, Conexao, ddi, mmi, aai, datai, ddf, mmf, aaf, dataf, txtNome, chcNome Dim strConnection, stringSQL, array_id, i, sql_id, id, nomecliente, ComandoSQL1, objConn1, ObjRs1, ComandoSQL2, objConn2, ObjRs2, ComandoSQL3, objConn3, ObjRs3, logincliente, tipoatendimento, ComandoSQL4, objConn4, ObjRs4, n , ComandoSQL5, objConn5, ObjRs5, hi, hf, ni, nf, hni, hnf, horai, horaf n = 1 id = Request.QueryString("checkbox") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" if err = 0 and id <> "" then array_id = split(id,",") For i=0 to ubound(array_id) sql_id = sql_id & "tblUsers.sid = " & Trim(array_id(i)) & " OR " Next sql_id = left(sql_id,(len(sql_id)-4)) stringSQL = "select * from tblUsers WHERE "&sql_id&"" Set ObjRs = objConn.Execute(stringSQL) end if nomecliente = objRS("fname") logincliente = objRS("uid") ComandoSQL1 = "select * from regrashora where cliente = '"&nomecliente&"'" Set objConn1 = Server.CreateObject("ADODB.Connection") objConn1.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs1 = objConn1.Execute(ComandoSQL1) ComandoSQL2 = "select * from regrashoraadic where cliente = '"&nomecliente&"'" Set objConn2 = Server.CreateObject("ADODB.Connection") objConn2.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs2 = objConn2.Execute(ComandoSQL2) ComandoSQL3 = "select * from problems where uid = '"&logincliente&"'" Set objConn3 = Server.CreateObject("ADODB.Connection") objConn3.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs3 = objConn3.Execute(ComandoSQL3) tipoatendimento = objRS3("department") ComandoSQL4 = "select * from departments where department_id = "&tipoatendimento&"" Set objConn4 = Server.CreateObject("ADODB.Connection") objConn4.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" Set ObjRs4 = objConn4.Execute(ComandoSQL4) hni = FormatDateTime(objRS3("start_date"), 4) hnf = FormatDateTime(objRS3("close_date"), 4) %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title></title> </head> <body> Cadastro Clientes (consulta) <table width="650" border="1" cellspacing="0" cellpadding="0" height="1"> <tr> <td width="650" valign="top" height="136"> <table border="0" cellpadding="0" cellspacing="0" width="650"> <tr bgcolor="ffffff"> <td width="650" colspan="3"> <table width="100%" border="0" cellspacing="2" cellpadding="2"> </table> </td> </tr> <tr> <td colspan="3"> <form method="GET" action="action_excluir_clientes.asp"> <%While Not objRS.EOF %> <table width="650" border="1" cellspacing="0" cellpadding="0" height="1"> <tr> <td height="1" align="center" width="650"> <table border="1" width="650" height="29" cellpadding="2"> <tr bgcolor="#0099FF"> <td width="266" align="center" bgcolor="#0099FF"> NOME/ RAZÃO SOCIAL</td> <td width="211" align="center">RG / IE</td> <td width="222" align="center">CPF/ CNPJ</td> <td width="158" align="center">DATA NASCIMENTO / ABERTURA EMPRESA</td> </tr> <tr bgcolor="#FFFFFF"> <td width="266" align="center" ><%Response.write objRS("fname")%></td> <td align="center" ><%Response.write objRS("rg")%></td> <td width="222" align="center" ><%Response.write objRS("cpf")%></td> <td width="158" align="center" ><%Response.write objRS("dtcreated")%></td> </tr> <tr bgcolor="#0099FF"> <td align="center"> ENDEREÇO</td> <td align="center">BAIRRO</td> <td align="center">CIDADE</td> <td align="center">CEP</td> </tr> <tr bgcolor="#FFFFFF"> <td align="center" ><%Response.write objRS("endereco")%></td> <td align="center"><%Response.write objRS("bairro")%></td> <td align="center" ><%Response.write objRS("cidade")%></td> <td align="center"><%Response.write objRS("cep")%></td> </tr> <tr bgcolor="#0099FF"> <td align="center">TELEFONE</td> <td align="center">CELULAR</td> <td align="center" bgcolor="#0099FF">VALOR CONTRATO</td> <td align="center" bgcolor="#0099FF">QTDE. HORAS CONTRATADAS</td> </tr> <tr bgcolor="#FFFFFF"> <td align="center" ><%Response.write objRS("phone")%></td> <td align="center" ><%Response.write objRS("phone_mobile")%></td> <td align="center" ><%Response.write formatnumber (objRS.fields("valor"),2)%></td> <td align="center" ><%Response.write objRS("qtdhoras")%></td> </tr> <tr bgcolor="#0099FF"> <td colspan="3" align="center" >E-MAIL</td> <td align="center" >LOGIN</td> </tr> <tr bgcolor="#FFFFFF"> <td colspan="3" align="center" ><%Response.write objRS("email1")%></td> <td align="center" ><%Response.write objRS("uid")%></td> </tr> <tr bgcolor="#FFFFFF"> <td colspan="4" align="center" > <table width="650" border="1" cellspacing="0" cellpadding="0"> <tr bgcolor="#0033FF"> <td colspan="6">Regras Horas "Pacote Contratado"</td> </tr> <tr bgcolor="#0099FF"> <td width="118">Entre a Hora Inicial:</td> <td width="119">e a Hora Final:</td> <td colspan="2">Levando-se em consideração o atendimento por:</td> <td colspan="2">O cliente pagará:</td> </tr> <%While Not objRS1.EOF %> <tr> <td><%Response.write FormatDateTime(objRS1("horai"), 4)%></td> <td><%Response.write FormatDateTime(objRS1("horaf"), 4)%></td> <td colspan="2"><%Response.write objRS1("tipo")%></td> <td colspan="2"><%Response.write formatnumber (objRS1.fields("valor"),2)%></td> </tr> <% horai = FormatDateTime(objRS1("horai"), 4) horaf = FormatDateTime(objRS1("horaf"), 4)%> <%objRS1.MoveNext Wend%> </table> <table border="1"> <tr bgcolor="#0033FF"> <td colspan="7">Horas Utilizadas</td> </tr> <tr bgcolor="#0099FF"> <td width="108">Hora Abertura Chamadol:</td> <td width="120">Hora Fechamento Chamado:</td> <td width="78">Título do Chamado</td> <td width="97">Tipo de Atendimento</td> <td>Tempo Gasto (min.)</td> <td width="66">Valor Hora</td> <td>Saldo</td> </tr> <%While Not objRS3.EOF %> <%ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&hnf&"# BETWEEN #"&horai&"# and #"&horaf&"# " Set objConn5 = Server.CreateObject("ADODB.Connection") objConn5.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password" response.write "ComandoSQL5 =" &ComandoSQL5& "<br>" Set ObjRs5 = objConn5.Execute(ComandoSQL5)%> <%While Not objRS5.EOF %> <tr> <td><%Response.write FormatDateTime(objRS3("start_date"),4)%></td> <td><%Response.write FormatDateTime(objRS3("close_date"),4)%></td> <td><%Response.write objRS3("title")%></td> <td><%response.write objRS4("dname")%></td> <td width="84"><%Response.write objRS3("time_spent")%></td> <td><%response.write objRS5("valor")%></td> <td width="51"> <% Dim qtdhoras, qtdminutos, saldo, tempogasto qtdhoras = objRS("qtdhoras") qtdminutos = qtdhoras * 60 tempogasto = objRS3("time_spent") if n = 1 then saldo = qtdminutos - tempogasto else saldo = saldo - qtdminutos - tempogasto + qtdminutos end if response.write formatnumber (saldo,2) n = n + 1 %></td> </tr> <%objRS5.MoveNext Wend%> <%objRS3.MoveNext Wend%> <tr> <td colspan="7" bgcolor="#FF6600"> </td> </tr> </table> <% objRS.MoveNext Wend %> </table> </td> </tr> </table> </form> </td> </tr> </table> </td> </tr> </table> <% objRs.close objConn.close Set objRs = Nothing Set objConn = Nothing objRs1.close objConn1.close Set objRs1 = Nothing Set objConn1 = Nothing objRs2.close objConn2.close Set objRs2 = Nothing Set objConn2 = Nothing objRs3.close objConn3.close Set objRs3 = Nothing Set objConn3 = Nothing objRs4.close objConn4.close Set objRs4 = Nothing Set objConn4 = Nothing %> </body> </html> a query é esta aqui: ComandoSQL5 = "select valor from regrashora where cliente = '"&nomecliente&"' and #"&hnf&"# BETWEEN #"&horai&"# and #"&horaf&"# " o debug imprime isso aqui: ComandoSQL5 =select valor from regrashora where cliente = 'teste' and #12:58# BETWEEN #18:30# and #08:29# e não funciona porque ela não imprime somente os campos valor cujo qual deve estar onde a hora hnf esteja entre a horai e a horaf... imprime uns resultados sem sentido algum, como por exemplo, quando consultada como o debug acima vieram os seguintes resultados: teste 09:06 12:58 50,00 teste 09:06 12:58 100,00 teste 09:06 10:08 50,00 teste 09:06 10:08 100,00 teste 09:06 10:04 50,00 teste 09:06 10:04 100,00 teste 09:06 11:06 50,00 teste 09:06 11:06 100,00 será que alguém consegue dar uma força??? []'s Notax
-
Vale destacar ainda a possibilidade de integrar o MSN ao seu site... ou seja o cliente conversa com você através do seu site e você conversa com ele atraves do MSN... sacou? Desta forma você poderá ter voz, video e chat ao mesmo tempo ;-) para saber como fazer isso acesse o link: http://scriptbrasil.com.br/forum/index.php...mp;#entry481556 Acesse o site http://settings.messenger.live.com/applications/WebSettings.aspx Efetue o login com seu Passport. Marque o checkbox “Permitir que as pessoas vejam o seu status do Messenger em sites e enviem mensagens para você” (caso contrário seu status ficará sempre Offline). Clique em “Salvar”. Clique na guia “Criar Html” e escolha suas preferências visuais e funcionais. Copie o HTML que será gerado e cole na página que quiser. Simples assim … e totalmente funcional. []'s Notax