powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сложный запрос в базу акцес
10 сообщений из 10, страница 1 из 1
Сложный запрос в базу акцес
    #32325363
AL12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем !
Нужен совет неопытному бедолаге.
Из vb-6
Пишу запрос :
querr = "SELECT *, (([Tariff]*([SpeakTime]/60)+0.01)*1.18) AS [summa] FROM [Query1] WHERE [Code] = " & qwqw & " AND [Date] BETWEEN #" & DTPicker1.Value & "# AND #" & DTPicker2.Value & "#"
Tariff -- необходимо выбирать из другой таблицы этой же базы,
но с условим если Time1 то Tariff1, Time2 то Tariff2, Time3 то Tariff3 .
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32325432
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а кто тебе запрещает использовать вложенный запрос? Т.е. вместо своего [Tariff] вставляешь (SELECT МояТаблицаТарифов.Tariff FROM МояТаблицаТарифов WHERE МоиУсловияОтбораТарифов)
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32325466
AL12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация такая в Таблице Query1 есть Time , которое при условии1 06:00:00 до 20:00:00 из таблицы Тариф забрать ТарифА, при условии2 20:00:00 до 06:00:00 из таблицы Тариф забрать ТарифБ.
Твой вариант я не понял .
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32325488
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В условиях отбора тарифа можно также использовать функцию iif. Т.е. я так понял, в таблице тарифов есть два вида тарифов
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32325602
AL12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т. е.?
В SELECT вставлять "IF THEN и т.д. "?
???
Если это так, покажи пожалуста как это сделать.
Четно у меня опыта "0".
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32326298
AL12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ ну подскажите ктонибудь!
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32326301
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что подсказать то? Синтаксис ф-ии IIF() ?
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32326318
AL12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как этот иф и тен впихнуть в запрос вместо тариф и чтобы не выскакивали ошибки???
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32326330
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не ИФ , а ИИФ

IIF(логическое_выражение, значение_возвращаемое_при_истине, значение_возвращаемое_при_лжи)

т.е. если логическое_выражение вернет True, то ф-ия IIF(), возвратит значение_возвращаемое_при_истине, иначе - значение_возвращаемое_при_лжи
...
Рейтинг: 0 / 0
Сложный запрос в базу акцес
    #32326337
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А исчо можно Switch в справке поискать
Да и заодно Choose тоже вданным случае катит


>как этот иф и тен впихнуть в запрос вместо тариф и чтобы не выскакивали ошибки???

Так что надо? Чтобы работало или чтобы ошибки не выскакивали? Если второе, то проще

===

Select IIF(Time1=1;Tarif1;Тариф2), ....
select Switch(Time1=1;tarif2;Time1=2;tarif2), ...
select Choose (Time1;tarif1;tarif2;tarif3),...

===
Но лучше, если была бы отдельная таблица с привязкой тарифов к времени - тогда простым запросом без всяких извратов (а IIF - IMHO - в данном случае изврат, от плохой структуры)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сложный запрос в базу акцес
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]