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

Caja de Seleccion Dinamica

Estas en el tema de Caja de Seleccion Dinamica en el foro de ASP Clásico en Foros del Web. Hola este es mi problema. Tengo una caja de seleccion en la cual deseo mostrar una información que recupero de una base de datos. pero ...
  #1 (permalink)  
Antiguo 06/03/2004, 15:03
 
Fecha de Ingreso: agosto-2003
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 20 años, 9 meses
Puntos: 0
Caja de Seleccion Dinamica

Hola este es mi problema.

Tengo una caja de seleccion en la cual deseo mostrar una información que recupero de una base de datos. pero me da este error.

-----------------------------------------------------------------------
Error de Microsoft VBScript en tiempo de ejecución (0x800A005E)
Uso no válido de Null: 'CStr'
/empleofinal/empleados/modificar_datos_empleados.asp, línea 544

--------------------------------------------------------------------------

Aca les pongo el codigo de la caja de seleccion.

Código PHP:
<select name="NivelInstruccion" class="unnamed1" id="NivelInstruccion">
                  <
option selected value="" <%If (Not isNull((update.Fields.Item("NivelInstruccion").Value))) Then If ("" CStr((update.Fields.Item("NivelInstruccion").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Seleccione</option>
                  <
option value="Educacion Basica" <%If (Not isNull((update.Fields.Item("NivelInstruccion").Value))) Then If ("Educacion Basica" CStr((update.Fields.Item("NivelInstruccion").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Educacion Basica</option>
                  <
option value="Bachiller" <%If (Not isNull((update.Fields.Item("NivelInstruccion").Value))) Then If ("Bachiller" CStr((update.Fields.Item("NivelInstruccion").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Bachiller</option>
                  <
option value="Tecnico Medio" <%If (Not isNull((update.Fields.Item("NivelInstruccion").Value))) Then If ("Tecnico Medio" CStr((update.Fields.Item("NivelInstruccion").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Tecnico Medio</option>
                  <
option value="Tecnico Superior" <%If (Not isNull((update.Fields.Item("NivelInstruccion").Value))) Then If ("Tecnico Superior" CStr((update.Fields.Item("NivelInstruccion").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Tecnico Superior</option>
                  <
option value="Educacion Superior" <%If (Not isNull((update.Fields.Item("NivelInstruccion").Value))) Then If ("Educacion Superior" CStr((update.Fields.Item("NivelInstruccion").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Educacion Superior</option>
                  <%
While (
NOT update.EOF)
%>
                  <
option value="<%=(update.Fields.Item("NivelInstruccion").Value)%>" <%If (Not isNull((update.Fields.Item("NivelInstruccion").Value))) Then If (CStr(update.Fields.Item("NivelInstruccion").Value) = CStr((update.Fields.Item("NivelInstruccion").Value))) Then Response.Write("SELECTED") : Response.Write("")%> ><%=(update.Fields.Item("NivelInstruccion").Value)%></option>
<%  
update.MoveNext()
Wend
If (update.CursorType 0Then
update
.MoveFirst
Else
update.Requery
End 
If
%>
</
select
__________________
Stand Tall and Shake the Heavens!!
http://www.sprache-language-venezuela.c-f-h.net
  #2 (permalink)  
Antiguo 06/03/2004, 18:22
 
Fecha de Ingreso: febrero-2004
Mensajes: 49
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola derkanzler,

Le he echado un vistazo al codigo, y parece q la sintaxis no tienen errores.

Ahora bien, no consigo ver lo q quieres hacer. Segun lo que he podido entender, lo q hace el codigo antes del while es sacar un select con 6 opciones y selecciona aquella que es igual al primer registro de la consulta?

Y luego, en el while saca como opciones del select, todos los registros de la consulta y si no son nulos, selecciona la opcion.

UN CAOS NO????

O bien yo estoy un poco dormido (es la 1:17 AM), o el codigo esta un poco confuso.

Yo he probado el codigo con una tabla que tengo creada y a mi no me ha dado error. Aunque te vuelvo a repetir q no se muy bien lo q quieres hacer.

Si nos explicas un poco lo q intentas hacer, a lo mejor te podemos ayudar.

Un saludo.
  #3 (permalink)  
Antiguo 06/03/2004, 18:30
Avatar de kalijunfan  
Fecha de Ingreso: febrero-2004
Ubicación: Montevideo, Uruguay
Mensajes: 96
Antigüedad: 20 años, 3 meses
Puntos: 0
Estimado derkanzler, todo depende de la base de datos que estés utilizando, pero tenés que tener en cuenta que tanto con Access como con SQL Server, el que un campo de una base de datos pueda aceptar valores nulos, no quiere decir que devuelva nulo cuando los recuperas. Por eso te recomiendo que no chequees si el "NivelInstruccion" no es nulo, simplemente chequea que sea distinto de una cadena vacía o sea ""
Eso quiere decir que en lugar de poner:

If (Not isNull((update.Fields.Item("NivelInstruccion").Val ue))) Then
'ya quisiera yo saber para qué tantos paréntesis?????

Te recomiendo que pongas:

If update("NivelInstruccion") <> "" then

En caso que estés trabjando con SQL Server cambiá el "" por " "
Eso debería solucionar tu problema

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 01:42.