2015-02-28 2 views
0

Привет и жаль бедного английскогоОшибка в IIF Заявление о запросе в TableAdapter

У меня есть 3 таблицы в базе данных доступа с .mdb формате - Я использую эту базу данных в VS 2010 в качестве источника данных. У меня есть 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) 

, чтобы избежать получения нулевых значений я создал заявление IIF в 4 последних столбцах, которые отлично работает в доступе, но в VS таблице адаптер дает следующее сообщение об ошибке:

Error in list of function arguments: 'IS' not recognized. 
Unable to parse query text. 

в то же время я вижу результаты с 0 вместо нулей, что означает заявление IIF работает отлично.

, но мне нужен адаптер таблицы для заполнения таблиц, которые не происходят из-за ошибки. Что мне делать?

заранее спасибо

ответ

0

Найдено это: D

просто создать столбцы в таблице вручную. он будет работать независимо от того, используете ли вы его в datagrid или отчетах. просто убедитесь, что имена столбцов в запросе соответствуют именам столбцов в таблице.

Смежные вопросы