汗,测试半天,是*号和%号的问题
WBS01的SQL:
SELECT DISTINCT TbWBS.ID, TbModD.ProID, TbModD.ModID
FROM TbWBS INNER JOIN ((TbModD INNER JOIN TbWL ON (TbModD.ProID = TbWL.ProID) AND (TbModD.WLID = TbWL.ID)) INNER JOIN TbWBS AS TbWBS_1 ON (TbWL.WBSID = TbWBS_1.ID) AND (TbWL.ProID = TbWBS_1.ProID)) ON TbWBS.ProID = TbModD.ProID
WHERE (((TbModD.ProID)="dd95073e-69a5-4213-93df-a732df87dd97") AND ((TbModD.ModID)="7d7bc6fe-b046-4991-8fde-4f72951405e8") AND ((TbWBS_1.C) Like [tbwbs].[C] & '.%' Or (TbWBS_1.C)=[tbwbs].[C]))
在access里执行的时候,like里使用%是没有效果的,必须使用*号。而.net的数据库引擎刚好相反,*号没有用,必须使用%号。所以狐表里的执行结果是正确的