parent nodes: SQLapuntes

Case When Then Else End

CASE LF.ID_ARTICULO WHEN 312 THEN 444 ELSE LF.ID_ARTICULO END AS 'ID_ARTICULO'
SELECT 
   CASE LF.ID_ARTICULO WHEN 312 THEN 444 ELSE LF.ID_ARTICULO END AS 'ID_ARTICULO',
SELECT (LF.ID_LINEASFACTURA+@OFFSET_LINEASFACTURA) AS 'ID_LINEASFACTURA+',     
       (LF.ID_FACTURA+@OFFSET_FACTURACION) AS 'ID_FACTURA+', LF.ORDEN, 
       CASE LF.ID_ARTICULO WHEN 312 THEN 444 ELSE LF.ID_ARTICULO END AS 'ID_ARTICULO',
    LF.UNIDADES, LF.PORCEN_DESCUENTO, LF.ID_IVA, LF.PRECIO_TOTAL, LF.ID_PEDIDO
FROM FACTURACION INNER JOIN LINEAS_FACTURA LF ON FACTURACION.ID_FACTURA = LF.ID_FACTURA 
WHERE (FACTURACION.ANIO = 2010) 
ORDER BY ID_ARTICULO

expresiones combinadas

CASE WHEN (IVA.TIPO1 IN (16, 18)) THEN SUM(LINEAS_FACTURA.PRECIO_TOTAL) ELSE 0 END AS BASENRMAL,



ACCESS

El equivalente en ACCESS al CASE de SQL Server:
-- Access: 
SELECT Switch( 
    On=1,'On', 
    On=0,'Off',
    TRUE,'other'
) FROM table 
-- SQL Server 
SELECT CASE  
    WHEN On=1 THEN 'On' 
    WHEN On=0 THEN 'Off' 
    ELSE 'other'
END FROM table 

CASE dentro del WHERE

SELECT ANCNOTARYOFFICEHISTORY.OFFICEID, ANCNOTARYOFFICEHISTORY.OFFICENAME AS 'AX_OFFICE_NAME', @NOMBRE_NOTARIA AS 'Access NOTARIA', @ID_ACCESS_NOTARIA AS 'Access IDNotaria'
FROM ANCNOTARYOFFICEHISTORY 
	INNER JOIN AI_NOTARIOS 
	ON ( ANCNOTARYOFFICEHISTORY.NOTARYID = AI_NOTARIOS.ACCOUNTNUM AND ANCNOTARYOFFICEHISTORY.DATAAREAID = AI_NOTARIOS.DATAAREAID )
WHERE AI_NOTARIOS.ID_NOTARIO =	@ID_ACCESS_NOTARIO 
  AND @FECHA BETWEEN ANCNOTARYOFFICEHISTORY.FROMDATETIME AND (CASE WHEN ANCNOTARYOFFICEHISTORY.TODATETIME='01/01/1900' THEN '31/12/2999' ELSE ANCNOTARYOFFICEHISTORY.TODATETIME END)
  AND ANCNOTARYOFFICEHISTORY.DATAAREAID = 'CLM'
  AND AI_NOTARIOS.DATAAREAID = 'CLM'

En Access no hay un ELSE o un DEFAULT por lo tanto hay que poner una última evaluación que contradiga a las anteriores:
SELECT
    SWITCH( 
           ID_DEPARTAMENTO = 1,  'Colegio',
           ID_DEPARTAMENTO = 2,  'Colegio',
           ID_DEPARTAMENTO = 3,  'Circular',
           ID_DEPARTAMENTO = 4,  'Circular',
           ID_DEPARTAMENTO = 5,  'Expediente',
           ID_DEPARTAMENTO = 7, 'ComisAux',
           ID_DEPARTAMENTO = 8, 'ComisAux',
           ID_DEPARTAMENTO NOT IN (1,2,3,4,5,7,8), '***ERROR***'
    ) AS  'Grupo de documento'
FROM DATOS;
http://sqlserver2000.databases.aspfaq.com/what-are-the-main-differences-between-access-and-sql-server.html