Может LINQ (к SQL) делают поразрядные запросы?

Добавьте приведенную ниже функцию в стандартный модуль, затем в отчет =CountInstanceofNo()

Option Compare Text
Public Function CountInstanceofNo() As Long
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim fld As DAO.Field
    Dim counter As Long

    Set db = CurrentDb
    Set rs = db.OpenRecordset("Select ClaimantAdded, DocsPhoneCall, InsdDriverVehInfo,LossInfo,TemplateCalNotes,EmailtoLiab, ReserveScreen, InsNamePhone, Clerical, AdditionalSteps from tbl_CSRQA Where CustomerServiceRep='" & [forms]![frm_CSRErrorTracking]![CSRNameCB] & "' AND ClaimDate Between #1/1/2019# And #1/31/2019#", dbOpenDynaset)

   Do Until rs.EOF
        For Each fld In rs.Fields

                counter = counter + IIf(fld & "" = "No", 1, 0)

        Next
        rs.MoveNext
   Loop

    CountInstanceofNo = counter

    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Function
.
5
задан Herb Caudill 19 October 2008 в 14:50
поделиться

3 ответа

Я думаю, что это будет работать, но я не протестировал его. Замените названием своего объекта DataContext. YMMV.

from u in DataContext.Users
where UserRolesBitmask | 22 == 22
select u
8
ответ дан 18 December 2019 в 07:32
поделиться

Если это не работает, Вы могли бы всегда использовать ExecuteCommand:

DataContext.ExecuteCommand("select * from [User] where UserRolesBitmask | {0} = {0}", 22);
0
ответ дан 18 December 2019 в 07:32
поделиться

В качестве примечания для моих коллег-гуглеров: UserRolesBitmask | 22 == 22 выбирает всех пользователей, у которых нет других флагов (это не фильтр, это как сказать 1 == 1 ).

Вам нужно либо:

  • ] UserRolesBitmask & 22 == 22 , который выбирает пользователей, у которых есть все роли в их битовой маске, или:
  • UserRolesBitmask & 22! = 0 , который выбирает пользователей, у которых есть хотя бы одна из ролей в их битовой маске
13
ответ дан 18 December 2019 в 07:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: