No acabo de entender lo que quieres, asumo que no te explicas con claridad.
Un combobox, puede ser comparado por el texto que aloja o por el índice. En esto es lo mismo que una matriz.
Comparar usando el índice (no nos importa el texto en este caso)
if combo1.listindex = 5 then
' el código que se quiera asociar.
end if
Aquí le hemos preguntado si está seleccionado el elemento 5º en el combobox, no nos importa su contenido. Esto es útil cuando el contenido puede variar pero sabemos de fijo que implica. Por ejemplo imagina un combobox con 7 elementos. El elemento 0 podría ser nombre de país, el elemento1 nombre de ciudad, ................ el elemento 5 nombre de persona, y el elemento 6 número de afiliación a lo que sea. Entonces en el ejemplo, le estaríamos indicando qué interesa saber; si está seleccionado el nombre, sea éste el que sea.
Otro caso, comparando el texto seleccinado (el contenido del índice seleccionado)
if combo1.list(combo1.listindex)= "Pedro" then
' el código asociado que queremos ejecutar
end if
Como puedes observar el acceso al texto es a través de su propiedad list(número), imagina simplemente que tiene una matriz llamada list, así de simple.
Si invocamos como índice de la matriz, el valor: 'combo1.listindex', pués es claro que el índice deseado es el índice seleccionado. Esto es útil para comparar elementos cuya naturaleza son todas del mismo tipo (para esto un listbox suele ser más explícito aunque ocupa más espacio, por el despliegue).
Los combos son útiles para contener diferentes tipos de 'elementos' (nada impide que contengan un único tipo de 'elementos') y las listas son muy útiles para los elementos del mismo tipo. Imagina un combo con 3 elementos: Unidades, carpetas y ficheros e imagina una lista donde tras seleccionar uno de esos 3 elementos se llena con las unidades del sistema, las carpetas de la unidad actual o los ficheros de la carpeta actual.
El uso es totalmente libre, sin embargo es ese uso el que nos indica cuando nuestra selección exige una comparación por índice o por 'texto', en el caso del combo donde hay varios 'elementos' distintos, utilizar el índice es más rápido, cómodo y claro que comparar por el texto, en cambio cuando el combo tiene todos sus ítems de un único 'elemento' la utilidad recáe en el texto.
Otro código... recorrer el combo, es lo mismo que recorrer una matriz.
for k= 0 to combo.listcount -1
if combo.list(k)= Nombre then
' el código asociado.
end if
next
Sólo recordar que a diferencia de una lista, un combo actúa exclusivamente como una matriz de options-button, es decir sólo hay 1 elemento seleccionado a la vez (una lista permite múltiple selección, el combo no).
El combo, te indiqué mas arriba tiene ese doble 'comportamiento' (cada elemento puede representar una familia, o todos los elementos pertenecen a la misma familia), que no es un comportamiento íntrínseco del control, sino exclusivamente del diseño (el concepto que tu albergas). Es importante comprender esto explicado, para sacar el mayor provecho posible aun combobox.... Pero precisamente porque existe el listbox, el combobox carece de sentido que tenga múltiple selección.
Entonces, ¿ cómo miramos la múltiple selección...? imagina que tenemos un hotel y se requiere de los clientes que elijan qué días quieren recibir el desayuno a lo largo de la semana... cargamos un listbox con los días de la semana, en el listbox se activa la propiedad multiselect (y si se se requiere utilizar casillas de marca style=checkbox). Este código lo omitimos luego entenderás que es fácilmente deducible de los siguientes...
Luego, para preparar los desayunos ... para saber la lista de hoy 'Jueves' de los clientes a los que hay que preparar el desayuno, tendremos 2 listbox, en uno los nombres de los clientes, cuyo índice es el nº de habitación y en otro listbox se cargará la lista de la semana de ese cliente.(esto último es imprescindible porque usamos una base de datos, tiene un carácter explicativo).
dim Hoy as byte
Hoy = 4 ' jueves
For k = 0 to listHabitaciones.listcount-1
if listHabitaciones.list(k)<>"" then ' la habitación no está desocupada, hay un cliente
' 1 cargar la lista desayuno semanal (que eligió el cliente) desde la base de datos al listbox, luego...
' 2 el cliente de la habitación k, tiene encargado desayuno para hoy ?
if listDesayuno.Selected(Hoy)= TRUE then
' 3 preparar desayuno para la habitación k
end if
end if
next
Naturalmente si utilizamos una base de datos esto lo haríamos sin necesidad de listbox, pero se trata de explicar la funcionalidad del listbox y del combobox.
Otro modo de recorrer un listbox, pero para comprobar su propiedad múltple selección
for k= 0 to list1.listcount -1
if list1.selected(k) = true then
' lo que vayamos a hacer...
end if
next
Por último, cuando usamos un combo, podemos además elegir un comportamiento ligeramente diferente basado en la propiedad style del combobox, por defecto se suele usar la opción 'dropdown combo', con esta opción es posible introducir un texto que no figura en la lista, el evento change se encargade registrar este caso, pero sólo deberíamos marcar que ha existido cambió y validarlo con el evento validate, hay que evento change ocurre con cada carácter pulsado . Pero imagina que tenemos los días de la semana en un combo, evidentemente no nos podemos arriesgar a que alguien ponga 'pepino' como selección, sino que los días deben ser fijos desde lunes hasta domingo, en este caso, en la propiedad style elegimos 'Dropdown list'.
Supongo que dadas las explicaciones debería quedarte claro el tema aunque yo no haya entendido realmente cual es tu problema.
----------------
p.d.: Ahora al volver a leerte lo que preguntas, me parece entender lo que tan farragosamente has liado... de hecho la pregnta está mal planteada y podrías haber omitido todo el código porque ni siquiera tiene que ver con combos ni base de datos.
al parecer tu quieres procesar una variable numérica como string, esto es algo tan elemental, en los lenguajes que debería estar prohibido preguntarlo. Por que es una simple conversión de datos. Después de aprender los tipos de datos básicos que admite un lenguaje lo siguiente a aprender es como convertir uno en otro cuando esto es posible:
dim Precio as long
dim Valor as string
Precio = 1033
Valor= CStr(Precio) & "Euros." asignamos sobre una variable string, el valor de una variable numérica, para ello lo convertimos (convertString)
msgbox valor