SELECT BA_Clients.SourceMedi,; Sum(IIF(BA_Clients.RespCode == "00", 1, 0)) AS Code0,; Sum(IIF(BA_Clients.RespCode == "01", 1, 0)) AS Code1,; Sum(IIF(BA_Clients.RespCode == "02", 1, 0)) AS Code2,; Sum(IIF(BA_Clients.RespCode == "03", 1, 0)) AS Code3,; Sum(IIF(BA_Clients.RespCode == "04", 1, 0)) AS Code4,; Sum(IIF(BA_Clients.RespCode == "05", 1, 0)) AS Code5,; Sum(IIF(BA_Clients.RespCode == "06", 1, 0)) AS Code6,; Sum(IIF(BA_Clients.RespCode == "07", 1, 0)) AS Code7,; Sum(IIF(BA_Clients.RespCode == "08", 1, 0)) AS Code8,; Sum(IIF(BA_Clients.RespCode == "09", 1, 0)) AS Code9,; Sum(IIF(BA_Clients.RespCode == "10", 1, 0)) AS Code10,; Sum(IIF(BA_Clients.RespCode == "11", 1, 0)) AS Code11,; Sum(IIF(BA_Clients.RespCode == "12", 1, 0)) AS Code12,; Sum(IIF(BA_Clients.RespCode == "13", 1, 0)) AS Code13,; Sum(IIF(BA_Clients.RespCode == "14", 1, 0)) AS Code14,; Sum(IIF(BA_Clients.RespCode == "17", 1, 0)) AS Code17,; Sum(IIF(BA_Clients.RespCode == "18", 1, 0)) AS Code18; FROM BA_Clients; GROUP BY BA_Clients.SourceMediIt work fine form every SourceMedi non blank, but for SourceMedi blank, it return only Code11 = 1. There's 60 records (with RespCode between "00" and "18") with SourceMedi blank.