|
|
|
|
Dim RST As Recordset ' таблица изделий
Dim db As Database
Dim ALL_PRODUCTS As Long ' ВСЕ ИЗДЕЛИЯ заказа
Dim ACTUAL_PRODUCTS As Long ' изделия прошедшие ОТК
Set db = CurrentDb
Set RST = db.OpenRecordset("LIST_PRODUCT__DEFRAG")
If RST.RecordCount <> 0 Then
ALL_PRODUCTS = RST.RecordCount
RST.Filter = "[DATE_OTK]"
что то типа этого
ACTUAL_PRODUCTS = RST.Filter.Count
If ALL_PRODUCTS > ACTUAL_PRODUCTS Then
|
| |
|
| |
|
|
|
| а че другой рекордсет открыть нельзя с SQL строкой (ну т.е. фильром) и count | |
|
| |
|
|
|
|
RST.Filter = "[DATE_OTK]"
|
???? | |
|
| |
|
|
|
| можно!!!
У меня какие то глюки ваще.
Set RST = db.OpenRecordset("PRODUCTS_TBL")
If RST.RecordCount <> 0 Then
открываю таблу полную записей RST.RecordCount = 1
с фильтром тоже = 1
и без фильтра и как угодно? | |
|
| |
|
|
|
|
открываю таблу полную записей RST.RecordCount = 1
|
.movelast
потом уж recordcount | |
|
| |
|
|
|
|
| єто уже как ОтчеНаш :)
if not rs.Eof then
rs.MoveLast:rs.MoveFirst
.....
end if
|
| |
|
| |
|
|
|
| RST.MoveLast
RST.MoveFirst
да - Наш Отчэ помог........
Но почему это только иногда такая ситуация.......
Обычно - RST.Recordcoun - lf' количество записей ез прыжков в конец и в начало, но порою как заартачится ......... | |
|
| |
|
|
|
| Это да, я тоже замечал...
Поэтому надо перестраховаться... | |
|
| |
|
|
|
| Ну тады
If NOT Rs.EOF Or NOT Rs.BOF Then | |
|
| |
|
|
|
|
ДыКаунт("*","LIST_PRODUCT__DEFRAG","[DATE_OTK]=CDATE('" & [Парамэтр] & "')")
|
| |
|
| |
|
|
|
| дык кыунт это выход.....
я хотел паработать с набором записей, а чёта в ступоре от Count_a | |
|
| |
|
|
|
| паслющий Дядю Фёдора! | |
|
| |
|
|
|
| Слухаю.....
Set RST = db.OpenRecordset("PRODUCTS_TBL")
If Not RST.EOF Or Not RST.BOF Then
RST.MoveLast
RST.MoveFirst
End If
If RST.RecordCount = 0 Then
MESS""
Exit Sub
End If
RST.Filter = "[ORDER_NUMBER] = & Me!ORDER_NUMBER"
ALL_PRODUCTS = RST.RecordCount
RST.Filter = "[DATE_OTK]"
|
как посчитать количество отфильтрованных записей?
Мне надо фильтрануть те у которых [DATE_OTK] = ""
У кого нет даты отк | |
|
| |
|
|
|
|
| Паслухал....
Он на футбол сёдня идёт.
Ладн - дэкаунт дык дэсоунт | |
|
| |
|
|
|
| Dcount-ить надо. Чего мучаться?
Или
rst2 = db.open...("select ... where [DATA]='' ")
...
x=rst2.recordcount | |
|
| |
|
|
|
|
ALL_PRODUCTS = RST.RecordCount
RST.Filter = "[DATE_OTK]"
set RSTFiltered = RST.OpenRecordset()
debug.print RSTFiltered.RecordCount
|
| |
|
| |
|
|
|
| Спасибо пробую......
чего то не то .....
Мне надо фильтрануть те у которых [DATE_OTK] = ""
У кого нет даты отк
как такое условие написать?
RST.Filter = "IsNull([DATE_OTK])= True" | |
|
| |
|
|
|
| Я офигиваю
ALL_PRODUCTS = RST.RecordCount
RST.Filter = "[DATE_OTK]<> #01.01.01# "
' Создает динамический объект Recordset для отобранных записей.
Set RSTFiltered = RST.OpenRecordset
RSTFiltered.MoveFirst
RSTFiltered.MoveLast
ACTUAL_PRODUCTS = RSTFiltered.AbsolutePosition
|
AbsolutePosition - рулито вместе с MoveLast | |
|
| |
|
|
|
|
If RST.RecordCount = 0 Then
MESS "Таблица заказов пуста."
Exit Sub
End If
RST.Filter = "[ORDER_NUMBER]= '" & Me!ORDER_NUMBER & "'"
' Создаем динамический объект Recordset для отобранных записей.
Set rstFiltered = RST.OpenRecordset
rstFiltered.MoveFirst
rstFiltered.MoveLast
ALL_PRODUCTS = rstFiltered.AbsolutePosition
RST.Filter = "[DATE_OTK]<> #01.01.01# "
' Создаем динамический объект Recordset для отобранных записей.
Set rstFiltered = RST.OpenRecordset
rstFiltered.MoveFirst
rstFiltered.MoveLast
ACTUAL_PRODUCTS = rstFiltered.AbsolutePosition
If ALL_PRODUCTS <> ACTUAL_PRODUCTS Then
MESS "В данном заказе имеются изделия не прошедшие ОТК."
MESS "Потому изменение места хранения не представляется возможным."
..........
|
| |
|
| |
|
|
|
| И все же. Через рекордсет дольше. Что-то типа
NZ(DLOOKUP(...тратата..),FALSE)
даст тебе ответ намного быстрее. | |
|
| |
|
|
|
|
ALL_PRODUCTS = DCount("[ORDER_NUMBER]", "PRODUCTS_TBL", "[ORDER_NUMBER] = '" & STR_ORDER_NUMBER_DEFRAG & "'")
ACTUAL_PRODUCTS = DCount("[DATE_OTK]", "PRODUCTS_TBL", "[DATE_OTK]<> #01.01.01# AND [ORDER_NUMBER] = '" & STR_ORDER_NUMBER_DEFRAG & "'")
|
| |
|
| |
|