Excel. ¿Cómo exportar desde access y cambiar valores según condición?

Explico: exporto desde una tabla de access algunos datos a una hoja de excel así

objExcel.ActiveSheet.Cells(V, H + 3) = MiTabla.Fields!BULTO
objExcel.ActiveSheet.Cells(V, H + 4) = MiTabla.Fields!CANTIDAD  .....etc

Todo bien, pero en los campos de bulto me sale VERDADERO O FALSO (se entiende porque vienen de access de un campo verificación)

Se podría hacer desde el código de exportación

objExcel.ActiveSheet.Cells(V, H + 3) = MiTabla.Fields!BULTO

Dándole un condicional a BULTO como cuando si es VERDADERO sea SI (en vez de VERDADERO) y cuando sea FALSO sea NO.

1 respuesta

Respuesta
1

Desde Access se puede utiizar IIF:

objExcel.ActiveSheet.Cells(V, H + 3) =  IIF(MiTabla.Fields!BULTO, "Sí", "No")

Para ello me he basado en que el campo 'Bulto' es booleano, su valor en la tabla es: (0 = Falso) y (<> 0 = Verdadero) que Access -en texto- traducirá según la configuración regional de Windows.

Personalmente utilizaría el valor numérico en Excel:
... =  IIF(MiTabla. Fields! BULTO, 1, 0), es lo que suele esperarse de un booleano
... =  IIF(MiTabla. Fields! BULTO, -1, 0), es lo que utiliza Access Access por defecto (-1 <> 0)

Y ya en el propio Excel le daría el formato de texto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas