Hola Carlos buen día,
Encuentro una primera mejora, permíteme comentarlo por favor, no cambia la lógica de lo que buscas, pero podría hacer más eficiente el código. Me refiero a las siguientes líneas:
Me.ListBox1.RowSource = "inventarios"
Me.ListBox1.ColumnCount = 8
Me.ListBox1.RowSource = Clear
Si limpiarás su propiedad RowSource
con Clear
, preferible no le asignes uno antes como el de "inventarios".
Ahora bien, respecto a la problemática principal. Entiendo que en base a lo que seleccione en un control aparte como "control2"
deseas que muestra una cosa u otra en tu listbox ListBox1
, ¿es así?
De ser así, todo ese código que compartes muévelo al evento AfterUpdate
de dicho control "control2"
en lugar del evento Intialize
del formulario.
De este modo, luego de que se actualice la información en "control2"
como seleccionar alguna opción, correrá todo ese código que comentas. Así, podrá leer las nuevas fuentes de datos.
Si lo haces en el evento initialize
, solo lo leerá al momento de inicializar el formulario y nunca más se actualizará, en cambio con AfterUpdate
de "control2"
lo leerá por cada cambio que hagas en dicho control.
Me haces saber si funciona por favor.
Espero haberte ayudado, saludos desde Perú.