Cómo cargar valores a un combobox de access mediante código?

Tengo un formulario de consulta el cual mediante un botón abre un nuevo formulario en el cual se insertan eventos sobre el registro consultado en el primer formulario, en el segundo formulario automáticamente me carga el folio y la fecha del día para insertar un nuevo evento, la situación es que quiero cargar un combobox de estatus el cual se cargue con valores que dependan del estatus actual del registro... ¿cómo lo hago mediante código?

1 Respuesta

Respuesta
1

Rafael: Vamos a suponer que al Combo le has puesto o le pones el Nombre de CboStatus.

Me.CboStatus.RowSource ="SELECT DISTINCT TuTabla.Estatus FROM TuTabla ORDER BY TuTabla.Estatus;"

'Para asegurar.

Me. CboStatus. Requery

Cambia los datos en Negrita por los tuyos. Mis saludos >> Jacinto

Gracias Jacinto, solamente que mis valores no están guardados en una tabla, lo que quiero poner es, que si el estatus actual es X entonces solamente cargue el combo con los estatus Y,Z.... si es Y solamente llene el combo con A,B,C... etc.

Rafael: Para no complicar con mucho Código y "Listas de Valores" distintas en el Combo mi sugerencia es que crees un "Tablita" que puedes llamar por ejemplo TblEstatus

Campos >> 1 >> Nombre >> Estatus

Ahí entras los Estatus que tengas, 2,3 ... N, pero ojo con los Literales que coincidan "Exactamente con lo que tienes", salvo que tengas un IdEstatus que sería lo mejor.

Partiendo de ahí, en Form_Current del Formulario le pones:

Private Sub Form_Current()
Me.CboEstatus.RowSource = "SELECT Estatus FROM TblEstatus WHERE Estatus <> '" & Me.CboEstatus & "'"
Me.CboEstatus.Requery
End Sub

Al desplegar el Combo te saldrán todos los Vaores exceto el Actual.

Ahora bien, ese proceso puede provocar errores involuntarios, que para evitarlos yo haría.

Un TextBox dependiente del Campo Estatus que llamaré TxtEstatus.

El Combo lo haría Independiente. El código del Form_Current() lo cambiaría a>>

Private Sub Form_Current()
Me.CboEstatus.RowSource = "SELECT Estatus FROM TblEstatus WHERE Estatus <> '" & Me.TxtEstatus & "'"
Me.CboEstatus.Requery
End Sub

En el Evento del AfterUpdate del Combo

Private Sub CboEstatus_AfterUpdate()
Me.TxtEstatus = Me.CboEstatus
End Sub

Espero te sirva de ayuda. Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas