Форма VB Access не отображает все записи по запросу - PullRequest
0 голосов
/ 20 июня 2020

введите описание изображения здесь У меня есть запрос, который возвращает 98 записей, но когда я пытаюсь заменить его источником записей формы, он возвращает 92 или 94 записи, а иногда показывает 98 записей. Я не знаю, в чем проблема.

SELECT ts1.Id, ts1.Narration, ts1.Mode, ts1.ChequeNo, ts1.Dated, 
       tcs.CustomerID, tcs.Name, ts1.Debit, ts1.Credit, 
       (IIf((select Sum([Debit])-Sum([Credit]) from tblTransactions 
             where cDate(Dated) < cDate(ts1.Dated) and AccountId='1010592'
               and IsDeleted=false) Is Null,
              0,
             (select Sum([ts.Debit])-Sum([ts.Credit]) from tblTransactions ts
              where cDate(ts.Dated) < cDate(ts1.Dated) and ts.AccountId='1010592'
              and ts.IsDeleted=false )) + 
        IIf((select Sum([ts2.Debit])-Sum([ts2.Credit]) from tblTransactions ts2 
             where cDate(ts2.Dated) = cDate(ts1.Dated) and ts2.Id<ts1.Id  
               and ts2.AccountId='1010592' and ts2.IsDeleted=false ) Is Null, 
             0, 
            (select Sum([ts3.Debit])-Sum([ts3.Credit]) from tblTransactions ts3 
             where cDate(ts3.Dated) = cDate(ts1.Dated) and ts3.Id<ts1.Id 
               and ts3.AccountId='1010592' and ts3.IsDeleted=false )) +
            ts1.Debit - ts1.Credit) AS Balance 
FROM tblTransactions AS ts1 
INNER JOIN tblCustomers AS tcs ON ts1.AccountId = tcs.CustomerID 
WHERE tcs.CustomerID = '1010592' 
  AND cDate(Dated) between cdate('01-Mar-20') AND cdate('20-Jun-20') 
  AND ts1.IsDeleted = false  
ORDER BY cDate(Dated) asc, Id asc

1 Ответ

0 голосов
/ 23 июня 2020

Если нет проблем с синтаксисом SQL, просто добавьте Requery, поскольку этого недостаточно, чтобы просто изменить SQL в источнике записей формы. Вам необходимо повторно запустить корректировку запроса.

Me.Form.RecordSource = ledgerqry
Me.Form.Requery
...