• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Llaverola

Duvida no codigo

2 mensagens neste tópico

Ola pessoal. O codigo seguinte, lista todos os clientes, seu total de facturas, saldo em falta e o que ja foi pago...

O problema, é que ele lista TODOS os clientes mas eu não quero isso.

é que qd clico num botão PESQUISAR, antes desse botao tenho uma textbox onde posso por as inicias ou mesmo o nome do cliente qd é pa peskisar pelo nome do cliente.

Por exemplo: ponho na textbox "as"..ora o resultado tera de ser por exemplo:

" AS E COSTAS LDA"

"ASP NET EMPRESA"

"ASSOSSIAÇÃO DE AVEIRO"

O codigo seguinte tenho codigo pa isso mas n tou a conseguir. Podem ajudar:

Agradecia. obrigado.

ps: o codigo seguinte é o resultado depois de se clicar no botão pesquisar e por o texto na textbox:

<% Response.Buffer = True %>
<%response.Expires=-1%>
<% On Error Resume Next %>

<% if Session("T_USERNAME") = "" then

Response.Redirect("session.html")
Response.End

end if
SetLocale "pt"

function ReplaceNumb1(num)
dim NewTotal
dim val
dim xpto
xpto=Replace(CDbl(num),",",".")
val=Replace(xpto,".",",")
dim valF
if val="" then
	valF=0
end if
dim factor
factor=10^2
valF=Replace(FormatNumber(val*factor, 0)/factor,".",",")
NewTotal=valF
ReplaceNumb1=NewTotal
end function

function ReplaceNumb(num)
dim NewTotal
dim val
dim xpto
xpto=Replace(CDbl(num),",",".")
val=Replace(xpto,".",",")
dim valF
if val="" then
	valF=0
end if
dim factor
factor=10^2
valF=Replace(FormatNumber(val*factor, 0)/factor,".",",")
NewTotal=valF
dim coma
coma = InStr(NewTotal,",")
dim deci
dim intei
dim NewTotal1
if coma=0 then
	intei=NewTotal
	deci=""
else
	intei=mid(NewTotal,1,coma-1)
	deci=mid(NewTotal,coma+1)
end if
if Len(intei)>3 then
	dim rest
	dim Pint
	dim NewString
	rest=Len(intei) Mod 3
	Pint = Len(intei)\3
	if rest>0 then
		NewString = mid(intei,1,rest) & "."
	else
		rest=1
	end if
	dim i
	i=1
	for i=1 to Pint-1
		if (Len(intei) Mod 3)=0 then
			NewString = NewString & mid(intei,rest+((i-1)*3),3) & "."
		else
			NewString = NewString & mid(intei,(rest+((i-1)*3))+1,3) & "."
		end if
		'NewString = NewString & mid(intei,rest+((i-1)*3),3) & "."
	next
	if (Len(intei) Mod 3)=0 then
		NewString = NewString & mid(intei,rest+((i-1)*3))
	else
		NewString = NewString & mid(intei,rest+((i-1)*3)+1)
	end if
	'response.write "*" & NewString & "*"
	intei=NewString
end if
if Len(deci)<>0 then
	if Len(deci)<2 then
		deci=deci & "0"
	end if
	NewTotal1=intei & "," & deci
else
	deci = "00"
	NewTotal1=intei & "," & deci
end if
ReplaceNumb=NewTotal1
end function
%>


<HTML>
<HEAD>
<!--SCRIPT src="global1.js" type="text/javascript" language="JavaScript"></SCRIPT--><link rel="stylesheet" href="menu.css"><script language="JavaScript" src="menu.js"></script><script language="JavaScript" src="menu_items.js"></script><script language="JavaScript" src="menu_tpl.js"></script>
<script>
function GoTo(idx)
		{
			if(idx==2)
			{
				document.Form1.action="Balancos.asp";
				document.Form1.submit();
			}
			else if(idx==0)
			{
				document.Form1.action="Existe.asp?valM=" + idx;
				document.Form1.submit();
			}
			else if(idx == 1)
			{
			    window.showModalDialog("BalancoFilter.asp?valM=" + idx + "&DataDe=<%=Request("DataDe")%>&DataA=<%=Request("DataA")%>",this.window,"dialogHeight:350px; dialogWidth:400px; center:yes; help:no; resizable:no; scroll:yes; status:no;");
			}
		}
function GoExcel() 
{
var ToGo;
ToGo=false;
for (var i = 0; i< document.dummy.elements.length; i++)
{
	if(document.dummy.elements[i].id=="delete")
	{
		if(document.dummy.elements[i].checked==true)
		{
			ToGo=true;
		}
	}
}
if(ToGo==true)
{
	document.forms.dummy.action = "ExportExcel.asp";
	document.forms.dummy.submit();
}

}

function GoOutLook() 
{
var ToGo;
ToGo=false;
for (var i = 0; i< document.dummy.elements.length; i++)
{
	if(document.dummy.elements[i].id=="delete")
	{
		if(document.dummy.elements[i].checked==true)
		{
			ToGo=true;
		}
	}
}
if(ToGo==true)
{
	document.forms.dummy.action = "ExportOutlook.asp";
	document.forms.dummy.submit();
}
}

function openRecord(rcID)
{

window.location.href="fichaCliente.asp?ID=" + rcID;

}

function goPrint()
{

  document.forms.dummy.action = "goPrint.asp";
  document.forms.dummy.submit();

}

function SelectAll(){
if (document.all("selectAll").checked == true) {
	for (i = 0; i < document.all("delete").length; i++) {
		document.all("delete")[i].checked = true;
	}
} else {

}
}



</script>


<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>

<script>
new menu (MENU_ITEMS, MENU_POS);
</script>

<br>
<h1><center>Resultado da Pesquisa de Clientes Contas Correntes</center></h1>
<%

mode = Request.Form("mode")
typeMode = Request.Form("typeMode")
KeyWord = request.form("KeyWord")
KeyWord = replace(KeyWord,"*","%")

if mode = "0" then

	strSQL = "SELECT NOME, CodigoPostal1, ID_CLIENTE FROM CLIENTES ORDER BY NOME"

else

    if mode = 1 then

		if request.form("campos") = "pais" then
			strSQL = "SELECT NOME, CodigoPostal1, ID_CLIENTE FROM CLIENTES WHERE id_pais " & _
					 "IN (select id_pais from pais where " & _
					 Request.Form("campos") & " LIKE '" & KeyWord & "%') ORDER BY NOME"
		else
			strSQL = "SELECT NOME, CodigoPostal1, ID_CLIENTE FROM CLIENTES WHERE " & _
					 Request.Form("campos") & " LIKE '" & KeyWord & "%' ORDER BY NOME"
		end if
	else

		if typeMode = 0 then

		strSQL = "SELECT NOME,CodigoPostal1, ID_CLIENTE FROM CLIENTES WHERE ID_CLIENTE NOT IN (SELECT ID_CLIENTE FROM CLIENTESTIPO) ORDER BY NOME"

		else

		strSQL = "SELECT NOME,CodigoPostal1, ID_CLIENTE FROM CLIENTES WHERE ID_CLIENTE IN (SELECT ID_CLIENTE FROM CLIENTESTIPO WHERE ID_TIPO=" & Request.Form("tipoEmpresa") & ") ORDER BY NOME"

		end if


	end if

end if

Set ra = Server.CreateObject("ADODB.recordset")
    ra.Open strSQL,Session("T_CONN"),3,3

   if Err.number <> 0 then

	Response.Write("<center> <font color=""red""> Ocorreu um erro ao executar a pesquisa: " & err.description & " " & strSQL & " " & Err.number & "</font> </center>")

   else

    if Not ra.BOF then ra.MoveFirst

	    rC = ra.RecordCount

	    if rC = 0 then

			Response.Write("<center> <font color=""red""> A pesquisa não produziu resultados </font> </center>")

		else

		%>
		<tr id="npag">
					<td>
						<table align="center" border=1 ID="Table1">
							<tr bgcolor=LightSkyBlue align="center">
								<th>Nome do Cliente</th>
								<th>Total Débitos</th>
								<th>Total Créditos</th>
								<th>Saldo Conta Corrente</th>
							</tr>
			<% 
			dim conta 
			conta = CInt(ra.RecordCount)
			dim arr()

			redim arr(conta,3)
			dim i
			i=0
			while Not ra.EOF %>

			<!--tr align="center"-->

			<% if ra(0) = "" then
			   nome="&ltvazio&gt"
			   else
			   nome = ra(0)
			   end if
			%>

			<% if ra(1) = "" then
			   morada="&ltvazio&gt"
			   else
			   morada = ra(1)
			   end if
			   '0-nome
			   '1-morada
			   '2-id
			   arr(i,0) = nome
			   arr(i,1) = morada
			   arr(i,2) = ra(2)
			   i = i + 1
			%>

			<% ra.MoveNext %>
				<% wend 
				ra.Close
            %>
     
			<%Set rs = Server.CreateObject("ADODB.recordset")
			SQLStr = "select id_cliente,nome,Totalfacturas=(select sum(fctotal)" 
			SQLStr = SQLStr &" from factclientes where fccliid=id_cliente and flagrecibo<3),"
			SQLStr = SQLStr &" totalrecibos=(select sum(drvalor) from docrecibo"
			SQLStr = SQLStr &" where drid in (select distinct(recibo) from facrecibos,factclientes" 
			SQLStr = SQLStr &" where facrecibos.factura=factclientes.fcid and factclientes.fccliid=id_cliente)),"
			SQLStr = SQLStr &" PParcial=(select sum(dctotal-dctotaldebito) from docconfirmacao "
			SQLStr = SQLStr &" where dcid in (select distinct(confirmacao) from facconfirmacao,factclientes "
			SQLStr = SQLStr &" where facconfirmacao.recibo=factclientes.fcid and factclientes.flagrecibo=1 "
			SQLStr = SQLStr &" and factclientes.fccliid=id_cliente)),ND=(select sum(datotalcredito) from docaviso "
			SQLStr = SQLStr &" where dacliente=clientes.id_cliente) from clientes "
			SQLStr = SQLStr &" where nome is not null order by nome"
			rs.open SQLStr, Session("T_CONN"), 3, 3
			'Response.Write(SQLStr)
			if err.number<>0 then
				Response.Write err.Description & "    " & SQLStr
				Response.End
			end if

			err.Clear
			%>		

							<%
								dim totalFactura
								dim totalRecibo
								dim totalPParcial
								dim totalRecebido
								dim TotalGFactura
								dim TotalGRecebido
								dim TotalDiferencial
								while not rs.EOF
									totalFactura = 0
									totalRecibo = 0
									totalPParcial = 0
									totalRecebido = 0
									TotalDiferencial = 0	
									if (not IsNull(rs(2))) then
										TotalFactura=rs(2)
										TotalGFactura=cdbl(TotalGFactura + cdbl(ReplaceNumb1(rs(2))))
									else
										TotalFactura=0
									end if
									if (not IsNull(rs(3))) then
										totalRecibo=rs(3)
										TotalGRecebido=cdbl(TotalGRecebido + cdbl(ReplaceNumb1(rs(3))))
									else
										totalRecebido=0
									end if
									if (not IsNull(rs(5))) then
										totalRecibo= CDbl(totalRecibo) + CDbl(rs(5))
										TotalGRecebido=cdbl(TotalGRecebido + cdbl(ReplaceNumb1(rs(5))))
									end if
									if (not IsNull(rs(4))) then
										totalPParcial=rs(4)
										TotalGRecebido=cdbl(TotalGRecebido + cdbl(ReplaceNumb1(rs(4))))
									else
										totalPParcial=0
									end if
									totalRecebido=CDbl(ReplaceNumb1(totalRecibo)) + CDbl(ReplaceNumb1(totalPParcial))
									TotalDiferencial=CDbl(ReplaceNumb1(totalRecebido)) - CDbl(ReplaceNumb1(totalFactura))
									if CDbl(totalRecibo)>0 or CDbl(totalFactura)>0 then
										if(CDbl(TotalDiferencial)>=0) then
										%>
										<tr>
											<td>
												<a style="color: #000000;" href="FornCli.asp?cli=<%=r(0)%>&DataDe=<%=inicio%>&DataA=<%=fim%>"><%=rs(1)%></a>
											</td>
														               
											<td align="right">
												<%=ReplaceNumb(totalFactura)%> €
											</td>
											<td align="right">
												<%=ReplaceNumb(totalRecebido)%> €
											</td>
											<td align="right">
												<%=ReplaceNumb(TotalDiferencial)%> €
											</td>
										</tr>
										<%
										else
										%>
										<tr>
											<td><font color="red">
												<a style="color: red;" href="FornCli.asp?cli=<%=rs(0)%>&DataDe=<%=inicio%>&DataA=<%=fim%>"><%=rs(1)%></a></font>
											</td>

											<td align="right"><font color="red">
												<%=ReplaceNumb(totalFactura)%> €</font>
											</td>
											<td align="right"><font color="red">
												<%=ReplaceNumb(totalRecebido)%> €</font>
											</td>
											<td align="right"><font color="red">-
												<%=ReplaceNumb(Abs(TotalDiferencial))%> €</font>
											</td>
										</tr>
										<%
										end if
									end if
									rs.moveNext()
								wend
								rs.close()
								TotalDiferencial=CDbl(ReplaceNumb1(TotalGRecebido)) - CDbl(ReplaceNumb1(TotalGFactura))
								%>

								<tr>
									<th align="left">Totais</th>
									<th align="right"><%=ReplaceNumb(TotalGFactura)%> €</th>
									<th align="right"><%=ReplaceNumb(TotalGRecebido)%> €</th>
									<%
										if(CDbl(TotalDiferencial)>=0) then
									%>
										<th align="right"><%=ReplaceNumb(TotalDiferencial)%> €</th>
									<%
										else
									%>
										<th align="right"><font color="red">- <%=ReplaceNumb(abs(TotalDiferencial))%> €</font></th>
									<%
										end if
									%>
								</tr>
						</table>
					</td>
				</tr>

		<table align="center">

		<tr>
			<td>
			<input type="submit" value="Eliminar Clientes" name="delCliente">
			</td>
			<td>
				<input type="button" value="Voltar" name="back" onclick="history.go(-1);">
			</td>
			<td>
				<input type="button" value="Imprimir" name="back" onclick="window.print();">
			</td>
			<td>
				<input type="button" value="Imprimir Circulares"  name="shgshs" onclick="return goPrint();" id=button1>
			</td>
		</tr>
		<tr>
			<td colspan=4 align=center>
				<input type="button" value="Exportar para Excel"  name="shgshs" onclick="return GoExcel();" id=button2>
				<input type="button" value="Exportar para OutLook"  name="shgshs" onclick="return GoOutLook();" id=button3>
			</td>
		</tr>

		</table>

		<input type="hidden" name="PRINT_ID" value="1">

		</form>

		<%

		end if

   end if


   ra.close()

%>

<% generated = day(now) & "/" & month(now) & "/" & year(now) & " - " & hour(now) & ":" & minute(now) & ":" & second(now) %>
   <br><br><center><font size=-2pt>Gerado em: <%= generated %> - User: <%= Session("T_USERNAME") %></font></center>

</BODY>
</HTML>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes formartar o codigo usando o GeSHi. Assim fica mais facil de entender.

:EDIT Se o codigo é o resultado depois de clicares no botão pesquisar. Posta o codigo antes pois pelo que percebi é nesse que tens duvidas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora