|
|
|
| запрос:
SELECT a,b
FROM ab
GROUP BY a,b
HAVING a=0 and b= & forms!ABCD!b
поле "а" в табл. "ab" имеет тип "boolean" и возвращает количество записей так, что поле "а" как буд-то отсутствует ... я как-то сталкивался с такой проблемой и менял тип поля и все заработало, но все таки неясность осталась, может кто знает и подскажет,
заранее спасибо | |
|
| |
|
|
|
| Это все в cохраненном запросе написано?
тогда зачем "&"
по идее должно быть
HAVING a=0 and b= forms!ABCD!b | |
|
| |
|
|
|
| собственно написано в таком плане
dim db as datebase
dim rs as recordset
set db=currentdb
set rs = db.openrecordset("SELECT a,b " & _
"FROM ab " & _
"GROUP BY a,b " & _
"HAVING a=0 and b=" & forms!ABCD!b) | |
|
| |
|
|
|
| Не совсем понимаю суть задачи, но может есть смысл использовать Where вместо HAVING (это и работать должно быстрее)
set rs = db.openrecordset("SELECT a,b " & _
"FROM ab " & _
"Where (a=0 and b=" & forms!ABCD!b) & _
"GROUP BY a,b " ) | |
|
| |
|
|
|
| Тут ситуация какая-то непонятная, с where я тоже пробовал- без толку. Смешнее другое ... Ну не возвращает sql запрос - значит в нем ошибка (в реальности он состоит из трех табл. и с вычисляемыми полями, затем и есть группировки). Подставляю его в конструктор запроса - возвращает три записи, а это же из модуля формы - 0. Сделал новый запрос в конструкторе, вернул три записи, скопировал sql в модуль формы -0 записей на отладчике. Изменил тип boolean на дл.целое - все тоже самое. Причем, из одной табл. извлекает правильно, а из трех - нет. Ради интереса привожу настоящее выражение:
sql = "SELECT OrderItems.order_id, OrderItems.it_id, OrderItems.store_id, " & _
"OrderItems.prod_id, OrderItems.mark_id, OrderItems.psize_id, " & _
"Sum([WeightNameDetal]*[NumnberDetal]) AS TotalWeight, OrderItems.it_quantity, NameInOrder.Finish " & _
"FROM (OrderItems INNER JOIN RoutList ON (OrderItems.order_id = RoutList.order_id) AND " & _
"(OrderItems.prod_id = RoutList.proid_id) AND (OrderItems.mark_id = RoutList.mark_id) AND " & _
"(OrderItems.psize_id = RoutList.psize_id)) INNER JOIN NameInOrder ON RoutList.order_id = NameInOrder.order_id " & _
" where NameInOrder.Finish=0 and OrderItems.order_id= " & Me.order_id & _
" GROUP BY OrderItems.order_id, OrderItems.it_id, OrderItems.store_id, OrderItems.prod_id, " & _
"OrderItems.mark_id, OrderItems.psize_id, OrderItems.it_quantity, NameInOrder.Finish "
|
| |
|
| |
|
|
|
| а как проверяете количество записей? RecordCount? MoveLast делаете? если Finish булево попробуйте использовать False
... where NameInOrder.Finish = False ....
|
| |
|
| |
|