|
|
|
| Привет всем
Значения функции DLookUp использую в запрсе (как одно из полей)
Как правильно в фильтре функции DLookUp указать в качестве критерия поле запроса
вот так не пашет
Expr1: DLookUp("[Price]";"GoodPrice";"[GoodID1]=[GoodID]")
где [GoodID] одно из полей запроса
Спасибо | |
|
| |
|
|
|
| зачем в ЗАПРОСЕ использовать DLookup, если его можно заменить аналогичным запросом?
попробуйте так
Expr1: (select top 1 [Price] from GoodPrice where [GoodID1]=[GoodID])
|
правда, не знаю, сработает ли top 1 :) | |
|
| |
|
|
|
| Ничего не скажешь, красиво !!!
Такого я ещё не делал.
Огромное спасибо | |
|
| |
|
11 Кб. |
|
| Блин рано обрадывался .
В таком виде запрос становиться необнавляемым.
Я поэтому и хочу использывать DLookup, чтобы найти нужный [price] для каждого товара и сохранить возможность изменять записи запроса (запрос используется в Рекорд соурсе формы).
Вопрос остается открытым.
Пример в аттаче. Нужно открыть запрос "Orders1" c нужными price - ами из запроса "GoodPrice1" | |
|
| |
|
11 Кб. |
|
| Вопрос решил написав свою ф-ию
Public Function GetPrice(GoodID As Long) As Double
GetPrice = DLookup("[Price]", "GoodPrice1", "[GoodID1]=" & GoodID)
End Function
|
Но на большом кол-ве записей притормаживает. Наверное DLookup нелучший вариант
Посоветуйте как еще можно выводить нужную цену товара (в моем примере [PriceName]=1), чтобы сохранялась возможность редактирования записей запроса (в моем примере "Orders1") | |
|
| |
|
|
|
| все зависит от вводных
тебе это нужно для чего?
для редактирования цены в заказе?
тогда я бы делал (и делал в подобных задачах) - через временную таблицу. заполнял её нужными данными. и потом пользователь редактировал все что ему дозволено:) | |
|
| |
|
|
|
| Этот запрос используется в Рекорд соурсе формы (для заполнения таблицы "Orders" - только два поля [GoodID2] и [Quantaty]) а [Price] нужен для расчета стоймости заказа (кол-во*цена).
В зтом и фишка, что цен у каждого товара несколько и лежат они в отдельной таблице.
Отсюда и вопрос как достать нужную цену товара (например с кодом цены =1) не DLookUp-ом и сохранить возможность редактирования записей.
Там выше был пример приклеен. | |
|
| |
|
|
|
| пример не имею возможности посмотреть.
по организации выбора - я все описал :) я так делаю, другие так делают. | |
|
| |
|
|
|
| Есть несколько способов. Все зависит от того, как ты выводишь несколько цен для одного товара, и нужно ли дать возможность в этой форме редактировать цену товара. | |
|
| |
|
|
|
| перефразирую:
Если запрос является источником формы, то зачем нужна его обновляемость? По клику кнопки делаешь несколько запросов на Update и изменяешь данные в нескольких таблицах. Еще можно вывести сообщение о том, что записи будут изменены. Потом в стиле мелкософта спрашиваешь "Вы уверены?", ну и в конце добиваешь юзера вопросом "А зачем вам это нужно?" | |
|
| |
|
|
|
| Ответ на пост от 15:45
редактировать цену товара не надо. Цену нужно только найти - она нужна только для расчета (кол-во*цена)
Можно DLookUp-ом - это уже было сделано раньше, но притормаживает.
Вот я и пытаюсь с вашей помощью найти что-нибудь по лучше. | |
|
| |
|
|
|
| Ну так Кабан показал как без DLookUp-а. А изменять записи - Update блаблабла. Должно работать быстрее. | |
|
| |