Я пытаюсь вычислить анализ аудита FIFO управления запасами. Все это сделано в MS Access 2010.Использование Dlookup или RecordSet для возврата нескольких значений
Единица 1 добавлена в инвентарь Сегодня. Завтра добавляется блок 2.
На следующей неделе, когда устройство выбрано для потребления, в идеале мы используем Единицу 1, но если нет, я создаю запрос, чтобы идентифицировать это. До сих пор я работал, чтобы работать, используя функцию DLookup.
Однако мне нужно определить, на какие конкретные старшие блоки повлиял отказ от выполнения FIFO. Вот где DLookup Fails.
Unit # In Date Out Date
A 1/1/13 1/14/13
B 1/1/13 1/14/13
C 1/4/13 1/13/13
D 1/4/13 1/13/13
Вышеупомянутое может привести к тому, что мой запрос дважды вычитает блок C дважды, а блок D - в порядке. Тем не менее, каждая запись в запросе возвращает только блок A при использовании Dlookup. Это связано с тем, что Dlookup предназначен только для поиска первого значения, соответствующего критериям, а не для всех записей.
Например:
Inefficiently Used Unit Overlooked Unit
C A
C A
D A
D A
Это то, что эта функция DLookup выглядит следующим образом:
DLookup ("[Container]", "Контейнер эффективности", "[Carrier] = '" & [Перевозчик ] & "И [Тип контейнера] = '" & [Тип контейнера] &»И [В Дата] < #" & [В Дата] & "# и [Out Date]> #" & [Out Дата] & "#"))
Мне нужно спроектировать его так, чтобы критерии выдавали несколько значений.
Inefficiently Used Unit Overlooked Unit
C A
C B
Я занимался исследованиями, и это похоже на использование Recordsets, а VBA - путь. Я играю с этим сейчас (имея некоторые проблемы с тиражированием синтаксиса и рассматриваю использование FindFirst/FindNext с критериями, а затем цикл), но я получаю противоречивые мнения о том, возможно ли это или как писать код.