Mostrar dato en textbox basado en la búsqueda en una columna especifica

Reciban un cordinal saludo todos los expertos,

Tengo una tabla con los campos:

Auditor

Semana1

Semana2

Semana3 etc etc.. Donde dentro las columnas semana1, 2,3 etc tengo el área a auditor. Es decir el auditor Pedro durante la semana1 auditara el área de almacen, ese mismo auditor en la semana2 auditara el área de finanzas etc etc

Quisiera desde un formulario seleccionar el nombre de auditor y que me muestre el área a auditar en base a la semana actual.

No tengo idea como lograrlo.

1 Respuesta

Respuesta
1

Loren: Prueba de la siguiente manera.
En el Formulario pones un ComboBox Independiente, o sea sin que tenga Origen de Control.
Puedes hacerlo con el asistente, y elegir el IdAuditor, y el Nombre, porque así aseguras que al buscar el Identificador es único.
De éste modo tendrás 2 Columnas en el Combo. Voy a suponer que el IdAuditor es numérico.
Al Combo lo llamaremos CboAuditor .
También le damos Nombre al cuadro de texto donde mostraremos el Area a auditar>> TxtAreaAuditar
Y por último la Tabla en la que buscarás: Ejemplo TblAuditores

Private Sub CboAuditor_AfterUpdate()
Dim SemanaActual As Byte

If Not IsNull(Me.CboAuditor) Then
SemanaActual = DatePart("ww", Date, vbMonday, vbFirstJan1)

Me.TxtAreaAuditar = DLookup("[Semana" & SemanaAcual & “]", "TblAuditores",”IdAuditor = " & Me.CboAuditor.Column(0))
Else
MsgBox “El ComboBox del Auditor ha de tener un valor”,vbCritical,”FALTA DAO”
End If
End Sub
Cambia los Nombres por los que tu tengas
Espero sea adecuado para lo que buscas. Saludos >> Jacinto

Jacinto, me funciono muy bien muchas gracias por tu ayuda solo una pregunta:

¿Si el dato que ingreso en el combobox CboAuditor no existe debería mostrarme un mensaje?

MsgBox “El ComboBox del Auditor ha de tener un valor”,vbCritical,”FALTA DAO”

Loren: Antes de nada, una pequeña errata en mi código >>

Donde pone ...,"FALTA DAO", debe ser .. "FALTA DATO", u otro título que tu prefieras.

Con respecto a tu pregunta: ¿Si el dato que ingreso...?

Si el ComboBox lo has confeccionado de forma correcta, no tienes que "Ingresar" ningún dato, simplemente lo has de seleccionar.

Supongo que te refieres a que hay "Nombre(s) de Auditore(s)", que una semana en concreto no tienen area adjudicada.

Si esto es así, Sustituye la línea de >> Me.TxtAreaAuditar = ......, por

Me.TxtAreaAuditar = Nz(DLookup("[Semana" & SemanaAcual & “]", "TblAuditores",”IdAuditor = " & Me.CboAuditor.Column(0)),"Sin Area Adjudicada")

No lo he probado, por lo que si tienes dificultades, me comentas.

Si vas de acuerdo con mi primera respuesta, la valoras

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas