Ir para conteúdo

POWERED BY:

Arquivado

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

davisvasconcellos

[Resolvido] Array doido

Recommended Posts

Pessoal,

to fazendo um relatório de cartão de ponto e para não dar um select por dia e sobrecarregar caso exista um grande número de funcionários, eu achei melhor dar um select só e trazer os registros do mês todo.

 

dai montei um array para montar os dias de um cartão de ponto comum e coloquei o conteúdo do RS em outro array .

 

comparo se a data da posicão X do array1 é igual a data da mesma posição do array2 e imprimo, caso contrário imprime uma linha em branco.

 

até ae ta beleza.

 

o problema é quando o rs troca para o próximo funcionário e o array não sei porque mistura as informações de todos.

 

já fiz um redim com o total dos registros no bd sem a opção preserve e nada...

não to encontrando o erro.

 

se alguem puder ajudar....

 

 

segue o código:

<%
'váriáveis do array
dim arrdatas(), ArrTotalDia(), Arre1(), Arrs1(), Arre2(), Arrs2(), Arre3(), Arrs3()

'capturar do form e tratar as variáves
strPessoas = request.form("pessoas")
ano_local=cint(Request.Form("ano"))
mes_local=cint(Request.form("meses"))
colunas=0

' exibir o mês e ano Selecionado
Response.Write "<br><br>Mês: <strong> " & mes_local & "/" & ano_local & "</strong><br>"
%>

<table>
<tr align="center" valign="top" >
<%


'montar array dos funcionários
arrPessoas = split(strPessoas,",")

'-montar loop para selecionar um funcionário por vez
For i=Lbound(arrPessoas) To uBound(arrPessoas)
Pessoas_local = cint(rtrim(arrPessoas(i)))
cod_func=pessoas_local
colunas=colunas+1 ' <--- para paginar em colunas
%>

<td>

  <div align="left">
  <style type="text/css">
<!--
.style1 {
	color: #0033FF;
	font-weight: bold;
}
-->
</style>
	
	
	
	
	
<%
'-selecionar do banco as informações do funcionário com a váriável do loop  
  set rsfunc = conn.execute("SELECT * FROM funcionarios WHERE codigo = '" & cod_func & "' ")
%>

   Recurso:<b><%=rsfunc("nome_func")%></b><br />
   Dias Úteis:<b>

  <%=total_dias_uteis%>
  
  </b><b>
	
	
	
  <%
'====================================
'descomente para exibir a meta mensal
'=====================================
response.write  " Meta: "
response.write  meta_mensal & "HS"

%>
	
	
	
  </b><br />
	Histórico entre: <%=dia_1%> a <%=dia_2%><br />
  <table width="461" border="0" align="left" cellpadding="0" cellspacing="0">
	<tr>
	  <td width="4" align="center" valign="top" bgcolor="#FFFFFF"> </td>
		<td width="24" align="center" valign="top" bgcolor="#99CCCC">Dia:</td>
		<td width="6" align="center" valign="top" bgcolor="#FFFFFF"> </td>
		<td width="63" align="center" valign="top" bgcolor="#99CCCC">Entrada01</td>
		<td width="6" align="center" valign="top" bgcolor="#99CCCC"> </td>
		<td width="50" align="center" valign="top" bgcolor="#99CCCC">Saída01</td>
		<td width="6" align="center" valign="top" bgcolor="#FFFFFF"> </td>
		<td width="63" align="center" valign="top" bgcolor="#99CCCC">Entrada02</td>
		<td width="10" align="center" valign="top" bgcolor="#99CCCC"> </td>
		<td width="53" align="center" valign="top" bgcolor="#99CCCC">Saída02</td>
		<td width="6" align="center" valign="top" bgcolor="#FFFFFF"> </td>
		<td width="63" align="center" valign="top" bgcolor="#99CCCC">Entrada03</td>
		<td width="10" align="center" valign="top" bgcolor="#99CCCC"> </td>
		<td width="49" align="center" valign="top" bgcolor="#99CCCC">Saída03</td>
		<td width="10" align="center" valign="top" bgcolor="#FFFFFF"> </td>
		<td width="82" align="center" valign="top" bgcolor="#99CCCC">Total</td>
		<td width="82" align="center" valign="top" bgcolor="#FFFFFF"> </td>
	  </tr>
	
	
	
	
	
	<%

'=========================================================
'SELECIONAR OS REGISTROS DO FUNCIONARIO NA TABELA DE PONTO
'=========================================================

'-selecionar os valores entre mês passado pelo form 
set rsPonto = conn.execute("SELECT * FROM ponto WHERE ( EXTRACT( MONTH FROM data ) = '" & mes_local & "' ) AND ( EXTRACT( YEAR FROM Data ) = '" & ano_local & "' ) and cod_func='" & cod_func & "' order by data ")

'-contar os registros do mesmo mês
set rscount = conn.execute("SELECT count(*) as TOTAL_REGISTROS FROM ponto WHERE ( EXTRACT( MONTH FROM data ) = '" & mes_local & "' ) AND ( EXTRACT( YEAR FROM Data ) = '" & ano_local & "' ) and cod_func='" & cod_func & "' order by data ")

'==========================================================

total_Registros = cint(rscount("TOTAL_REGISTROS"))

'-redimensoonar o array para o tamanho dos dias com registro no bd

redim arrTotalDia(total_registros-1) 	' <--- Total do Dia
redim arrdatas(total_registros-1)		' <--- datas 
redim arre1(total_registros-1)			' <--- Entrada01
redim arrs1(total_registros-1)			' <--- Saída01
redim arre2(total_registros-1)			' <--- Entrada02
redim arrs2(total_registros-1)			' <--- Saída02
redim arre3(total_registros-1)			' <--- Entrada03
redim arrs3(total_registros-1)			' <--- Saída03



while not rsponto.eof

'---------------------------------------------------------------------------
'inserir o valor do rs em varíáveis concatenadas por ","  para montar o array
'---------------------------------------------------------------------------

'pre_array datas
'------------------------------
data_hoje=rsponto("data")
data_hoje=data_hoje & ","
data_dia=data_dia&data_hoje

'pre_array Entada1
'------------------------------
en1=rsponto("e1")
en1=en1 & ","
e1=e1&en1

'pre_array Saida1
'-------------------------------
sa1=rsponto("s1")
sa1=sa1 & ","
s1=s1&sa1

'pre_array Entrada2
'-------------------------------
en2=rsponto("e2")
en2=en2 & ","
e2=e2&en2

'pre_array Saida2
'-------------------------------
sa2=rsponto("s2")
sa2=sa2 & ","
s2=s2&sa2


'pre_array Entrada3
'-------------------------------
en3=rsponto("e3")
en3=en3 & ","
e3=e3&en3

'pre_array Saida1
'-------------------------------
sa3=rsponto("s3")
sa3=sa3 & ","
s3=s3&sa3

'pre_array Total_dia
'-------------------------------
tot1=rsponto("total_dia")
tot1=tot1 & ","
total_dia=total_dia&tot1


rsponto.movenext
wend

'- Split nas váriáveis
'---------------------------------
arrdata_dia = split(data_dia,",")
arr_e1 = split(e1,",")
arr_s1 = split(s1,",")
arr_e2 = split(e2,",")
arr_s2 = split(s2,",")
arr_e3 = split(e3,",")
arr_s3 = split(s3,",")
arr_total_dia = split(total_dia,",")


'==============================================
'montar os valores nos arrays redimensionados
'==============================================
For o=0 To total_registros-1
arrdatas(o)=arrdata_dia(o)
ArrTotalDia(o)=arr_total_dia(o)
ArrE1(o)=arr_e1(o)
ArrS1(o)=arr_s1(o)
ArrE2(o)=arr_e2(o)
ArrS2(o)=arr_s2(o)
ArrE3(o)=arr_e3(o)
ArrS3(o)=arr_s3(o)
next



'===========================================================
'ALTERNAR CORES
'===========================================================
cor="edf2f5" 
'===========================================================




'===========================================================
'monta o loop dos dias do mes
'===========================================================
for dia = 1 to 31
'===========================================================

'----------------------------------
'cor de fundo da tabela alternada
'----------------------------------
if cor="edf2f5" then
cor="f4f7f9"
elseif cor="f4f7f9" then
cor="edf2f5"
end if
'----------------------------------
'-------------------------------------
'concatenar zeros NA EXIBIÇÃO DE DIAS
'-------------------------------------
if len(dia)=1 then
exibeDia="0"&dia
else
exibedia=dia
end if

'-----------------------------------------------------------------
'monta a data atual para comparar com a data no array vinda do BD
'------------------------------------------------------------------
data_atual=dia&"/"&mes_local&"/"&ano_local
'-----------------------

'--------------------------------
'testa se existem registros no bd
'--------------------------------

if total_Registros=0 then
dia=31 ' <--- se o total de registros do bd for 0 , sai do loop dos dias

else

'----------------------------------------------------------------------------------------------------------------------
' variavel de controle para exibir uma linha em branco se existir registro porém não no mesmo dia que o teste do array
'----------------------------------------------------------------------------------------------------------------------
exibe_dia_branco=1 


'------------------------------------------------------------------------
'compara a data atual(montada no loop) com a data do Array (vinda do bd)
'-----------------------------------------------------------------------		
		
For m=0 To total_registros-1
if data_atual=arrdatas(m) then
exibe_dia_branco=0 ' <--altera o status da variável de controle
		
		
%>
	   <tr>
	  <td align="left" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="left" valign="middle" bgcolor="#<%=cor%>"><%response.write exibedia %></td>
		<td align="left" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"><%=arre1(m)%></td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"><%=arrs1(m)%></td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"><%=arre2(m)%></td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"><%=arrs2(m)%></td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"><%=arre3(m)%></td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"><%=arrs3(m)%></td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"><%=ArrTotalDia(m)%></td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	</tr>

<%
'------------------------------------------------------------------------
'--fim do teste e exibição caso exista registro no array com a mesma data
'------------------------------------------------------------------------
end if


'-continuação do loop dos dias do bd 
next


'- ----------------------------------------------------------------------------------------
'- Exibe linha em branco caso não exista registro no bd para este dia
'------------------------------------------------------------------------------------------
if exibe_dia_branco=1 then 
%>
  
  <tr>
	  <td align="left" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="left" valign="middle" bgcolor="#<%=cor%>"><%response.write exibedia %></td>
		<td align="left" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>">-</td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>">-</td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>">-</td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>">-</td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>">-</td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>">-</td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
		<td align="center" valign="middle" bgcolor="#<%=cor%>">-</td>
		<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	</tr>
  
<%
'fim if exibir linha em branco
end if
%>  
  
   

<%
'fim if teste dia
end if

'next do for que monta os dias 
next



%>
	
	
	<tr>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="left" valign="middle" bgcolor="#FFFFFF"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"></td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="left" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="right" valign="middle" bgcolor="#<%=cor%>">Normal</td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="left" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="right" valign="middle" bgcolor="#<%=cor%>">Extra</td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="left" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"></td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="right" valign="middle" bgcolor="#<%=cor%>">Total</td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="center" valign="middle" bgcolor="#<%=cor%>"> </td>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td align="left" valign="middle"></td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"></td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"></td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"></td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"> </td>
	  <td align="right" valign="middle">REG</td>
	  <td align="center" valign="middle"> </td>
	  <td align="center" valign="middle"> <%=total_registros %></td>
	  <td align="center" valign="middle"> </td>
	</tr>
	<tr>
	  <td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
	  <td colspan="16" align="left" valign="middle">   </td>
	  </tr>
	 


<%
'teste se existem 3 cartoes por página,(quebra)
if colunas mod(3)= 0 then
response.write "</tr><tr align=center valign=top>"
end if
%>  
  </table>
  </div></td>
  


<%

'-next para o próximo funcionário
next

%>
</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o que tentou nao esta funcionando pode fazer um FOR para limpar os valores

 

FOR I = LBOUND(NOMEARRAY) TO UBOUND(NOMEARRAY)
NOMEARRAY(I) = ""
NEXT

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o que tentou nao esta funcionando pode fazer um FOR para limpar os valores

 

FOR I = LBOUND(NOMEARRAY) TO UBOUND(NOMEARRAY)
NOMEARRAY(I) = ""
NEXT

 

com isso eu só coloco valor vazio, mas o array continua tendo as posições.

e nao sei pq no próximo rs ele coloca o valor do primeiro..

mesmo eu colocando um movenext

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao consegui compreender a logica do que esperas

 

pode exemplificar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, Não funcionou.

os arrays até limpam , mas por algum motivo o valor anterior aparece.

parece algum bug entre o mysql e o ASP pois sei que tem para testar rs.eof e rs.bof. já aconteceu comigo e já vi algumas pessoas com mesma dúvidas no fórum e na net.

 

de qualquer forma resolvi refazer a lógica e ficou mais claro e sem a necessidade de arrays.

 

segue o código para quem quiser reutiliza-lo.

 

<!--

Desenvolvido por Davis Vasconcellos
Davisvasconcellos@gmail.com 17/02/2009

Este script pega o conteúdo de uma tabela de ponto em um BD e monta um loop para exibir os dias.
dentro do loop ele testa se o dia é igual ao dia do bd e imprime o conteúdo do Rs na tabela.

-->

<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style>

<%
'capturar do form e tratar as variáves
strPessoas = request.form("pessoas")
ano_local=cint(Request.Form("ano"))
mes_local=cint(Request.form("meses"))
colunas=0
'-----------Remover depois do teste
'mes_local=02
'ano_local=2009
'cod_func =149

' exibir o mês e ano Selecionado
Response.Write "<br><br>Mês: <strong> " & mes_local & "/" & ano_local & "</strong><br>"
'-----------------------------------------------------------------------------------------
%>
<table width="566">
<tr align="center" valign="top" >
<%

'montar array dos funcionários
arrPessoas = split(strPessoas,",")

'-montar loop para selecionar um funcionário por vez
For i=Lbound(arrPessoas) To uBound(arrPessoas)
Pessoas_local = cint(rtrim(arrPessoas(i)))
cod_func=pessoas_local
colunas=colunas+1 ' <--- para paginar em colunas
%>

<td width="4%">

<%

'-selecionar do banco as informações do funcionário com a váriável do loop  
  set rsfunc = conn.execute("SELECT * FROM funcionarios WHERE codigo = '" & cod_func & "' ")
%>
	<td width="2%" align="left"><img src="IMAGES/ponto.gif" width="2" height="1" /></td>
	<td width="2%" align="left" bgcolor="#CCCCCC"><img src="IMAGES/ponto.gif" width="3" height="1" /></td>
	<td width="89%" align="left"><div align="left">Recurso:<b><%=rsfunc("nome_func")%></b><br />
		Dias Úteis:<b><%=total_dias_uteis%></b><b>
		<% 

e1=""
s1=""
e2=""
s2=""
e3=""
s3=""
total_dia=""

'=========================================================
'SELECIONAR OS REGISTROS DO FUNCIONARIO NA TABELA DE PONTO
'=========================================================

'-selecionar os valores entre mês passado pelo form 
set rsPonto = conn.execute("SELECT * FROM ponto WHERE ( EXTRACT( MONTH FROM data ) = '" & mes_local & "' ) AND ( EXTRACT( YEAR FROM Data ) = '" & ano_local & "' ) and cod_func='" & cod_func & "' order by data ")

'-contar os registros do mesmo mês
set rscount = conn.execute("SELECT count(*) as TOTAL_REGISTROS FROM ponto WHERE ( EXTRACT( MONTH FROM data ) = '" & mes_local & "' ) AND ( EXTRACT( YEAR FROM Data ) = '" & ano_local & "' ) and cod_func='" & cod_func & "' order by data ")




'==========================================================


total_Registros = cint(rscount("TOTAL_REGISTROS"))

'--testar se existe registro no mês para o funcionário
if total_Registros=0 then
Response.Write "<br>NENHUM REGISTRO PARA O RECURSO NO MÊS SELECIONADO<br><br>" 
else

set rsTHorasMes = conn.execute("SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( total_dia ) ) ) AS ThorasMes FROM ponto WHERE ( EXTRACT( MONTH FROM data ) = '" & mes_local & "' ) AND ( EXTRACT( YEAR FROM Data ) = '" & ano_local & "' ) and cod_func='" & cod_func & "' ")

ThorasMes = right(cstr(RsTHorasMes("ThorasMes")),8)


%>
		<table width="430" border="0" align="left" cellpadding="0" cellspacing="0">
		  <tr>
			<td width="5%" bgcolor="#99CCCC">Dia</td>
	  <td width="2%"> </td>
	  <td width="12%" bgcolor="#99CCCC">Entrada01</td>
	  <td width="2%"> </td>
	  <td width="8%" bgcolor="#99CCCC">Saída01</td>
	  <td width="2%"> </td>
	  <td width="14%" bgcolor="#99CCCC">Entrada02</td>
	  <td width="1%"> </td>
	  <td width="12%" bgcolor="#99CCCC">Saída02</td>
	  <td width="2%"> </td>
	  <td width="12%" bgcolor="#99CCCC">Entrada03</td>
	  <td width="1%"> </td>
	  <td width="11%" bgcolor="#99CCCC">Saída03</td>
	  <td width="2%"> </td>
	  <td width="14%" bgcolor="#99CCCC">Total Dia</td>
	</tr>
		  <% 
'===========================================================
'ALTERNAR CORES
'===========================================================
cor="edf2f5" 
'===========================================================
'-variável de controle para não atribuir a ors nulo...fiz isto pois o ASP com Mysql não testa direito .eof e .bof...
controle=total_registros

'-loop para montar os dias do mês
for dia =1 to 31  

'- se o controle for maior q zero ainda tem conteúdo no Rs, em seguida atribui as variáveis locais
if controle > 0 then
data_bd=cstr(Rsponto("data"))
e1=Rsponto("e1")
s1=Rsponto("s1")
e2=Rsponto("e2")
s2=Rsponto("s2")
e3=Rsponto("e3")
s3=Rsponto("s3")
total_dia=Rsponto("Total_dia")
else
e1="-"
s1="-"
e2="-"
s2="-"
e3="-"
s3="-"
total_dia=""


end if

'---monta o dia atual para ser comparado com o bd
data_atual=dia&"/"&mes_local&"/"&ano_local

'----------------------------------
'cor de fundo da tabela alternada
'----------------------------------
if cor="edf2f5" then
cor="f4f7f9"
elseif cor="f4f7f9" then
cor="edf2f5"
end if
'----------------------------------


'- se a data atual for igual ao do bd exibe o conteúdo das variáveis q receberam conteúdo do bd
'- subtrai um do controle para informar que tem menos um registro no Rs
if data_atual=data_bd then	
controle=controle-1
%>
	<tr>
	  <td bgcolor="#<%=cor%>" ><%=dia%></td>
	  <td bgcolor="#FFFFFF" > </td>
	  <td bgcolor="#<%=cor%>" ><%=e1%></td>
	  <td bgcolor="#<%=cor%>" > </td>
	  <td bgcolor="#<%=cor%>" ><%=s1%></td>
	  <td bgcolor="#FFFFFF" > </td>
	  <td bgcolor="#<%=cor%>" ><%=e2%></td>
	  <td bgcolor="#<%=cor%>" > </td>
	  <td bgcolor="#<%=cor%>" ><%=s2%></td>
	  <td bgcolor="#FFFFFF" > </td>
	  <td bgcolor="#<%=cor%>" ><%=e3%></td>
	  <td bgcolor="#<%=cor%>" > </td>
	  <td bgcolor="#<%=cor%>" ><%=s3%></td>
	  <td bgcolor="#FFFFFF" > </td>
	  <td align="left" bgcolor="#<%=cor%>" ><div align="right"><%=total_dia%> </div></td>
	</tr>
<% 


'-testa se o controle não é igual a zero para mover o rs para o próximo registro
'-se o controle for menor a variável fica com para nao buscar mais registros no rs e somente exxibir as linhas da tabela em branco
if controle > 0 then
rsponto.movenext
else
controle=0
end if
else

%>
		  <tr>
			<td bgcolor="#<%=cor%>" ><%=dia%></td>
	  <td bgcolor="#FFFFFF" > </td>
	  <td bgcolor="#<%=cor%>" ><div align="center">-</div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center"></div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center">-</div></td>
	  <td bgcolor="#FFFFFF" ><div align="center"></div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center">-</div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center"></div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center">-</div></td>
	  <td bgcolor="#FFFFFF" ><div align="center"></div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center">-</div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center"></div></td>
	  <td bgcolor="#<%=cor%>" ><div align="center">-</div></td>
	  <td bgcolor="#FFFFFF" ><div align="center"></div></td>
	  <td align="left" bgcolor="#<%=cor%>" ><div align="center">- </div></td>
	</tr>
<%
'-fim do if para teste de controle e exibição de linhas em branco
end if

'fim do for para os dias do mês
next
%>
		  <tr>
			<td colspan="15" bgcolor="#999999" ><img src="IMAGES/ponto.gif" alt="" width="100%" height="1" /></td>
	</tr>
		  <tr>
			<td colspan="15" bgcolor="#999999" ><img src="IMAGES/ponto.gif" width="100%" height="1" /></td>
	</tr>
		  <tr>
			<td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td bgcolor="#<%=cor%>" ><div align="left">Normal</div></td>
	  <td bgcolor="#FFFFFF" > </td>
	  <td align="left" bgcolor="#<%=cor%>" > </td>
	</tr>
		  <tr>
			<td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td bgcolor="#<%=cor%>" ><div align="left">Extra</div></td>
	  <td bgcolor="#FFFFFF" > </td>
	  <td align="left" bgcolor="#<%=cor%>" > </td>
	</tr>
		  <tr>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td bgcolor="#<%=cor%>" >Total</td>
			<td bgcolor="#FFFFFF" > </td>
			<td align="left" bgcolor="#<%=cor%>" ><%=ThorasMes%></td>
		  </tr>
		  <tr>
			<td colspan="15" ><img src="IMAGES/ponto.gif" width="100%" height="1" /></td>
		  </tr>
		  <tr>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td > </td>
			<td align="left" > </td>
		  </tr>
		  <tr>
			<td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td > </td>
	  <td ><div align="left"></div></td>
	  <td ><div align="center"></div></td>
	  <td align="left" ><div align="center"></div></td>
	</tr>
		  </table>
	</div></td>

<%
'fim do if que testa se existe registro do funcionário para o mês selecionado
end if
%>

<td width="1%"><td width="2%"></td>

<%
'teste se existem 3 cartoes por página,(gambiarra para a quebra de linha) que testa se a divisão por 3 não tem resto
if colunas mod(3)= 0 then
response.write "</tr><tr align=center valign=top>"
end if
%>  


<%
next '<-- loop dos funcionários
%>
</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao resolvido

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.