|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.08.2009, 18:20 | #1 |
Регистрация: 14.08.2009
Сообщений: 4
|
ACCESS 07. Запрос . Бъюсь с фильтрацией данных.
Привет. Я не студент, а водила дальнобойщик. Пытаюсь облегчить себе написание отчёта.
Имею таблицу со многия полями. В них "Номер рейса" , "Пробег" - км. , "Режим" - пусто или груз. В запросе с условием выбираю номер рейса и получаю пробеги с режимом пусто или груз примерно так - 10 пусто 15 пусто 55 груз 12 груз В отчёте на этом запросе эти столбцы выглядят так же. А желаемое - Пробег пуст груз 10 -- 15 -- -- 55 -- 12 не получается. Извращался по разному ( в мере знаний ). В таблице пуст. и гр. в одном столбце ("Режим"), может просто изменить структуру таблицы, разнеся по разным столбцам ? В литературе или мало примеров или невнятные комментарии. |
14.08.2009, 20:01 | #2 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
При такой структуре базы (рисунок в приложении - access.png)
можно такой запрос Код:
|
14.08.2009, 22:50 | #3 |
Регистрация: 14.08.2009
Сообщений: 4
|
Спасибо. Буду попробовать. Могу ли я обращаться к Вам ещё ? Видел Ваше объявление в другом разделе.
|
15.08.2009, 15:03 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я, конечно, приношу свои извинения, но, мне кажется,
более точным (для такого ответа, как в пост №1) будет такой код (модификация кода psycho-coder'а): Код:
|
15.08.2009, 21:58 | #5 | ||
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Цитата:
Цитата:
Я вот еще что надумал. Сделать два поля текстовыми, и при заполнении указывать в таком плане, если шли пустым то записываем Код:
Код:
Код:
Если не хотите так, пробуйте как подсказал Serge_Bliznykov. Наиболее оптимальный вариант. |
||
17.08.2009, 12:53 | #6 |
Регистрация: 14.08.2009
Сообщений: 4
|
Кодеру. Как я понял , Вы предлагаете изменить структуру таблицы. В моей таблице - [Telo rejsa] (Shot0), два поля : [Probeg] и [Rezim gruza]. В пробег пишутся километры, В режим груза - пустые они или с грузом. При этом запрос имеет вид
SELECT [Telo rejsa].[Nomer rejsa], [Telo rejsa].Data, [Telo rejsa].Punkt, [Telo rejsa].Strana, [Telo rejsa].Rezim, [Telo rejsa].Probeg, [Telo rejsa].[Rezim gruza] FROM [Telo rejsa] WHERE ((([Telo rejsa].[Nomer rejsa])=[Nomer ?])); Отчёт имеет вид ( Shot1) А хотелось бы разнести данные [Probeg] в два столбца - 'Пробег пустой' и 'Пробег с грузом' . Примерно так : (Shot2), нижний рисунок. Вариант SERGE_BLIZNIKOV , как мне кажется не совсем то ? |
17.08.2009, 15:39 | #7 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Внедренный вариант Serge_Bliznykov'а:
Код:
Результат: |
17.08.2009, 18:17 | #8 |
Регистрация: 14.08.2009
Сообщений: 4
|
Спасибо. Мне , как новичку , надо обьяснять чётко , ясно , и ДВА раза.
|
18.08.2009, 16:26 | #9 |
Пользователь
Регистрация: 26.09.2008
Сообщений: 38
|
Всем добрый день
Уже не студент, но помощь всё равно необходима. Юзаю Access 2007 и появился вопрос: Имеются 30 автоматов, по каждому из которых раз в месяц (обычно) снимается остаток и записывается в таблицу "Остатки ингридиентов".Остаток на конец текущего месяца для каког-либо автомата является остатком на начало следующего месяца для него же.Остатки могут сниматься в один день со всех автоматов сразу, а может быть и разброс в 2-3 дня.(в таблицу записыается номер автомата, дата снятия и численные значения 10 ингридиентов) Запрос: В полях формы задаётся временной промежуток (например с 01.09.2009 по 31.09.2009) По результатам запроса необходимо вывести следующие поля:Номер автомата,Дата снятия остатков (ближайшая к датам, введённым в форме) и численные значения остатков по 10 ингридиентам-то есть надо получить месячный отчёт по всем автоматам сразу. Вот запрос: SELECT TOP 1 [Остатки ингридиентов].[Номер автомата], [Остатки ингридиентов].Дата, [Остатки ингридиентов].Вода,... FROM [Остатки ингридиентов] ORDER BY Abs([Остатки ингридиентов].Дата-[Forms]![Запрос]![Поле1]); Проблема в том, что запрос выбирает ближайшую дату для всех автоматов сразу (поэтому по результатам запроса можно не досчитаться отчёта по некоторым автоматам),а надо чтобы он выбирал ближайшую дату для каждого автомата по отдельности и выводил отчёт по всем автоматам сразу в результирующую таблицу. Это у меня пока не получается. Буду очень рад помощи и советам с подсказками P.S. По одному автомату я отчёт получил-он работает нормально, Вот запрос: SELECT TOP 1 [Остатки ингридиентов].Дата, [Остатки ингридиентов].Вода,... FROM [Остатки ингридиентов] WHERE [Остатки ингридиентов].[Номер автомата]=[Forms]![Запрос]![Поле15] ORDER BY Abs([Остатки ингридиентов].Дата-[Forms]![Запрос]![Поле1]); |
18.08.2009, 20:50 | #10 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Может так?
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Access 97, открыть базу данных Access | alexhol | Microsoft Office Access | 0 | 27.04.2009 12:10 |
Запрос в Access | Ruska882009 | Microsoft Office Access | 2 | 04.03.2009 00:27 |
Запрос в Access | Ruska882009 | Помощь студентам | 1 | 25.02.2009 15:42 |
Запрос в Access | Ruska882009 | Помощь студентам | 2 | 25.02.2009 12:49 |
Запрос в Access | Ruska882009 | SQL, базы данных | 1 | 25.02.2009 12:41 |