![]() |
|
Модераторы: Akina |
![]()
|
|
| Vic |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
И снова здравствуйте
От меня не так-то просто отделаться, так что напрягите мозги еще раз, пожалуйста. Может присоветуете что Как можно реализовать идею, брошенную Akin'ей
Я создаю поле где хранится дата последнего входа в БД. Как создать процедуру, или SQL запрос, который бы проверял, вчера ли был последний вход, и если нет, то выдавал бы данные за все последние дни. У меня следующий SQL запрос для вывода сегодняшних ДР:
Буду признательна за идеи или готовые решения |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Vic
Или я не понимаю вопроса? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Позволю себе дополнить немного мысль Akina
анологично и второй select. -------------------- Никогда не говори никогда |
|||
|
||||
| Vic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
Дополнила я запрос предложенным образом, на что мне было выдано следующее сообщение:
Может, будут предложения по упрощению выражения |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Vic
Поясняю - Аксесс хочет, чтобы вместо strSQL=" .... WHERE (((Month([ДатаРожденияАгента]))=Month(Now())) ....." DoCMD.RunSQL было strTmp=str(Month(Now())) strSQL=" .... WHERE (((Month([ДатаРожденияАгента]))=" & strTmp & " ....." DoCMD.RunSQL или хотя бы strSQL=" .... WHERE (((Month([ДатаРожденияАгента]))=" & str(Month(Now())) & " ....." DoCMD.RunSQL Это сообщение отредактировал(а) Akina - 10.11.2004, 14:06 -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Vic, покажи select.
-------------------- Никогда не говори никогда |
|||
|
||||
| Vic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
Select выглядит следующим образом:
Akina, сейчас попробую разобраться в том, что ты написал, а то до меня пока не очень доходит. Я все писала в запросе на SQL, VBA вообще не использовала, поэтому я пока не понимаю, как применть то, что ты написал. |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Vic, LastDatabaseAccessDate это переменная в проге содержащая дату последнего обращения к базе. Её надо подставить в SQL.
Т.е. конечный SQL должен выглядеть примерно так
Обрати внимание на формат даты и на решетки (#) -------------------- Никогда не говори никогда |
|||
|
||||
| Vic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
Это я поняла. Такое сообщение выдается, когда я уже ввела LastDatabaseAccessDate.
|
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Vic, тогда покажи кусок кода который формирует и отправляет запрос.
И так же приложи получившийся SQL statment. Всё должно работать, проверенно. -------------------- Никогда не говори никогда |
|||
|
||||
| Vic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
У меня в данном случае вообще нет кода. Я просто создала SQL-запрос в Access и, когда я пытаюсь его выполнить, у меня сначала спрашивается LastDatabaseAccessDate, а потом выдается такое сообщение.
|
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Vic, это так и будет работать или ты пишешь какие то формы и код?
Попробуй это так, как должно быть в конечном виде. -------------------- Никогда не говори никогда |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Boevik, честно говоря, я не поняла твой последний вопрос.
А что касается предложенноженного запроса, то у меня по нему тоже есть вопросы.
Как я понимаю, DateSerial возвращает некоторую дату. В данном случае эта такая дата, у которой год текущий, а месяц и число совпадают с днем и месяцем рождения агента. Кроме того, здесь еще устанавливается ограничение, что DateSerial BETWEEN #10/30/2004# AND Now(). Я не понимаю, где в этом запросе сопоставляется, что надо выбрать именно тех агентов, у которых число и месяц рождения = DateSerial. В моем понимании в предложенном запросе чего-то не зватает: Select - выводятся некоторые данные об агенте From - откуда выводятся эти данные Where - выводится некоторое число, которое само по себе зависит от ДатыРожденияАгента, но никак не влияет на то, что выводится SELECTом Не знаю, на сколько понятно то, что я написала, но в общем это все к тому, что у меня не работает этот запрос |
|||
|
||||
| Vic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
Упс, это я забыла зарегистрироваться
|
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Хорошо, Vic, попробую объяснить.
С Select и From всё понятно. Теперь про условие. Нам надо отобрать всех агентов у которых день рождения попадает в промежуток времени от последнего входа до сегедняшнего дня. Так появилось BETWEEN #10/30/2004# AND Now(), т.е зашли в базу в последний раз 30 октября. Теперь дальше, каждый агент он родился в какой то год и они отличаются друг от друга. Так давая устроим так, как будто они все родились в этом году, получилось DateSerial(Year(Now), Month(ДатаРожденияАгента), Day(ДатаРожденияАгента)) Вот в принципе и вся логика. -------------------- Никогда не говори никогда |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |