MS Access 中的条件字段

Conditional Field in MS Access

我在 MS Access 中有以下 SQL 查询

SELECT 
   Laufzettel.ANTRAGSNUMMER, 
   Laufzettel.Versicherungsnummer, 
   DP.DUNKEL,   
   Laufzettel.AEingangDatenstromZWorkflow,
   Laufzettel.BEingangesigniertDokumentZWorkflow,
   Laufzettel.CAusgangDatenstromZWorkflow,
   Laufzettel.DAnlageSchwebeVSL, 
   Laufzettel.EPolicierungVSL
FROM 
   DP, Laufzettel;

DP.DUNKEL 只是一个值 1。我希望 DP.DUNKEL 仅在 Laufzettel.EPolicierungVSL 不为 NULL 时显示,否则显示 0。我如何实现这一点,因为我在 SQL?

中找不到 IF ELSE 条件

将使用开关

  SELECT 
        Laufzettel.ANTRAGSNUMMER
      , Laufzettel.Versicherungsnummer
        Switch(
          Not IsNull (Laufzettel.EPolicierungVSL),  DP.DUNKEL
          IsNull (Laufzettel.EPolicierungVSL),  0 
          ) AS dunkel
      , Laufzettel.AEingangDatenstromZWorkflow
      , Laufzettel.BEingangesigniertDokumentZWorkflow
      , Laufzettel.CAusgangDatenstromZWorkflow
      , Laufzettel.DAnlageSchwebeVSL
      , Laufzettel.EPolicierungVSL
  FROM DP, Laufzettel;

在 MS Access 中,您可以使用内联 IIF(条件、真、假)

你的情况。

  SELECT 
        Laufzettel.ANTRAGSNUMMER,
       Laufzettel.Versicherungsnummer,
      IIF(ISNULL(Laufzettel.EPolicierungVSL),1,0) AS dunkel
      , Laufzettel.AEingangDatenstromZWorkflow
      , Laufzettel.BEingangesigniertDokumentZWorkflow
      , Laufzettel.CAusgangDatenstromZWorkflow
      , Laufzettel.DAnlageSchwebeVSL
      , Laufzettel.EPolicierungVSL
  FROM Laufzettel;

注意:因为你的dunkle column是可以计算的,所以不需要DPtable。 (或者至少我认为您的 SQL 不需要它)