Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/10/2004, 15:45
Avatar de AlZuwaga
AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 8 meses
Puntos: 535
Una recién salida del horno
Sirve para generar un <select> con opciones obtenidas de una base de datos.
Hay que aclarar que la conexión a la BD y el recordset ya deben estar presentes en el script:


Código:
Function genera_select(txtNombre_ID, numLineas, Multi, txtClass, txt1erOpcion, objRecordset, campoValue, campoDesc)
	If Multi = "Multiple No" Then Multi = "" Else Multi = "Multiple"
	Response.Write "<select name=""" & txtNombre_ID & """ id=""" & txtNombre_ID & """ size=""" & numLineas & """ class=""" & txtClass & """" & Multi & ">" & VBCrLf
	If txt1erOpcion <> "" Then Response.Write "<option value="""">" & txt1erOpcion & "</option>" & VBCrLf
	Do While Not objRecordset.EOF
		Response.Write "<option value=""" & objRecordset(campoValue) & """>" & objRecordset(campoDesc) & "</option>" & VBCrLf
	objRecordset.MoveNext
	Loop
	Response.Write "</select>" & VBCrLf
End Function

Se la llama así:

Código:
genera_select "nombre_del_select", "cantidad_de_lineas", "es_multiple", "nombre_de_clase", "primero_a_mostrar", nombre_del_recordset, "campo_en_value", "campo_a_mostrar"

En donde:
Cita:
nombre_del_select es el nombre que se le dará al select (alfanumerico)
cantidad_de_lineas es la cantidad de líneas que mostrará (numérico)
es_multiple indica si permitirá selecciones múltiples (alfanumerico. "Multiple No" para NO y vacío o cualquier otra cosa para SI)
nombre_de_clase le asigna un estilo al <select> (alfanumerico)
primero_a_mostrar el primer elemento del <select> (alfanumerico. Dejar vacío para ignorarlo)
nombre_del_recordset es el nombre del objeto recordset del que tomaran los datos (objeto. no va entre comillas)
campo_en_value es el nombre del campo de la BD que se le asignará al value del <select> (alfanumerico)
campo_a_mostrar es el nombre del campo de la BD que se le asignará a lo que muestre el <select> (alfanumerico)

Ejemplo de uso:

Código:
<form...>
<% genera_select "MiSelect", "1", "Multiple No", "estilo10", "Seleccione una opción", Rs, "ID", "Descripcion"  %>
</form>
__________________
...___...