2016-10-06 6 views
0

Я очень новичок в MS Access, Я работаю над автоматизацией отчета с использованием ms-доступа, где пользователь импортирует необработанные файлы excel, каждый файл используется для получения данных в определенную область. Моя проблема заключается в нескольких различных подразделениях (например, SG, BR, США, ЕС, PH), которые включают в Материалы. есть случаи, когда имеется несколько одинаковых номеров материалов, но разные отделы. Мне нужно получить материальную ценность, разделение которой принадлежит SG. то, что пользователи делают вручную для идентификации SG, заключается в объединении деления с Материалом, поскольку единственным поиском в основном запросе или выходном файле является номер материала, поле разделения не включено. напримерСортировать по Критерии в MS Access Design View/SQL

Material  Division  Value Concat 
89098  BR092   78  BR09289098 
89098  SG879   20  SG87989098 
90921  EU939   80  EU93090921 

Поскольку у меня возникают проблемы, чтобы получить количество строк до базового числа на выходе, что я делаю в режиме конструктора, чтобы установить общее значение Первого вместо Group By, так что в основном какое число на первом месте - это то, что получает запрос. Мне нужно иметь номер материала со значением SG, если они принадлежат к одному и тому же материалу, так как для других отделов у них нет проблем, они должны сохранять свои значения. Я пробовал использовать Раздел: Сначала ((IIf(Left([Concat],2)='SG','1',IIf(Left([Concat],2)='BR','2','3')))) затем установите его по возрастанию, но не получится. Материал по-прежнему получает значение разделения БР. Мне нужно, чтобы это было в коде кода дизайна или в коде sql. Это будет отличная помощь или более того, что вы будете экономить мою $$, если кто-то может дать мне ответ. Благодаря!

+0

Я думаю, вам нужно перефразировать это полностью, и указать образец ввода и желаемый результат. – Gustav

+0

Итак, из ваших выборочных данных вы хотите иметь такое же количество строк, но строка 1 должна иметь значение 20 вместо 78? Или вы хотите пропустить строку 1? – MoondogsMaDawg

ответ

0

SOLVED: из опубликованной проблемы я создал серию запросов. из исходной таблицы, которую я создал 1-й: материал с уникальным счетом (сделано с критериями 1). 2-й: материал с разделом SG и третьим: материал с подразделением SG,

с данным кодом под запрос Material БЕЗ SG

`SCOPE: IIf([Query_SC_and_Purchase_Price_Scope_SG].[SCOPE] Is Null,[Query_SC_and_Purchase_Price_Scope_NO_SG].[SCOPE],[Query_SC_and_Purchase_Price_Scope_SG].[SCOPE])` 

Это для материала с SG Код запроса

SCOP: IIf([Query_SC_and_Purchase_Price_Scope_SG].[SCOPE] Is Null,[Query_SC_and_Purchase_Price_Scope_NO_SG].[SCOPE],[Query_SC_and_Purchase_Price_Scope_SG].[SCOPE]) 

Собрав все эти проверки и ДАННЫЕ Я создал запрос UNION ALL

`SELECT Query_SC_and_Purchase_Price_Scope_Unique.* 
    FROM Query_SC_and_Purchase_Price_Scope_Unique 
    UNION ALL 
    SELECT Query_SC_and_Purchase_Price_Scope_SGNOSG_SG.* 
    FROM Query_SC_and_Purchase_Price_Scope_SGNOSG_SG 
    UNION ALL SELECT Query_SC_and_Purchase_Price_Scope_SGNOSG_NOSG.* 
    FROM Query_SC_and_Purchase_Price_Scope_SGNOSG_NOSG; 
    ` 

Я пришел с моими правильными значениями.

0

Не могли бы вы прояснить, что именно ваша проблема?

Почему вы используете «группировку» в любом случае?

Почему вы не просто включаете Отдел в свой выходной отчет?