Foros del Web » Programando para Internet » ASP Clásico »

Problema con recordset

Estas en el tema de Problema con recordset en el foro de ASP Clásico en Foros del Web. Tengo un problema al llamar a una pagina asp, me dice el siguiente error: Error de Microsoft VBScript en tiempo de ejecución error '800a000d' No ...
  #1 (permalink)  
Antiguo 20/06/2008, 11:56
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años, 11 meses
Puntos: 0
Problema con recordset

Tengo un problema al llamar a una pagina asp, me dice el siguiente error:

Error de Microsoft VBScript en tiempo de ejecución error '800a000d'

No coinciden los tipos: 'BanAvz2RS'

?, línea 0

donde BANAVZ2RS es un recordeset, que significa ese error? que solucion habria? gracias un saludo
  #2 (permalink)  
Antiguo 20/06/2008, 12:02
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Problema con recordset

estas haciendo alguna operación matemática con ese Recordset????
pegas el código para poder ayudarte mejor?

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 23/06/2008, 05:57
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problema con recordset

no hago operaciones matematicas, lo que hago es pulsar un boton que se encarga de modificar un banner, al pulsar el boton el recorset debe abrir el editor de banners con sus datos, recojidos de la Bd, y mostrarlos para poder modificar el banner, pero salta ese error.
¿alguna idea con esta info de xq falla?

tampoco tengo muchos conocimientos de ASp, el proyecto es muy grande y no esta nada documentado, por lo que ando un poco perdido. Ademas no puedo subir el codigo porque hace referencia a varios archivos .asp, funciones, procedimientos almacenados....
  #4 (permalink)  
Antiguo 23/06/2008, 08:09
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Problema con recordset

busca en tu código BanAvz2RS, ve si es una función, si es así solo necesitaríamos el código de la función y sobre todo la forma en que llamas la función.

si el error se da al dar clic en el botón, empecemos por mostrar el código de el botón, si el error se da después de presionar el botón, muéstranos el contenido de la pagina que este llama


suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 23/06/2008, 08:15
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problema con recordset

BanAvz2RS es un recordSet no una función, intentare buscar el codigo del boton para pegar el codigo. Gracias
  #6 (permalink)  
Antiguo 23/06/2008, 08:20
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problema con recordset

BanAvz2RS es un recordSet no una función, intentare buscar el codigo del boton para pegar el codigo. Gracias

Tambien he descubierto que me da ese error cuando los banners son de la pagina 1, he creado nuevos banners hasta que hubiera 2 paginas y en la pagina 2 ese boton funciona perfecto y me deja modificar los banners.
  #7 (permalink)  
Antiguo 23/06/2008, 08:24
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Problema con recordset

Cita:
Iniciado por piskui Ver Mensaje
BanAvz2RS es un recordSet no una función, intentare buscar el código del botón para pegar el código. Gracias
muestras tu código?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 23/06/2008, 08:49
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problema con recordset

set BanAvz2RS = Server.CreateObject("ADODB.RecordSet")
.
.
select case Accion
case "UPDATEBANNER"
call UpdateBanner(IdBanAvz)
'Si seleccionamos "grabar y continuar" o no...
if ValidaPasoDatos("continuar", "")=1 then Response.Redirect URLRaiz & EsteASP &
"? Accion=MostrarBanner&IdBanAvz=" & IdBanAvz
else
Response.Redirect URLRaiz & EsteASP
end if


DONDE EL PROCEDIMIENTO UPDATEBANNER Y LA FUNCION MOSTRARBANNER SON:

Código PHP:
sub UpdateBanner(IdBanAvz)
    
dim IdRec
    dim confirmado
    
    
'Tenemos que comprobar que el usuario que quiere actuar sobre el banner es el..
    '
..administrador o el propietariosi no es así lo redireccionamos...
    
set BanAvzRS AbreProc(prefijoRS "xId " IDMS "," IdBanAvz)
    if 
tipoUsuario and session("IdUsr")<>BanAvzRS("IdUsr"then Response.Redirect URLRaiz EsteASP
    
'Si eres un usuario tipo 1 y guardas un Banner q tienes en Denegados pasará a otra vez pendiente...
    if tipoUsuario = 2 AND BanAvzRS("Confirmado") = -1 then confirmado = 0 else confirmado = BanAvzRS("Confirmado")
    BanAvzRS.Close
    set BanAvzRS = nothing
    
    '
Actualizamos el registro del Banner...
    
IdRec ExecProcInteger(prefijoRS "Cambia " IDMS "," IdBanAvz ",'" srep(ValidaPasoDatos("txtaDescripcion","")) & "','" ValidaPasoDatos("Ilink","") & "','" CFechaInterna(ValidaPasoDatos("FechaIni","")) & "','" CFechaInterna(ValidaPasoDatos("FechaFin","")) & "'," ValidaPasoDatos("txtVistasMax","null") & "," ValidaPasoDatos("chkActivo","0") & "," cstr(confirmado))
    
Actualizamos el recurso asociado al Banner...
    
RecursoSubibleActualiza true"Banners"IdRecValidaPasoDatos("TRec",""), ValidaPasoDatos("IRec",""), prefijoRS "CambiaRec " IDMS "," IdBanAvz ","RellenaConCeros(IdBanAvz,5) & "_"
end sub 
Código PHP:
' Función : MostrarBanner
Función que llama a la pantalla de detalle de cada bannerse llama tanto para añadir como para modificar...
'--------------------------------------
function MostrarBanner(IdBanAvz)
    dim FechaIni: FechaIni=""
    dim FechaFin: FechaFin=""
    dim link: link=""
    dim rec: rec=""
    '
Variable que pasamos como referencia pero q no utilizamos...
    
dim jsRestablecer
    
'Variable que utilizamos para el usuario de tipo 1, que si el Banner está confirmado no podrá modificar los valores...
    dim puedeModificarUsuario1: puedeModificarUsuario1 = 1
    
    MostrarBanner=false
    
    '
EDICIÓN BANNER
    
if IdBanAvz<>"" then
        set BanAvzRS 
AbreProc(prefijoRS "xId " IDMS "," cstr(IdBanAvz))
        
'Comprobamos si el Banner existe o no...
        if BanAvzRS.RecordCount > 0 then
        '
Tenemos que comprobar que el usuario que quiere mostrar el banner es el administrador o el propietariosi no es así lo redireccionamos.
            if 
tipoUsuario and session("IdUsr")<>BanAvzRS("IdUsr"then Response.Redirect URLRaiz EsteASP
            
            
if tipoUsuario 2 then
                
'Si somos usuarios de tipo 1 y ya está confirmado el Banner no podremos modificar nada..
                '
..sólo activarlo o desactivarlo y activar o desactivar subzonas donde se mostrará..
                
'..una vez asociado a una zona...
                if BanAvzRS("Confirmado") = 1 then puedeModificarUsuario1 = 0
            end if
            
            Plantilla.AnadeCamposDelRS(BanAvzRS)
            '
Acción de modificar Banner...
            
plantilla.anade "Accion""UpdateBanner&IdBanAvz=" IdBanAvz
            link 
BanAvzRS("link")
            
FechaIni CFechaExterna(BanAvzRS("FechaIni"))
            
FechaFin CFechaExterna(BanAvzRS("FechaFin"))
            
Plantilla.Anade "FechaIni"FechaIni
            Plantilla
.Anade "FechaFin"FechaFin
            
'Recuperamos el "Id" del recurso asociado...
            Rec = BanAvzRS("IdRec")
            if BanAvzRS("Activo") then plantilla.anade "Activo", "checked"
            
            Dim IdZonaBanner: IdZonaBanner = 0 '
Variable donde guardamos la Zona a la que está asociado un Banner...
            
Dim NombreZonaBannerNombreZonaBanner ""
            'Recuperamos la zona asociada a un banner, HAY UN PROC. ALMACENADO QUE DEVUELVE "ID" y "NOMBRE"...
            set BanAvz2RS = AbreProc(prefijoRS & "ZonaXIdBanner " & IDMS & "," & IdBanAvz)
            if BanAvz2RS.RecordCount > 0 then
                IdZonaBanner = BanAvz2RS("IdZona")
                NombreZonaBanner = BanAvz2RS("Nombre")
            end if
            BanAvz2RS.Close
            
            Dim HTMLZona: HTMLZona = ""
            
            '
Si el Banner tiene zona o no tiene zona pero no es un usuario del tipo 1 entonces..
            
'..montaremos la tabla donde se muestran las subzonas o el combo para seleccionar zona..
            '
..es para no mostrar los bordes de la tabla si eres usuario de tipo 1 y no está asociada..
            
'..una zona a tu banner...
            if IdZonaBanner <> 0 or tipoUsuario <> 2 then
                HTMLZona = HTMLZona & "<tr><td colspan=""2""><a name=""zona""/>"
                HTMLZona = HTMLZona & "<table border=""0"" cellpadding=""0"" cellspacing=""1"" width=""100%"" align=""center"" bgcolor=""#000000"">"
                HTMLZona = HTMLZona & "<tr><td bgcolor=""#FFFFFF"">"
                HTMLZona = HTMLZona & "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%"">"
            end if
            
            '
El usuario de tipo 1 no podrá asignar nunca zonas por lo que no es necesario que montemos el combo...
            if 
tipoUsuario <> 2 then
                
' ###### SELECCIÓN ZONAS O ZONA ASOCIADA ######
                
                '
Lo primero controlar si tiene asociada una zona y ya tiene click o vistos ese Banner en esa zona...
                
dim tiene_Clicks_o_Vistotiene_Clicks_o_Visto false
                
'Miramos si el Banner tiene zona asociada y así saber si tiene "Clicks" o "Visto"..
                '
..para poder cambiar la zona o no...
                
set BanAvz2RS AbreProc(prefijoRS "ZonaXIdBanner " IDMS "," IdBanAvz)
                if 
BanAvz2RS.RecordCount 0 then
                    BanAvz2RS
.Close
                    set BanAvz2RS 
AbreProc(prefijoRS "SubzonaBannerTodos " IDMS "," IdBanAvz)
                    
SET BanAvz2RS BanAvz2RS.NextRecordset
                    
if BanAvz2RS(0) > or BanAvz2RS(1) > 0 then tiene_Clicks_o_Visto true
                end 
if
                
BanAvz2RS.Close 
este es la parte del codigo que falla con lo de la modificacion de banners, y ya te comento que esta paginado y en los banners de la pagina 2 si me deja modificarles pero los de la pagina 1 no, Ah y yo tengo permisos de administrador que puedo modificar banners. Espero me puedas ayudar xq no doy con ello, gracias. Un saludo.
  #9 (permalink)  
Antiguo 23/06/2008, 09:19
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Problema con recordset

no tenemos linea en la cual se presente el error?

has usado : On Error Resume Next

podriamos ponerle a los lugares en donde tu crees que puede estar dando error?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #10 (permalink)  
Antiguo 23/06/2008, 11:10
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problema con recordset

cuando me sale el error me pone que en la linea 0, como pone en el primer post.

Código PHP:
Error de Microsoft VBScript en tiempo de ejecución error '800a000d' 

No coinciden los tipos'BanAvz2RS' 

?, línea 0 
la otra vez que tuve un problema era con el post.upload y me ponia linea 32 que era donde estaba el post.upload, pero en este caso...la linea 0 es la declaracion que no tiene fallos, de todas formas la linea 0 es la siguiente, si ves algun fallo avisame, gracias!!

Código PHP:
<%@ Language=VBScript %><%OPTION EXPLICIT On Error Resume Next%><%Response.Buffer=True%><!-- #INCLUDE FILE="Includes/_cabecera.asp" --><% 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:31.