powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DLookup и 2-а критерия. Возможно?
43 сообщений из 43, показаны все 2 страниц
DLookup и 2-а критерия. Возможно?
    #36878998
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну собственно вопрос в теме! Я так понимаю что не получится, только через
Код: plaintext
Select ... Where...
Ну может энтузиасты подскажут?
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879002
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Что Вы называете двумя критериями? Что-то типа a=b and c=d? Если да, то это один критерий.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879004
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Саныч,

Код: plaintext
DLookup("[Наименование]", "Входящие", "[Cчет] = '" & rst!Счет & "'" and "[Дата открытия] = #" & rst!ДатОткр & "#")
Вот так вот реально работать будет? Щас пойду пробовать!
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879020
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
trexmerniiВот так вот реально работать будет?
Думаю, что нет. Надо дату правильно отформатировать.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879021
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
И кавычки вокруг and лишние.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879032
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в процедуре, то можно несколько иначе (для тех кто на дух не переносит длукапы)
Код: plaintext
1.
2.
3.
Dim n, s
s="Select Наименование From Входящие Where [Cчет] = '" & rst!Счет & "' And " _
    & " [Дата открытия]=" & Format(rst!ДатОткр, "\#mm\/dd\/yyyy\#")
n=CurrentProject.Connection.Execute(s)
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879033
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В последней строчке забыл филд
Код: plaintext
n=CurrentProject.Connection.Execute(s).Fields( 0 )
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879098
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за помощь, в итоге получилось следующие:
Код: plaintext
1.
DLookup("[Наименование]", "Входящие", "[Счет] = '" & rst!Счет & "' And [Дата открытия]<=" & Format$(rst!Дата, "\#mm\/dd\/yyyy\#") _
& " And ([Дата закрытия]>=" & Format$(rst!Дата, "\#mm\/dd\/yyyy\#") & " Or nz([Дата закрытия],0) = 0)")
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879102
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
trexmerniiСпасибо всем за помощь, в итоге получилось следующие:
Код: plaintext
DLookup ... " Or nz([Дата закрытия],0) = 0)")

...ну, а эта глупость зачем ? чтоб Акцесс погрелся ?
Код: plaintext
1.
Or [Дата закрытия] is null
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879108
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ё...ну, а эта глупость зачем ? чтоб Акцесс погрелся ?
Код: plaintext
1.
Or [Дата закрытия] is null

Полагаю, чтобы включить в выборку эти записи тоже.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879118
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
Владимир Санычё...ну, а эта глупость зачем ? чтоб Акцесс погрелся ?
Код: plaintext
1.
Or [Дата закрытия] is null

Полагаю, чтобы включить в выборку эти записи тоже.
Саныч ,

...в чём-чём, а в логике тебе не откажеш
nz - для этого - задлянафига ??
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879122
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ёnz - для этого - задлянафига ??
Чтобы включить и те, где null, и те, где 0.
Ну неужели непонятно?
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879130
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
Владимир Санычёnz - для этого - задлянафига ??
Чтобы включить и те, где null, и те, где 0.
Ну неужели непонятно?


>> и те, где 0
в поле с типом дата/время ??

Саныч ,
ты серьёзно думаеш, что ТС, у себя в программе оперирует датой 30.12.1899 ?
Код: plaintext
1.
2.
?CDate( 1 )
 31 . 12 . 1899  

зы
...неее, я конечно понимаю что для этого поля можно установить значение по-умолчанию 0
но я плохо представляю, что нужно курить, что бы так сделать ?
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879136
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ёты серьёзно думаеш, что ТС, у себя в программе оперирует датой 30.12.1899 ?
Вполне могу представить себе ситуацию, что программа заносит 0 (ноль, он же нуль) в поле типа дата.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879148
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
Владимир Санычёты серьёзно думаеш, что ТС, у себя в программе оперирует датой 30.12.1899 ?
Вполне могу представить себе ситуацию, что программа заносит 0 (ноль, он же нуль) в поле типа дата.

>> могу представить себе ситуацию
поделись,
я себе, такую ситуацию, представить - не могу
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879161
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А в чем проблема? Была программа, которая заносила 0 во все поля. Потом исправили для текстовых. А для дат не исправили.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879224
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
ё
>> могу представить себе ситуацию
поделись,
я себе, такую ситуацию, представить - не могу
Владимир СанычА в чем проблема? Была программа, которая заносила 0 во все поля. Потом исправили для текстовых. А для дат не исправили.

Саныч ,

извини,
просто навеяло

Товарищ прапорщик, а сможете провести урок астрономии в школе юных астронавтов?
- Смогу.
- И вопросов учеников не боитесь? Они ребята умные и въедливые.
- Нет.
После урока.
- Ну что, вопросы были?
- Только один. Какой-то умник спросил: "С каких это пор Солнце вокруг Земли ходит?"
- И что вы ответили?
- Я ответил уклончиво: "Да пошел ты на х#й!"
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879243
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не знаю, мне такое развитие событий (с занесением нуля) кажется вполне естественным. Причем настолько, что я даже не хочу называть его багом.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879261
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
Владимир СанычНе знаю, мне такое развитие событий (с занесением нуля) кажется вполне естественным. Причем настолько, что я даже не хочу называть его багом.
с числовым полем - ДА
с полем дата/время - НЕТ

зы
спецом пересмотрел рабочую БД в плане датных полей
если нот нулл - то стоит значение по умолчанию Дате()
если НЕ нот нулл - то вообще непонимаю про какой 0 речь - что это ???

...а если завтра микрософт "расширит границы времени" в Аксе, как это уже случилось в МС СКЛ Сервер - что этот 0 будет обозначать ??
ну там они для этого ввели доп.типы данных...
...а вдруг на Акс - их не хватит... ?

(утрирую, конечно, но всё же...)
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879279
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за дельное замечание - поменял
Код: plaintext
Or [Дата закрытия] is null
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879374
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ёс числовым полем - ДА
с полем дата/время - НЕТ
Ишо раз (и последний). Я не говорю, что так надо писать программы или что я сам так написал бы. Но я верю, что кто-то так может. А может и сам могу, если не сосредоточусь.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879381
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
Владимир Санычёс числовым полем - ДА
с полем дата/время - НЕТ
Ишо раз (и последний). Я не говорю, что так надо писать программы или что я сам так написал бы. Но я верю, что кто-то так может. А может и сам могу, если не сосредоточусь.
тьху, плин!

а я говорю (тоже в последний)
что "писателю" который ставит значение по-умолчанию (или откуда там этот 0 появляется, - неважно ),
нужно "поставить на вид", возможно "с занесением",
что он делает х-ню!
и предупредить - что он сам себе роет...
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879554
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё,

у меня в поле с датой именно такая дата и стоит в записях до 01.09.2010 (примерно данные на период около месяца). Сам лично ставил, между прочим. А причина очень даже банальная, сливал часть данных из старой программы в новую, в старой такого поля не было (там было три даты, а сейчас четыре), поле в новой обязательно к заполнению (заполняется автоматом, ручного доступа нет). Поэтому пустое поле с датой меня как-то не прельстило (впрочем, как и большинство
пустых полей), да и не вышло бы оно у меня, а так очень даже ничего, всегда можно
фильтрануть. Ну как?
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879565
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Поле с пустой датой не прельстило" - пустой значение NULL как раз и говорит о том что значенния нет. Никакого. Ни нулевого, ни по умолчанию. Этим можно и нужно пользоваться.
"А так всегда можно фильтрануть" - фильтровать по условию, что поле пусто, ничуть не сложнее, условие становится более наглядным. Лишние навороты с Nz при этом только "загрязняют" картинку.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879583
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-Любитель,

Обязательное поле - я же написал, какие Null? Сделать не обязательным? Не вариант, они тогда смогут в другой БД дату договора не проставлять, те двести записей с 1899 годом нормально лежат, со временем там будут реальные даты стоять.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879607
qwrqwr_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Санычёты серьёзно думаеш, что ТС, у себя в программе оперирует датой 30.12.1899 ?
Вполне могу представить себе ситуацию, что программа заносит 0 (ноль, он же нуль) в поле типа дата.ВС +1
Например, если в поле datetime надо хранить только время . И это время может быть 00:00.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879801
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
alvkОбязательное поле - я же написал, какие Null?
...
...это - красссиво ! )))
поле - обязательное для заполнения, но заполнять можно всякой хнёй типа неимеющей никакого смысла датой 30.12.1899
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #36879824
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё,

Вообще-то я уже всё рассказал, что не понятно? Был перенос данных из одной базы в другую, в новой существует дополнительное поле с датой, пустым оставить его нельзя, это всё-равно временно, количество строк около 200. И записывать туда всякую хню невозможно вообще-то, оно автоматом заполняется из другой базы, не надо передёргивать.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
DLookup и 2-а критерия. Возможно?
    #39752613
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Необходимо применить 3 условия в критерии функции dlookup:
Код: vbnet
1.
min_stroka_bloka = DLookup("№строки", "Онлайн", "[Заказ_№] = '" & zakaz & "' AND [№_Прибора] = " & №_tek_pribor AND [№_Блока] = " & №_tek_blok)


но вот этот код вызывает ошибку Expexted: list separator or )
Подскажите, пожалуйста, как исправить?
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752616
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
& №_tek_pribor !!!!!!!!!!! AND [№_Блока]


Там где воскл знаки чего-то не хватает
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752617
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rikozenit, по сути ты формируешь строку запроса, точнее секцию WHERE. Как правильно её сформировать смотри фак - http://www.sql.ru/faq/faq_topic.aspx?fid=157
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752629
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, не могу найти как правильно составить эту строку(
Код: sql
1.
2.
3.
min_stroka_bloka.Value = СurrentProject.Connection.Execute("SELECT Min(Онлайн.[№строки]) AS [Min-№строки] " _
& " FROM Онлайн GROUP BY Онлайн.[Заказ_№], Онлайн.[№_Прибора], Онлайн.[№_Блока] " _
& " HAVING (((Онлайн.[Заказ_№]) Like " * 1355 - 3 * ") AND ((Онлайн.[№_Прибора])=1) AND ((Онлайн.[№_Блока])=1))").Fields(0)
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752642
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rikozenit, мне кажется почему-то, что ты не сильно и старался. Статья, к которой я отослал тебя не сильно то и большая, можно было прочитать тщательно.

Rikozenitне могу найти как правильно составить эту строку(К тому же это уже не строка.
И где всё это написано? Что будет если не найдётся минимальное значение?

Для VBA
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
    With СurrentProject.Connection.Execute("SELECT Min([Онлайн].[№строки]) AS [Min-№строки] " _
        & " FROM Онлайн GROUP BY Онлайн.[Заказ_№], [Онлайн].[№_Прибора], [Онлайн].[№_Блока] " _
        & " WHERE [Онлайн].[Заказ_№] Like '%1355 - 3%' AND [Онлайн].[№_Прибора]=1 AND [Онлайн].[№_Блока]=1")
            If Not .EOF then
                Me.min_stroka_bloka=.Fields(0)
            Else
                Me.min_stroka_bloka=Null'?
            End if
        .Close
    End With
...
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752684
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, спасибо!
With C urrentProject.Connection.Execute - только в твоём коде тут буква C русская закралась почему-то( (на всяк случ)
в статье я не нашёл вот эту конструкцию:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
    With СurrentProject.Connection.Execute(SQL)
            If Not .EOF then
                x=.Fields(0)
            Else
                x=Null '?
            End if
        .Close
    End With



Использую это в модуле формы, чтобы набивать спецификацию заказа. Искомое минимальное значение ограничивает потом работу цикла.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752750
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

У Вас что то запросом, Where после Group, и эта хитрая конструкция не нужна так как агрегатная функция над пустой таблицой вернет null, то же самое что Вы потом программно делаете

Из собственного опыта для отладки советую добавлять символы перевода строки при делении на строки. И предварительно запрос сохранять в строке, что бы можно было посмотреть что собралось в окне Immediate

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
sSQL = "SELECT Min([Онлайн].[№строки]) AS [Min-№строки] " & vbCrLf _ 
     & "FROM Онлайн" & vbCrlf _
     & "WHERE [Онлайн].[Заказ_№] Like '%" & zakaz & "%' "  & vbCrLf _ 
              "AND [Онлайн].[№_Прибора]= " & me![№_tek_pribor] & vbCrLf _ 
              "AND [Онлайн].[№_Блока]=" &  me![№_tek_blok]

debug.print (sSQL) 'Вывести запрос в окно отладки

With СurrentProject.Connection.Execute(sSQL) 'Если здесь будет ошибка то лезем в окно отладки 
  Me.min_stroka_bloka=.Fields(0)
  .Close
End With



Если произошла ошибка то копируем запрос из окна отладки и вставляем в запрос в режиме sql, пробуем запустить. В этом случае проще локализовать ошибку.
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752794
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111У Вас что то запросом, Where после Groupнедоглядел. я просто скопировал и не выкинул лишнее
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752796
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111
Код: vbnet
1.
Me.min_stroka_bloka=.Fields(0)

тут тоже будет ошибка если запрос не вернёт строк
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752799
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rikozenitв статье я не нашёл вот эту конструкцию:это надо смотреть там же другую статью - http://www.sql.ru/faq/faq_topic.aspx?fid=410
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752802
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RikozenitWith C urrentProject.Connection.Execute - только в твоём коде тут буква C русская закралась почему-то( (на всяк случ)Эт не у мну закралась, эт у тюбю 21772697 .
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39752913
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

но кокретно данный запрос всегда вернет одну строку
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39753012
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111Панург,

но кокретно данный запрос всегда вернет одну строкуС чего бы? Если ни одна запись не соответствует условию, то и записей не будет
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39753084
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

это свойство агрегатных функций, если нет строк то взвращается null
...
Рейтинг: 0 / 0
DLookup и 2-а критерия. Возможно?
    #39753191
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111Панург,

это свойство агрегатных функций, если нет строк то взвращается nullСогласен - был неправ.
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DLookup и 2-а критерия. Возможно?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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