VBA Access: ¿Cómo reemplazar datos de una lista por los de otro campo?

Necesito sustituir X contenido presentado como un código por otro que sería su descripción.

Los datos son 3, siempre en el mismo orden:

Solapa, Cubierta y Faja.
Puede tener cada uno de ellos en cualquier combinación (incluidos todos y ninguno).

El código es generado con la letra "A" para true y "B" para False (porque 0 y 1 no me sirven para buscar 001, por ejemplo cuando el libro tiene una faja.

Necesitaría saber cómo hacer para establecer en una lista los códigos posibles de acuerdo a las combinaciones (los cuales ya tengo), por las diferentes combinaciones.

Por ejemplo:

AAB por Solapa y Cubierta.
ABB por Solapa.
ABA por Solapa y Faja.
AAA por Solapa, Cubierta y Faja.
¿Hay alguna forma de hacerlo?

1 Respuesta

Respuesta
2

Me he perdido porque no sé si donde guardas el valor de A, B etc. es una casilla de verificación o un cuadro de texto. Suponiendo que sea esto último puedes poner, en algún sitio, algo así como

If right([cuadrodetexto],2)="ab" then

loquesea="Solapa y cubierta"

elseif right([cuadrodetexto],2="bb" then

loquesea="solapa"

elseif right([cuadrodetexto],2="ba" then....

Los guardo en variables:
vSolapa = dlookup(BUSCO EL VALOR EN LA TABLA) que puede ser true o false.
VCubierta = dlookup(IGUAL)
vFaja = IGUAL

Luego:

iif vsolapa = "", "B","A"
Así con cada uno y en una cuarta variable concateno:
vCodigo = vSolapa & vCubierta & vFaja

Eso me da las diferentes combinaciones (AAA, AAB, ABA, BAA, etc.). Son 8.
Ahora quiero reemplazar ese 'código' por su valor completo. La idea es que no sea un código tan largo.

Entonces usaría Select Case

Select case left(vcodigo,2)

case is="aa"

      select case right(vcodigo,1)

     docmd.....

     Case else

     docmd.....

case is="ab"

Etc

Otra cosa no se me ocurre

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas