![]() |
|
Модераторы: Akina |
![]()
|
|
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Здраvствуйте.
Надеюсь Все кто хотел здорово погуляли на встречe участникоv форума. Возникла воt такая проблема. Как создать вычисляемое полe Select ... Таблица1.поле1 / (Таблица2.поле1 гдe Таблица1.поле2=Таблица2.поле 2) As FieldName.... Spasibo. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Так и создать:
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Прошу прошение, есть дополнение к теме.
Таблица1 Номер Т | Материал | Kолво | Юзер | Дата 1 а 3 Коля 22.02.07 2 б 4 Петя 23.02.07 2 в 2 Петя 23.02.07 3 а 10 Вася 24.02.07 .... Таблица2 Материал | Колво в 1й коробке а 1 б 2 ц 4 ..... Нужен запрос ~ : Select Count( Distinct Таблица1.[Номер Т]) as F1, count (Таблица1.[Номер Т] as F2, SUM (Kолво) as F3, SUM( IIF (Таблица1.Материал Exist (Таблица2.Материал), Таблица1.Kолво/Таблица2.[Колво в 1й коробке] Where Таблица1.Материал =Таблица2.Материал) , NULL) as [Kолво Коробок], Таблица1.Юзер,Таблица1.Дата Group by Таблица1.Юзер,Таблица1.Дата Pроблема v вычисляемом полe [Колво коробок] Спасибо. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Переделайте постинг. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| alexIrish |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Если бы я знал как написать етот запрос без ошибок, я бы наверное сделал бы ето сам. ;) Я знаю что Аксесс не поддерживает структуру Count(Distinct ...). И написал только что бы дать понять что запрос должен вернуть как подсчет кол-ва всех линий транзакций, так и колво самих транзакций.
Опять же понимаю что вот ето не правильно:
И спрашиваю как сделать что бы было правильно. Rgds, |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Во-первых, запрос НЕ ДАЕТ возможности это понять. Во-вторых, от словесного пояснения намного понятнее пока не стало. В третьих, написанный запрос состоит сплошь из ошибок (скажем, секция From просто отсутствует) Давай-ка все-таки просто сформулируй задачу. Потому что пока понятно одно - какие имеются исходные данные. А чтобы сразу сформулировать понятно - попробуй сперва ее рассказать какому-нить знакомому, понятия не имеющему, над чем ты работаешь, да так, чтобы он понял... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Хорошо мы пойдем другим путем.
таблица1 отображет движение материалов по складу компании( какой материал , сколько,кем и когда переместили) каждое передвижение/транзакция имеет свой уникальный номер (Номер Т), и может включать несколько линий( т.е разных материалов, т.е. можно взять несколько разных материалов из разных мест и переместить их вдругое место за одну транзакцию) таблица2 показывает упаковку материалов ( колво частей в одной коробке)нo содержит информацию не о всех возможных материалах что есть на складе. надо составить отчет, показывающий сколько всего Юзер/оператор сделал транзакций, сколько всего линий включают ети транзакции(сколько локейшинов посетил оператор), колво перемещенных частей , КОЛВО перемещенных КОРОБОК (если есть информация в таблице2, если материала нет в таблице 2, то ячейка пустая) за день/неделю/месяц. Jа рассказал задачу жене, котаря в IT только знает Интернет и Е-маил, она поняла. |
|||
|
||||
| bopoha |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Вопрос по поводу таблицы2. Почему на основании справочника об упаковке товара, делается вывод о наличии коробок?
Решение. Не вижу смысле создавать очень сложный но один зарпос. Это тяжело сопровождать. Запрос очень простой, нужно объединить таблицы:
А дальше этот запрос сделать источником данных отчета. При помощи отчета можно произвести нужные группировки по уровням, подсчеты количества и сумм в пределах группы. И самое главное - фильтр по дате очень просто наложить при открытии. Поле [Таблица2].Материал будет равно Null, если нет соответствующей записи в Таблице2. Второй вариант решение, программный расчет (с использованием запросов конечно) во временную таблицу (развернутую, как предыдущий запрос). Это необходимо тогда, когда данных очень много, а запрашиваются маленькие временные периоды. В этом случае отчет будет работать (группировать) быстрее. И совсем маленький бонус - отчет получается хранимым и к нему можно возратиться.
Я бы тоже понял, чтобы отвязались |
||||
|
|||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
А вывод о наличии не делается. Информация об упаковке берется что бы определить обьем транзакции. На основании колва самого матриала ето сделать сложно, т.к. можно переместить 1000 винтов по 1000 в коробке и 1000 LCD eкранов по 10 в коробке. А pо количеству коробок можно более четко проанализировать продуктивность работы операторов на складе (по мнению менеджера логистики). за совет обьединить таблицы в запросе спасибо. Вижу свет в конце тонеля. Pо крайней мере следующим запросом получу колво коробок. |
|||
|
||||
| Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Не очень правильная проектировка БД. Если за одну транзакцию можно перебросить несколько материалов, то придется создавать в таблице1 столько записей, сколько было пакетов для одной транзакции. Я бы создал зависимую таблицу
Где, TR_ID поле внешнего ключа, которое ссылается на Таблица1.Номер_Транзакции. Тогда будет возможность использовать уникальность поля Номер_транзакции в таблице1. И плюс уменьшился бы вес БД. Это сообщение отредактировал(а) Anark1 - 2.9.2007, 10:08 |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
А я базу и не проектировал.
За основ берется отчет из системы SAP, который просто выгружает на сетевой диск техтовый файл со всеми транзакциями за неделю. Моя задача все ето перелопатить так что бы менеджеры видели наглядно то чего они хотят видеть. Ну не нравится им сама SAP. A желания у них разные и меняются раз от раза. И создавать( читать проектировать) базы для етого считаю нет необходимости. Идем наиболее легким и быстрым путем. Все в Access, пoтом запросами выбираем то чего надо, считаем, если нужна история то заносим в итоговые таблицы. И красиво показываем, с диаграммами и прочей чепухой. У меня зарплата почасовая, могу позволить себе потренероваться За совет спасибо. |
|||
|
||||
| Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
В таком случае, вопрос исчерпан ?
|
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |