Значение контрола Text в форме как результат запроса на основании критерия отобранного в контроле Combo
Omar_K
Дата: 07.06.2004 11:25:46
Есть 2 таблицы price_t(type, value) и type_t(id, name).
Есть форма:
в Combo0 пользователь выбирает тип топлива из type_t(name). После того как контрол обновился в Text1 он должен увидеть цену топлива взятую из price_t(value)
Связь таблиц [price_t]!.[type]=[type_t]!.[id]
Вообщем
Дайте пожайлуста совет в какому свойству или событию Text необходимо присвоить результат запроса
SELECT [Price_T]!.[Value] FROM [Price_T] WHERE [Price_T]!.[ID]= " & Me!Combo0 & "
paparome
Дата: 07.06.2004 11:31:51
1.
на событии комбо AfterUpdate вешаешь обработчик
text1 = DlookUp("value", "price_t", "type = " & Me!Combo0)
2. В комбо засунуть запрос
Select t.id, t.name, p.value
From type_t t left join price_t p
on t.id = p.type |
|
У текста в свойстве "данные" прописать =combo0.colunm(2)
Omar_K
Дата: 07.06.2004 11:59:16
А теперь пользователь изменил в text1 и нажал кнопку
Необходимо чтобы помле события онклик проапдейтелось price_t.value
Private Sub Command6_Click()
CurrentDb.Execute "Update Price_t(Value) Where [price_t].[type]= " & Me!combo0 VALUES (" & Me!Text4 & ")", dbFailOnError
End Sub
вообщем я не знаю синтаксиса пока еще что тут необходимо изменить
Omar_K
Дата: 07.06.2004 12:03:52
CurrentDb.Execute "Update Price_t Set Value= " & Me!Text4 " Where type= " & Me!Combo0 "", dbFailOnError
или как-то так?
paparome
Дата: 07.06.2004 12:09:53
Смесь, бульдога с носорогом (ИМХО), точнее Update и Insert :(
Синтаксис у Update такой (для Акса)
Update tbl1 (или с джойнами - короче, как во From)
Set
f1 = [что надо тут присвоить] (возможен вариант tbl1.f1 = tbl2.f2 + tbl3.f3),
f2 = ...
Where [тут все как в условиях]
PS: 1 Update = 1 таблица, т.е. одним запросом нельзя изменять данные в нескольких таблицах (Update ... Set tbl1.f1 = ..., tbl2.f2 = ... Where ... - не допустимо)
PSS: Пока писал, автор успел дать правильный ответ :)
Omar_K
Дата: 07.06.2004 12:22:15
все конечно хорошо но компилятор ругается и требует энд оф стэйтмент на WHere не могли бы вы написать синтксически правильно с расстовлением необходимых кавычек и прочих знаки пункутации мой последний вариант.
paparome
Дата: 07.06.2004 12:29:15
"Update Price_t Set Value= '" & Me!Text4 & "' Where type= " & Me!Combo0 & ";"
PS: Точка с запятой, вроде бы, не обязательна при выполнении запроса из VBA
Omar_K
Дата: 07.06.2004 12:42:10
Я сделал еще один текстбокс Text5 в него пользователь вбивает новую цену потом нажимает кнопку я вставил ваш код только поменял Text4 на Text5 и ....обджект реквайред
paparome
Дата: 07.06.2004 12:43:42
Ничего не понял :(
Да - я вроде бы зря апострофы поставил, у вас же число.
Omar_K
Дата: 07.06.2004 12:47:17
в коде при наведении мышкой на конторлы подвечивается значения после отработки процедуры так вот и Text5=3.3 и Combo0=1 где то ошибка чисто синтаксическая наверное