Mysql TableAdapter内查询的IIF语句出错

Mysql TableAdapter内查询的IIF语句出错,mysql,sql,visual-studio-2010,ms-access,dataset,Mysql,Sql,Visual Studio 2010,Ms Access,Dataset,嗨,对不起,英语不好 access数据库中有3个表,格式为.mdb- 我在VS2010中使用这个数据库作为数据源。我有一个具有以下填充查询连接的TableAdapter是MS Jet 4.0: SELECT a.ID AS AmelID, a.NamAmel, a.MoshtariRef, a.ShHesab, a.Kod, a.NamF, a.NamSM, derivedtbl_1.MablaghKol, derivedtbl_1.Cnt, iif(derivedtbl_2.M

嗨,对不起,英语不好

access数据库中有3个表,格式为.mdb- 我在VS2010中使用这个数据库作为数据源。我有一个具有以下填充查询连接的TableAdapter是MS Jet 4.0:

 SELECT        a.ID AS AmelID, a.NamAmel, a.MoshtariRef, a.ShHesab, a.Kod, a.NamF, a.NamSM, derivedtbl_1.MablaghKol, derivedtbl_1.Cnt, iif(derivedtbl_2.MablaghKolBrg is Null, 0,derivedtbl_2.MablaghKolBrg) As MablaghKolBrg, iif(derivedtbl_2.CntKolBrg is Null, 0,derivedtbl_2.CntKolBrg) As CntBrg,
iif(derivedtbl_3.MablaghKolVsl is Null, 0,derivedtbl_3.MablaghKolVsl) As MablaghKolVsl,iif(derivedtbl_3.CntVsl is Null, 0,derivedtbl_3.CntVsl) As CntVsl 
FROM            ((((SELECT        Amel.ID, Amel.NamAmel, Chek.MoshtariRef, Chek.ShHesab, Moshtari.Kod, Moshtari.NamF, Moshtari.NamSM
                                FROM            ((Amel INNER JOIN
                                                         Chek ON Amel.ID = Chek.ID) INNER JOIN
                                                         Moshtari ON Amel.ID = Moshtari.AmelRef)
                                GROUP BY Amel.ID, Amel.NamAmel, Chek.MoshtariRef, Chek.ShHesab, Moshtari.Kod, Moshtari.NamF, Moshtari.NamSM) a LEFT OUTER JOIN
                             (SELECT        SUM(Mablagh) AS MablaghKolVsl, COUNT(Mablagh) AS CntVsl, MoshtariRef, ShHesab
                                FROM            Chek Chek_3
                                WHERE        (Status = '1')
                                GROUP BY MoshtariRef, ShHesab) derivedtbl_3 ON a.MoshtariRef = derivedtbl_3.MoshtariRef AND a.ShHesab = derivedtbl_3.ShHesab) LEFT OUTER JOIN
                             (SELECT        SUM(Mablagh) AS MablaghKol, COUNT(Mablagh) AS Cnt, MoshtariRef, ShHesab
                                FROM            Chek Chek_1
                                GROUP BY MoshtariRef, ShHesab) derivedtbl_1 ON a.MoshtariRef = derivedtbl_1.MoshtariRef AND a.ShHesab = derivedtbl_1.ShHesab) LEFT OUTER JOIN
                             (SELECT        SUM(Mablagh) AS MablaghKolBrg, COUNT(Mablagh) AS CntKolBrg, MoshtariRef, ShHesab
                                FROM            Chek Chek_2
                                WHERE        (Status = '2')
                                GROUP BY MoshtariRef, ShHesab) derivedtbl_2 ON a.ShHesab = derivedtbl_2.ShHesab AND a.MoshtariRef = derivedtbl_2.MoshtariRef)
为了避免获取空值,我在最后4列中创建了一个IIF语句,该语句在access中运行良好,但在vs table适配器中会出现以下错误:

Error in list of function arguments: 'IS' not recognized.
Unable to parse query text.
同时,我看到的结果是0而不是null,这意味着IIF语句工作正常

但是我需要表适配器来填充由于错误而没有发生的表。 我该怎么办

提前感谢

找到了:D

只需手动在表中创建列。无论您是在datagrid还是在报表中使用它,它都会起作用。只需确保查询中的列名与表中的列名匹配即可