|
|
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Значит, опять же, имеем 2 формы связанные один-ко-многим. Во 2 форме - есть данные по товару, допустим, и его цене. (ленточная форма) Хотелось в 1 форме иметь данные по товару, у которого самая высокая цена. Можно ли в построителе выражений для поля использовать sqlязык? Или не так. Я могу построить запрос, но как указать текущую запись? Допустим: select [Vid].[Vid] where ([Vid].[Proc]=max([Vid.Proc])) and ([Vid].[IDRam]=[текущая запись в главной форме]) Хотя это скорее всего неправильно, поскольку максимум будет искаться по всей таблице Вид а не в выборке для текущей записи Рам. Помогите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 11:51 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Grauhchимеем 2 формы связанные один-ко-многим. жёстко... GrauhchЯ могу построить запрос, но как указать текущую запись?а не надо указывать... ты сделал в принципе правильную конструкцию, дело в том что воспринимается только текущая запись в форме... так что смело подставляй в WHERE значение нужного компонента... Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 11:59 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
авторзначение нужного компонента... CurrentRecord даст значение которое находится в окошке навигатора. А если и эта таблица подчиненная, как у меня, то там указывается не физический номер записи, а номер записи для текущей в главной форме. (вот написал, но кто знает, вроде понятно) Фактически, придется добавлять поле со значением ID? Не красиво. автор[quot автор]Grauhch имеем 2 формы связанные один-ко-многим. жёстко... [/quot] Ну таблицы связаны, а формы подчиненные...=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 13:30 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
ну ты хоть попробуй... select [Vid].[Vid] where ([Vid].[Proc]=max([Vid.Proc])) and ([Vid].[IDRam]=Forms!Имя_Главной_Формы!Имя_Поля) только пробуй при открытой Главной_Формы Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:05 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Currentrecord точно не проходит:( Если выводить поле то вроде есть. Надо только Мах правильно описать. В принципе поле можно сделать и невидимым =-% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:25 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Вот так работает: SELECT Vid.Vid FROM Vid WHERE (((Vid.Proc)=(select Max([Vid].[Proc]) from [Vid] where [Vid].[IDRam]=[Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Поле15])) AND ((Vid.IDRam)=[Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Поле15])); Фуу. Привыкнешь к одной системе, так сложно в другую врубаться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:35 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Однако в запросе это работает, а в значение поля вставит не получается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:49 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
его можно вставить источником листбокса или комбобокса... и ессно формы Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:56 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Лучше поле, конечно, но если нельзя, мы и здесь чего нить придумаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 15:28 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Sub UpdateDominant() Dim db As DAO.Database Dim rs As DAO.Recordset Dim Dom As String Set db = CurrentDb Set rs = db.OpenRecordset("SELECT Vid.Vid FROM Vid WHERE (((Vid.Proc)=(select Max([Vid].[Proc]) " & _ "from [Vid] where [Vid].[IDRam]=[Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Ïîëå15]))" & _ "AND ((Vid.IDRam)=[Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Ïîëå15]))") Dom = rs!Vid [Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Ïîëå13] = Dom End Sub "Слишком мало параметров, требуется 1" Все ж по книжке один в один!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 11:22 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Что все таки надо формализовать? Вообще, длина строки 262 символа. Может эта чухня все грузит? Но запрос сам по себе работает. Или SQL в VBA и SQL в Access не есть одно и тоже? Поскольку меняю строку запроса на "select * from Vid" никто не ругается. АААА! Я понял! Это такая специальная фича, чтобы всякие идиоты, вроде меня, сидели дома и сосали чупу чупс :-Е ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 08:39 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Сейсас попробовал открыть запрос: Sub UpdateDominant() Dim rs As DAO.Recordset Dim Dom As String Set rs = CurrentDb.OpenRecordset("FindDominant") Dom = rs!Vid [Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Ïîëå13] = Dom End Sub Так на выделенном поле ругается что опять нет параметров. Тут же открываю запрос руками - точно требует ввести значение поля15. Закрываю модуль - все само открывается. Может здесь над собакой надругаться и закопать к червям напрочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 10:21 |
|
||
|
Еще идейка (иметь данные по товару, у которого самая высокая цена)
|
|||
|---|---|---|---|
|
#18+
Сделал Sub updateDominanter() Dim rs As DAO.Recordset Dim Dom As String Dim I As String Dim SQLS As String I = [Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Ïîëå15] SQLS = "SELECT Vid.Vid FROM Vid WHERE (((Vid.Proc)=(select Max([Vid].[Proc]) from [Vid] where [Vid].[IDRam]=" + I + ")) AND ((Vid.IDRam)=" + I + "));" Set rs = CurrentDb.OpenRecordset(SQLS) Dom = rs!Vid [Forms]![Razrez Form]![Litoral Form].[Form]![Ramka Form].[Form]![Ïîëå13] = Dom И все пошло. Почему такой гимор? Почему открывание запроса в модуле ведет к потере данных формы? Попробовал на всякий случай - пошло. Ничего не понимаю:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 14:24 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32489763&tid=1675008]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
182ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 458ms |

| 0 / 0 |
