|
|
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Литературу читал, но мало. Всё изучал на практике и на хелпах. Не могу понять, помогите: делаю обычный Рекордсет типа set rst = currentdb.openrecordset("................ и т.д. источником является сложный запрос выдаёт ошибку типа "Мало параметров, нужно 2" в чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:37:27 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
авторв чем проблема? Мало параметров, нужно 2 :))) Запрос покажи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:38:49 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
AnTTЛитературу читал, но мало. Всё изучал на практике и на хелпах.Так лучше всего. AnTTделаю обычный Рекордсет типа set rst = currentdb.openrecordset("................ и т.д. источником является сложный запрос выдаёт ошибку типа "Мало параметров, нужно 2" в чем проблема?Жопа в тексте запроса. Пожалста в студию. Аксесс его парсит и решает, что вот эти вот два слова, которые он не смог понять, являются параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:39:58 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
запрос составлен на основе нескольких таблиц со всякими разными условиями, являющиеся функциями. просто так запрос выполняется. подставляю вместо запроса любую таблицу - всё ок. неужели нельзя делать рекордсеты на основе запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:42:26 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
AnTTзапрос составлен на основе нескольких таблиц со всякими разными условиями, являющиеся функциями. просто так запрос выполняется. подставляю вместо запроса любую таблицу - всё ок. неужели нельзя делать рекордсеты на основе запросов?Ты хочешь в пространство поспрашать или проблему свою решить? Если первое, то ты ошибся местом. А если второе, то пиши текст запроса. Всё можно сделать, надо только постараться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:43:30 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Можно делать :) Запрос покажешь? Или так и будем гадать где у тебя трабл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:43:52 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
AnTTзапрос составлен на основе нескольких таблиц со всякими разными условиями, являющиеся функциями. просто так запрос выполняется. подставляю вместо запроса любую таблицу - всё ок. неужели нельзя делать рекордсеты на основе запросов? хором заявляем - можно НО аккуратно "собирая" SQL строчку обычные проблемы - Null - Like - Дата/время не в том формате - забытые кавычки вокруг литералов - кривые ссылки на формы - where без полей мораль перед Openrecordset делаешь debug.print своей строке и ищешь ляпу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:47:43 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Shuhard[quot AnTT] мораль перед Openrecordset делаешь debug.print своей строке и ищешь ляпу! только не смейтесь! я много слышал про дебаг, но никогда не использовал. можно поподробнее, как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 17:52:53 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
AnTT Shuhard[quot AnTT] мораль перед Openrecordset делаешь debug.print своей строке и ищешь ляпу! только не смейтесь! я много слышал про дебаг, но никогда не использовал. можно поподробнее, как это сделать? внутри существующего кода вставляешь debug.print чего-то Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. жмешь CTRL+G видишь результат Код: plaintext 1. далее включашь думатель и ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 18:08:38 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Люди! Та же самая проблема. Где ошибка знаю, но не знаю как исправить. не хочет воспринимать Format([Дата],"dd/mm/yy") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 10:08:07 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Здесь можно посмотреть про даты в запросе: http://www.sql.ru/faq/faq_topic.aspx?fid=157 , а здесь, например, в Q1, одна из возможных причин возникновения ошибки, если даты в запросе написаны правильно: http://www.sql.ru/faq/faq_topic.aspx?fid=213 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 10:12:54 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikPЛюди! Та же самая проблема. Где ошибка знаю, но не знаю как исправить. не хочет воспринимать Format([Дата],"dd/mm/yy") может mm dd yyyy и где ёлки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 10:40:19 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
менял dd и mm местами таже фигня и просит не 2 параметра как у AnTT а 5 Вот запрос Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 10:56:30 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Для преобразования даты в эскуэль джет строку я написал функцию: Public Function fnDateToJetString(pDate As Variant) As String If IsNull(pDate) Then fnDateToJetString = "" Else fnDateToJetString = "#" & Format(Month(pDate)) & "/" & Format(Day(pDate)) & "/" & Format(Year(pDate)) & "#" End If End Function И не парюсь. Тк многочасовые упражнения с форматом ни к чему хорошему не привели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 11:05:05 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
он вот этого не может найти [Forms]![000_Объемы]![Дата] как раз 5 штук :) форма открыта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 11:06:46 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Форма открыта. Я и сам текст SQLзапрос прописываю в модуле ссылкой на форму, т.к. запрос храниться в таблице и на основании этой таблицы построена форма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 11:11:43 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
К стати когда прописываю графику находящемуся на этой же форме RowSourse=та же ссылка все работает без проблем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 11:16:36 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Я сталкивался с таким эффектом, когда запрос отрабатывается нормально, а рекордсет на основе того же запроса требует параметры. По-видимому, в данном случае, надо данные с формы подать в запрос в явном виде. Я бы построил функцию, которая в стринге выдавала бы фосматированные поля даты с формы. Склеил бы запрос в чистом виде и так бы открывал его. И не так громоздко будет выглядеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 11:27:13 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryПо-видимому, в данном случае, надо данные с формы подать в запрос в явном виде. Я бы построил функцию, которая в стринге выдавала бы фосматированные поля даты с формы. Склеил бы запрос в чистом виде и так бы открывал его. И не так громоздко будет выглядеть. А расшифровку для чайников можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 11:32:37 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Кстати, вместо вложенных IIf лучше пользоваться функциями Choose или Switch. Не забывайте, что IIf проверяет и truepart и falsepart и если одна из частей ошибочна, получите фигу. И это еще один довод в пользу создания функции типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. и Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 11:46:23 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
А со скоростью обработки у функции все нормально будет? А то я сначала за место вычислений в запросе функцию писал, так она в час по чайной ложке работала, хотя формула была один в один. У меня массивы по 50 000 строк и более, а обрабатываться должно с полпинка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 12:08:47 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
авторУ меня массивы по 50 000 строк и более, а обрабатываться должно с полпинка 1. iif - тоже функция 2. 50 000 записей с сортировкой и группировкой по вычисляемым полям (iif)? С пол пинка? Хорошие у вас машинки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 12:18:03 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Попробуй. По идее, то что я предлагаю, ничего не изменяет, просто легче создать стринг с запросм и загнать в него параметры запроса и поля явным образом. Для увеличения скорости есть другие инструменты, например, индексы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 12:19:18 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
paparome2. 50 000 записей с сортировкой и группировкой по вычисляемым полям (iif)? С пол пинка? Хорошие у вас машинки :) Ну на счет с пол пинка может немного и приукрасил, но за 2-3 секунды обработка должна происходить. У меня по этому запросу данные на графике изменяются в зависимости от значения в поле со списком или по группе переключателей [Дата]. Если медленно будет работать мне не простят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 12:33:20 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikP paparome2. 50 000 записей с сортировкой и группировкой по вычисляемым полям (iif)? С пол пинка? Хорошие у вас машинки :) Ну на счет с пол пинка может немного и приукрасил, но за 2-3 секунды обработка должна происходить. У меня по этому запросу данные на графике изменяются в зависимости от значения в поле со списком или по группе переключателей [Дата]. Если медленно будет работать мне не простят А ты открой этот запрос (после сохранения в запроса) и перейди на последнюю запись (кнопку нажми) и время засеки Потом нам скажешь сколько он у тебя открывался :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 12:36:33 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Не болтай! Построй, запусти, проверь время. Если будет медленно, выстави на форум структуру таблиц и результирующий запрос, посмотрим, подумаем... :))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 12:37:14 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry Код: plaintext 1. 2. 3. Послушай чей-то я видать не догоняю. Мне это в модуль писать или SQL запрос такой в таблицу загнать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 13:01:55 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikP Rivkin Dmitry Код: plaintext 1. 2. 3. Послушай чей-то я видать не догоняю. Мне это в модуль писать или SQL запрос такой в таблицу загнать Твой запрос, видимо, хранимый? Прежде чем ты его откроешь, делаешь так: Dim db as DataBase: Set db= CurrentDb Dim Qd as QueryDef: Set qd = db.QueryDefs("MyQry") qd.SQL = "SELECT " & MyDateFormat([Forms]![000_Volume]![Date]) & " ... Все, пользуся запросом, как хочешь, текст его уже сохранен. Удобно еще и тем, что когда ты его откроешь в построителе, увидешь все наглядно. И прогнать можешь на время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 13:17:12 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
По-моему мы друг друга немного не понимаем. Объясняю картину: 1.Есть таблица в ней поле MEMO в котором хранится запрос 2.Запрос основан на другом запросе с определенными параметрами и таблице 3.На основе таблицы в которой храниться запрос построена форма в ней есть поле в котором указан текст запроса(поле MEMO) 4.В форме также есть график, у которого RowSourse присваивается ссылка на поле с текстом запроса 5.В форме также есть группа переключателей "Дата" и список на основании которых меняются данные запроса 6.Надо сделать экспорт данных получаемых в результате запроса в Excel через кнопку 7.Но OpenRecordset ругается и не хочет пускать текст запроса (надо 5 параметров) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 13:34:17 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Извини, не понимаю, зачем текст запроса хранить в таблице, для этого и существуют хранимые запросы. Но это не меняет дела. То что касалось qd.SQL = "SELECT " & MyDateFormat([Forms]![000_Volume]![Date]) & " ... переделай как UPDATE MEMO_Tbl SET MEMO = "SELECT " & MyDateFormat([Forms]![000_Volume]![Date]) & " ... и все осталось, как у тебя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 13:45:54 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Спасибо за поддержку. Я пропаду на немного попробую все переварить, может на самом деле наворотил лишку. Приду в себя объявлю результаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 14:10:49 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Послушай а откуда функция берет [Date] ? На сколько я понимаю там должна быть конкретная дата, которую функция преобразует в нужный формат. В результате должна быть ссылка на запрос или таблицу Я правильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 15:33:34 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, что Rivkin Dmitry на форуме нет. Может кто другой подскажет? Вопрос в принципе простой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 17:31:58 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
[Дата] тоже надо в функцию передавать в виде аргумента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 17:33:50 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Вот и я так же подумал. По другому ведь ее не видно Спасибо за помощь! Буду разбирать дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 17:37:00 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Я пришел. При написании функции я пользовался текстом запроса автора и в третий раз за сегодня был не внимателен. [Дата] является полем таблиц [00_Дата].Дата и [001_Регион].Дата. Поэтому, передавать параметр в функцию не надо, но функцию надо слегка изменить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Я очень извиняюсь, наверное, поспешил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 17:57:04 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
К стати проверил скорость функции со вставкой даты как второго параметра Работает в 5 раз медленее И еще. А каким образом [Date] будет браться из таблиц, если ни таблицы, ни запрос к таблицам не открыты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 18:50:03 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikPК стати проверил скорость функции со вставкой даты как второго параметра Работает в 5 раз медленее И еще. А каким образом [Date] будет браться из таблиц, если ни таблицы, ни запрос к таблицам не открыты? В 5 раз медленнее чего? Если функция не работает, что мы проверяли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 18:53:22 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Запрос через IIf Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 19:03:53 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Погодь немного, я постараюсь расписать все. Со скоростью - мне не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 19:14:49 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Прежде всего, в этом выражении - ошибка и твой запрос не должен работать вообще: Код: plaintext 1. 2. 3. 4. 5. Д.быть IIf([Forms]![000_Объемы]![Дата]=1,Format([Дата],"dd/mm/yy"), IIf([Forms]![000_Объемы]![Дата]=2,CByte((([Дата]-#12/31/2000#)- CByte(([Дата]-#12/31/2000#)/364-0.4999)*364)/7+0.6), IIf([Forms]![000_Объемы]![Дата]=3,Format([Дата],"mmmm yy"), IIf([Forms]![000_Объемы]![Дата]=4,Format([Дата],"q yy"), IIf([Forms]![000_Объемы]![Дата]=5,Format([Дата],"yyyy") , < expression > ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 19:31:02 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Я не знаю как, но он работает и работает прилично. Если хочешь проверь сам. Только таблицу свою подставь и все. Желательно, чтобы в таблице было строк где-нибудь 50 000. Сразу увидишь разницу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 19:38:27 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
О птичках. У меня база mdb на Access 2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 19:40:00 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
А дату выдает правильно? И насколько я помню, запрос не открывается в рекордсете? Функцию я сварганил такую: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Вызов ее вернет тебе текст запроса Код: plaintext Код: plaintext 1. 2. 3. 4. 5. Если 2: Код: plaintext 1. 2. 3. 4. 5. Запрос я не запускал, таблицы лень делать. Вместо русских слов, подставил английские, иначе не вижу текст. Тебе надо вернуть все назад. Возможно, что я что-то напутал или ошибся. Проверь. Если что не так - стучи! Я пока на форуме. Пробуй. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 20:04:49 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Спасибо, что так развернул! Сегодня полностью опробовать не получится. Скоро с работы уйду. Результат скажу завтра. Еще раз спасибо. Намучался наверно писавши. Объемчик не малый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 20:08:55 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Писать (ударение) не трудно - копируй себе, сложно проверять, что правильно сложил все. А еще волнение - правильно ли я твою задачу понимаю, а то может быть зря воздух сотрясаю... Хотя и корысть есть - вдруг правильно понял и правильео тиснул - мой код опубликован будет!!! 8-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 20:16:42 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Если ты еще не ушел, а что ты вычисляешь в выражении Код: plaintext Я что-то не въехал. Если номер текущей недели в году то есть готовая функция format(date,"ww"), которая и возвращает значение. Тогда стоит подправить нашу функцию в соответствующих местах. А что здесь Year([Date])*12+Month([Date]) и здесь Year([Date])*4+CByte(Month([Date])/3+0.2) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2004, 20:33:42 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryЕсли ты еще не ушел, а что ты вычисляешь в выражении Код: plaintext Я что-то не въехал. Если номер текущей недели в году то есть готовая функция format(date,"ww"), которая и возвращает значение. Тогда стоит подправить нашу функцию в соответствующих местах. А что здесь Year([Date])*12+Month([Date]) и здесь Year([Date])*4+CByte(Month([Date])/3+0.2) ??? 1. Ты правильно понял вычисляется номер недели. Только в формате ww есть один минус. Он считает, что в году 53 недели, а на самом деле их 52 просто 53-я переходит в 1. При сравнении разных годов по неделям это не прокатывает. 2. Year([Date])*12+Month([Date]) считает номер недели, но прибавляет к ней год 3. Year([Date])*4+CByte(Month([Date])/3+0.2) то же, что и 2 только не месяц, а квартал Для чего все это нужно: Если брать несколько годов и сортировать их, то текстовый формат даты будет сортироваться не корректно. Вот для этого и нужен еще один столбец в запросе по которому будет производиться сортировка. А 2-й вариант предлагает сам мастер в Access, когда делаешь диаграмму, ну а остальное сам наваял по аналогии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 09:14:39 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Доброе утро! Понятно с датами - твои прблемы. Я думаю, что функцию, что я крапал, нужно уточнить. Во всех местах, где написано "Format([Date] .... надо написать "Format([00_Date].[Date] иначе в запросе будет неопределенность с полями выборки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 09:24:14 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Кстати! Когда я предлагал два запроса (один с функцией, а другой с IIf) и IIf работал в 5 раз быстрее, то там скорее всего дело вот в чем: IIf обращается в форму смотрит на значение переключателя и сразу форматирует весь массив Функция обращается в форму к переключателю на каждой записи, а это не к чему. из-за этого и тормозит Но я смотрю последний вариант вроде бы это исключил. Я случаем не ошибаюсь, а то может надо сначала скорректировать??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 09:33:27 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Наконец-то, как мне кааатся, ты уловил идею: на каждый новый запрос просто строим новый стринг, который мало чем отличается от твоего, просто упрощается. Но для меня остается загадкой как у тебя работал запрос с неправильным использованием IIf(IIf(IIf(? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 09:39:15 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryНо для меня остается загадкой как у тебя работал запрос с неправильным использованием IIf(IIf(IIf(? Понятия не имею выкладываю еще раз (скопировал из работающего запроса) Код: plaintext 1. 2. Может кто-нибудь другой объяснит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 09:44:50 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
А в запросе в функции IIF можно опустить второй аргумент. А в редакторе VBA будет ругаться на компиляции. Попробуйте SELECT IIf(2=2,"Да ну!") AS ОПА FROM Tbl1; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 09:59:19 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Alexander GА в запросе в функции IIF можно опустить второй аргумент. А в редакторе VBA будет ругаться на компиляции. Попробуйте SELECT IIf(2=2,"Да ну!") AS ОПА FROM Tbl1; Действительно! И открытии рекордсета возможно! Спасибо, Alexander! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 10:06:37 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Alexander GА в запросе в функции IIF можно опустить второй аргумент. А в редакторе VBA будет ругаться на компиляции. Я тут смотрю ларчик похоже просто открывался?(Ошибка при открытии Recordset) А функцию я протестировал ВСЕ РАБОТАЕТ!!! И СКОРОСТЬ НОРМАЛЬНАЯ!!! Немного подредактировал правда. Но идея мне понравилась (хитро) перехожу на открытие Recordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 11:02:11 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Поставил в Open.Recordset теперь пишет 4 параметра Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Вот запрос который получается по функции MySql Код: plaintext 1. 2. 3. 4. 5. 6. В чем проблема люди? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:33:12 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
С 4 параметрами вроде разобрался Ему похоже " " не нравятся буду править ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:09:35 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikPС 4 параметрами вроде разобрался Ему похоже " " не нравятся буду править Попробуй еще здесь поменять: ON [00_Дата].[Дата] = [001_Регион].[Дата_] GROUP BY Format([00_Дата].[Дата],"mmmm yy") ,Year([00_Дата].[Дата])*12+Month([00_Дата].[Дата]) ORDER BY Year([00_Дата].[Дата])*12+Month([00_Дата].[Дата]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:41:10 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry NikPС 4 параметрами вроде разобрался Ему похоже " " не нравятся буду править Попробуй еще здесь поменять: ON [00_Дата].[Дата] = [001_Регион].[Дата_] GROUP BY Format([00_Дата].[Дата],"mmmm yy") ,Year([00_Дата].[Дата])*12+Month([00_Дата].[Дата]) ORDER BY Year([00_Дата].[Дата])*12+Month([00_Дата].[Дата]) Да не с [Дата] все нормально (ON [00_Дата].[Дата] = [001_Регион].[Дата_]) Вторая дата идет как [Дата_] Я тут немного подправил сейчас Type mismatch пишет Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:55:21 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Я конечно сильно извеняюсь, не мне в разговор "монстров" встревать, но у меня работает так qweSQL = "SELECT #" & Format([Дата], ""dd/mm/yy"") & _ "#, Sum([001_Регион].[Sum-Продано_кг]) As Тоннаж " & _ "FROM 00_Дата LEFT JOIN 001_Регион ON [00_Дата].[Дата] = [001_Регион].[Дата_]" & _ "GROUP BY#" & Format([Дата], ""dd/mm/yy"") & _ "# ,Year([Дата])*365+Month([Дата])*31+Day([Дата])" & _ "ORDER BY Year([Дата])*365+Month([Дата])*31+Day([Дата])" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 14:09:08 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Ирча на твой вриант ругается List separator or) и указывает на dd Я так понял ты предложила dd/mm/yy заключить в двойные " других различий я вроде не заметил. Может у тебя там что-нибудь еще есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 14:23:49 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Ау! Люди! такое впечатление, что все вымерли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 14:46:16 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Встряну не в тему - если это копировали из кода программы, то! Код: plaintext 1. 2. 3. 4. 5. Там где подчеркнул - должны быть пробелы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 14:51:55 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
К paparome пробелы поставил все равно Type mismatch кстати! спасибо, что встрял, а то сижу как в пустыне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 14:56:52 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Я извиняюсь, но теперь я не догоняю. В каком Аксе ты работаешь? Я привык к А97 и возможно, поэтому не понимаю, разве это работает? Dim rst As ADODB .Recordset ... Set rst = CurrentDb .OpenRecordset(qweSQL) ? Это ведь смесь АДО и ДАО и как Format может работать в АДО? Поясните Теперь, Код: plaintext Короче, или я запутался, или ты... Ирча, здравствуй! Не самоуничижайся! Важно, что в тебе есть интерес к происходящему, а опыт - вещь наживная... Что нибудь с моей просьбой продвинулось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 14:57:19 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
К Dmitry Могу сказать одно все равно нифига не хочет работать ADO и DAO я понимаю что вещи разные по-поводу Format [Дата] понимаю, что дата берется из таблицы Но что-то делать надо! ответов нет, вот и извращаюсь как могу. Может хоть что-нибудь поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:05:31 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryЧто нибудь с моей просьбой продвинулось? Пока не очень, то ли они очень скрытные, то ли у них компы отсутствуют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:06:10 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Ирча Rivkin DmitryЧто нибудь с моей просьбой продвинулось? Пока не очень, то ли они очень скрытные, то ли у них компы отсутствуют Может у тебя в Надыме в Газпроме есть знакомые, через них можно? В любом случае - спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:12:28 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikPК Dmitry Могу сказать одно все равно нифига не хочет работать ADO и DAO я понимаю что вещи разные по-поводу Format [Дата] понимаю, что дата берется из таблицы Но что-то делать надо! ответов нет, вот и извращаюсь как могу. Может хоть что-нибудь поможет Давай тогда сначала, опиши последние проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:13:11 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Можешь скинуть примерчик мне на мыло. Я завтра последний день работаю, делать нечего, покопаюсь, может чем помогу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:17:46 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
1.Раньше писал, что надо 5 параметров после наших изменений стал просить 4 2.После того, как начал ставить #" & Ругается Type mismatch Не пропадай пожалуйста туго без советов или если планируешь пропасть говори, я у народа помощи попрошу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:18:12 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Долго все это проистекает... Там сколько - 2 таблицы? Сделай базку с ними (на несколько записей), модуль с процедуркой, заархивируй, запости сюда, завтра утром (а у меня уже первый час ночи) посмотрю, если кто-нибудь не захочет разобраться раньше. А то уже третья страница пошла, и все никак... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:19:25 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Да я сам уже замаялся никогда на форуме так долго проблемы не решал, а тут уже второй день сижу. Сейчас подготовлю и все скину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:21:39 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
2 Dmitry Format-y без разницы ,что ADO ,что DAO. Это функция VBA .А вот Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:23:24 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
(c)VIG2 Dmitry Format-y без разницы ,что ADO ,что DAO. Это функция VBA .А вот Код: plaintext 1. 2. Я просто привык если ADODB, так SQL Server, а там Format не пашет... 2 AnTT Пока не убегаю, но работа у меня тоже... Совет - если закапался и не видишь выхода, отойди от компа минут на 10, попей чайку, подумай о девушке (если ты парень или о парне, если ты девушка) и потом возвращайся. Иди к тому месту, где еще как-то работало и от него продвигайся по-новой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:33:53 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Выкладываю кусок базы Посмотрите что не так? Задача состоит в том, чтобы по кнопке43 на форме выложить в Excel данные и построить такой же график как на форме. Застрял на OpenRecordset (Ну очень сильно ругается) Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:19:48 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Предлагаю! Собирать весь (!) запрос в стринг. А не использовать уже существующие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:33:27 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Можешь запаковать в zip? rar - не могу открыть. Вообще, ожет быть проблема уменя, у тебя поля и таблицы названы русскими словами, боюсь, у меня комп не возьмет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:39:23 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
ТемныйПредлагаю! Собирать весь (!) запрос в стринг. А не использовать уже существующие. Это лаконичное выражение той мысли, которую я провожу в этом топике, какжктся, пока безуспешно :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:50:24 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Другое дело, что собирать затрахаешься. Это уже такой изгол с SQL что мама не горюй. Держи zip. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:51:42 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Выкладываю в ZIP формате ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:52:58 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Опоздал, опоздал! И еще у тебя на 3 килобайта больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:54:13 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
ТемныйДругое дело, что собирать затрахаешься. Это уже такой изгол с SQL что мама не горюй. Держи zip. То что затрахаешься это точно. У меня запрос 001_Регионы в реальности из 5-7 столбцов состоит и в каждом условия По поводу того, что объем больше: Может объем и больше а вот таблицу основную пришлось в половину урезать не хочет RAR в формате ZIP хорошо сжимать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 16:59:02 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
У меня-то сжал Best compression ставить надо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 17:03:04 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
ЛЮДИ!!! НЕ ОСТАВЛЯЙТЕ БЕЗ ВНИМАНИЯ!!! ПОМОГИТЕ!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 17:41:29 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
АУ-У-У-У-У-У-У-У-У-У-У ! ! ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 18:47:30 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikPАУ-У-У-У-У-У-У-У-У-У-У ! ! ! Меня не было. Сейчас попробую качнуть твой файл. Ты сколько еще будешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:31:47 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
До 8,30 буду Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 19:53:14 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
А зачем она тебе нужна эта ф-ия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:40:39 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry NikPАУ-У-У-У-У-У-У-У-У-У-У ! ! ! Меня не было. Сейчас попробую качнуть твой файл. Ты сколько еще будешь? Я еще пока здесь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:41:04 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryА зачем она тебе нужна эта ф-ия? да я данные в Excel хочу экспортировать, и в нем график построить такой же как на форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:43:09 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Я уже собираюсь! В дверь охранники стучат и говорят: "А не заработался ли ты парень?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 20:55:43 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
NikPЯ уже собираюсь! В дверь охранники стучат и говорят: "А не заработался ли ты парень?" Мне - тоже стучат! Но и наворочано у тебя! Главное, что у меня плохо работает с русским, приходится все транслировать на английский. Завтра - не работаем. Сколько смогу, сделаю. Остальное в воскресенье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 21:16:40 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Взгляни, что я наисал, если что не поймешь, спрашивай на форуме или в воскресенье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 22:45:38 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Посмотрел. Дело в том, что он не может получить в используемом запросе 001_Регион ссылку на поле Список8 формы. А отдельно все нормально, в запросах все работает, подставляем qweSQL - в запрос все работает, а в OpenRecordset - нет. Мое предложение - динамически менять свойство SQL запроса 001_Регион, если не хочется строить нагромождение в одном запросе. Т.е. : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2004, 02:22:47 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
2 Rivkin Dmitry - это я NikP ответил, а то получилось, что отвечаю предыдущий пост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2004, 02:25:56 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Alexander GПосмотрел. Дело в том, что он не может получить в используемом запросе 001_Регион ссылку на поле Список8 формы. Ругается действительно туда! У меня в реальности в таблице 001_Регион 6 столбцов, а не 3 как в примере. В результате в примере ругается на 1 параметр, а в базе на 4. ВРОДЕ ПОДОШЛИ БЛИЗКО К ЗАВЕРШЕНИЮ !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2004, 09:39:19 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Вот никак не думал, что моя тема вызовет столь бурную дискуссию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2004, 10:33:36 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
AnTTВот никак не думал, что моя тема вызовет столь бурную дискуссию... Круто, да? Только ИМХО - тут уже 3 страницы другой селект править пытаются :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2004, 10:35:37 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
2 NikP: /topic/101851&pg=4#764513 Все. Это уже полноценное решение. Главная проблема - избавиться от запроса с параметром решена. Теперь только добавить еще 3 твоих столбца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2004, 12:26:09 |
|
||
|
Рекордсет на основе запроса
|
|||
|---|---|---|---|
|
#18+
Темный2 NikP: /topic/101851&pg=4#764513 Все. Это уже полноценное решение. Главная проблема - избавиться от запроса с параметром решена. Теперь только добавить еще 3 твоих столбца. дык я это уже понял. просто голова немного болела и с самого утра не стал садиться за конкретное внедрение. Сейчас все Ok. Сажусь и начинаю внедрять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2004, 12:47:35 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1673566]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
116ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 507ms |

| 0 / 0 |
