Ver Mensaje Individual
  #18 (permalink)  
Antiguo 13/02/2008, 17:05
Avatar de Shiryu_Libra
Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Formulario con Asp, Generando Codigo Correlativo Segun datos!

ok, bueno una correcion en ambas paginas

primero en el codigo del java para AJAX
sobreescribe estas lineas
Cita:
/* ESTA FUNCION ENVIARA LA RESPUESTA*/
function Codigo(Par1,Par2,Donde,forma) {
var UID, UST;
UID = document.getElementById(Par1).value;
for (i=0; i < forma.length; i++){
if (forma.elements[i].type=="radio"){if (forma.elements[i].id==Par2){
if (forma.elements[i].checked){UST = forma.elements[i].value;break;}}}}

if(UID==""){alert("debe elejir su estado");}
else{if(UST==""){alert("Debe seleccionar Persona Juridica/Normal");}
else{if (!enProceso && http) {
var url = "pedrojtr2.asp?UI="+ Donde + "*" + UST + UID + "&UID="+ Math.random();
http.open("GET", url, true);
http.onreadystatechange = handleHttpResponse;
enProceso = true;
http.send(null);}}}
}
ahora en la llamada a la base de datos, sobreescribelo
Cita:
<%
if isnull(request.QueryString("UI")) then
respuesta = "error,Error de conexion pagina no disponible"
else
'SEPARAMOS EL IDENTIFICADOR DE MENSAJES, DE LOS VALORES A TRATAR
a = split(request.QueryString("UI"),"*")
'VOLVEMOS A SEPARAR LOS DATOS PARA LAS EJECUCIONES PERTINENTES
if a(1)="-" then
respuesta = "Error en datos"
else
codigo=a(1)
query="select top 1 id_codigo from TUTABLA where id_codigo like '%" & codigo & "' order by id_codigo desc"
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
"Data Source="&server.MapPath("tubase.mdb")&";"
set conexion = Server.CreateObject("ADODB.Connection")

conexion.open strcon

set RS=conexion.execute(query)
if Err=0 then
if RS.eof=false then
ultimo=rs.fields.item("id_codigo").value
else
ultimo="0000"
end if
else
respuesta="Error de consulta"
end if
rs.close
conexion.close
set conexion=nothing
'ya una ves que tengamos respuesta, hay que manipular el
'resultado para incrementar el correlativo
modificacion=cint(left(ultimo,4))
select case len(modificacion)
case 1 modificacion="000" & (modificacion+1)
case 2 modificacion="00" & (modificacion+1)
case 3 modificacion="0" & (modificacion+1)
case 4 modificacion="" (modificacion+1)
end select
respuesta = modificacion & codigo
end if
end if
respuesta=a(0) & "," & respuesta
response.Write respuesta
response.End()
%>
ahora pruebalo de nuevo

NOTA: recuerda cambiar la pagina a la que llamas con el codigo modificado
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra