¿Cómo validar que en un combobox se halla seleccionado una opción?

Tengo un pequeño problema: En un form tengo un botón el cual al darle click me muestra dos combos uno para seleccionar el mes y otro para seleccionar el año. Esto con el fin de crear una tabla y que el nombre de la misma contenga estos datos. La creación de la tabla la hago en el evento timer de mi control Time, este objeto time lo coloque ya que tuve que programar que este esperara POR cantidad de tiempo antes de crear la tabla ya que sin este no me daba tiempo suficiente de seleccionar los datos en los combos por que todo ocurre tan rapido. El problema es que en mi evento timer tengo una validación para saber si ya se selecciono algo en los combos si no se ha hecho que mande un mensaje esto lo hace sin ningún problema pero si después de que sale el mensaje quieres seleccionar los datos en los combos después de que pasa el intervalo de tiempo sigue enviando el mensaje de que no se ha seleccionado nada. Este es mi código espero me puedes orientar

wMes = thisform.combo1.Value
 wAno = thisform.combo2.Value
 wFecha = wMes + '_' + wAno
 IF thisform.combo1.Value = OR thisform.combo2.Value = 
 messagebox('Debes Seleccionar un mes y un año para crear las Bases ',16, PRODUCTIVIDAD )
 thisform.timer1.Reset
 ELSE 
 USE Historico.dbf
 COPY STRUCTURE TO Productividad_&wFecha
Close databases
Endif
Respuesta
1

Veo que tienes un

IF thisform.combo1.Value = OR thisform.combo2.Value =

¿Lo tienes asi exactamente?

Una solucion puede ser que reemplaces la condicion que tienes por la siguiente :

IF thisform.combo1.Listindex = 0 OR thisform.combo2.Listindex = 0

Haz la prueba y me comentas, suerte

IF thisform.combo1.Value = "" OR thisform.combo2.Value = ""

Así es como tengo mi IF no se por que en un principio las omitió.Pero

Bueno el if tal y como esta si funciona también el que me enviaste lo hace bien el problema es después de que detecta que no hay un valor en los cambo´s. Ya que después de enviar el mensaje de error y seleccionar un valor en los combos me vuelve a enviar el mensaje de error y yo esperaría que esta vez se saltara a mi ELSE ya que los combos ya tienen un valor. espero poder darme a entender si necesitas el FORM para comprenderme avisame.

saludos

Algo dentro de tu form no debe estar bien porque yo hice un form puse dos combos los llene manualmente puse un timer con intervalo 5000 y el siguiente codigo en el evento timer

IF ThisForm.Combo1.ListIndex = 0 OR ThisForm.Combo2.ListIndex = 0
MESSAGEBOX('falta escoger un combo')
ThisForm. Timer1. Reset
ELSE
MESSAGEBOX('se escogieron ambos combos')
ThisForm.Timer1.Interval = 0
ENDIF

Y me funciono correctamente, revisa bien tu codigo, y si sigues con el problema me envias el form al mail [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas