|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
Доброго времени суток Дано: Есть таблица, допустим tblOut, в которой, помимо прочего, есть два поля, допустим "fldOut" (Исх.№) и "fldOutDate" (Дата исх.) Задача: Создать запрос, возвращающий несколько полей, название каждого из которых совпадает с номером года, в каждом из которых будут выведены все исх.№ за этот год. В первом приближении получил что-то вроде: SELECT IIf(Year([fldOutDate])=2008,Replace(fldOut,"200/","")) AS 2008, IIf(Year([fldOutDate])=2009,Replace(fldOut,"200/","")) AS 2009 FROM tblOut (Replace убирает ненужную для дальнейшей работы постоянную часть из исх.№) Результат работы запроса выглядит примерно так: 2008 2009 2 4 5 10 15 .........5 .........7 .........11 .........20 .........23 Вопрос - есть ли способ убрать из результата работы запроса пустые места? Чтобы было так: 2008 2009 2.......5 4.......7 5.......11 10......20 15......23 Заранее спасибо за советы ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 03:25 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
nekromant11, как-то задача криво стоит, обычно показывают что идет на вход (строки таблицы), что должно получиться на выходе (итоговые строки) и спрашивают как... а тут входа нет, есть процесс с неправильным результатом и возможно правильный выход ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 03:55 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
vmag, виноват. Ни разу не писал на форумах программистов. В качестве примера (на точки не обращайте внимания) Вход: Таблица tblOut содержит два поля, исх.№ и дату: fldOut ........ fldOutDate 200/1.........09.01.2008 200/5.........10.01.2008 200/10.......11.01.2008 200/2.........09.01.2009 200/4.........10.01.2009 200/20.......15.10.2009 Выход: На выходе запроса хочу получить: 2008 ..... 2009 1..........2 5..........4 10........20 sorry за кривую визуализацию ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 14:41 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
nekromant11Вход: nekromant11Выход: Почитайте здесь. https://www.sql.ru/forum/1308447/sformirovat-zapros . Может поможет . ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 17:09 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
DarkMan, спасибо за подсказку. Пока запрос с TRANSFORM выдает мне какую-то дичь, но он уже работает, а не ругается на ошибку синтаксиса) По результатам доложу ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 09:19 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
Спасибо за ожидание, задачу решил. Много времени потратил на фильтрацию входных данных. Во вложении БД "dbEx.mdb", запрос qryExample02, исходная таблица tblOutEx, из которой убрано всё лишнее. Собственно, это была промежуточная цель) Основная - создать запрос, который бы было можно использовать в качестве RowSource для диаграммы, на которой по Х - дни, по Y - номера исходящих. За каждый год отдельный график. Задача уже решалась более простым способом - прямым заполнением таблицы данных диаграммы на VBA (пара вложенных циклов, в которых заносились значения в obj.Application.datasheet.Cells()). Всё бы хорошо, но безумно долго (на график за один год на разных машинах уходило до нескольких десятков секунд(!!!) И это всего около 2000 значений в исходной таблице). Я почему-то решил, что через запрос будет быстрее, однако вышло не совсем так, на выполнение запроса тоже уходит значительное время (хотя субъективно выполняется быстрее). По сказанному два вопроса: 1. Есть ли способ ускорить построение диаграммы 2. Правильно ли сформирован запрос для использования его в качестве RowSource? И как можно настроить вид диаграммы, желательно на VBA. Можно просто ссылку на пример, я разберусь... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 03:04 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
nekromant11, не пробовали пользовать штатное средство создания диаграмм должно быть установлено из "средста office": microsoft graph и "поддержка программирования .NET" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 10:50 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
nekromant11....Основная - создать запрос, который бы было можно использовать в качестве RowSource для диаграммы, на которой по Х - дни, по Y - номера исходящих. За каждый год отдельный график... Что-то не могу представить себе такой график:если имеются ввиду дни недели (которых 7 -то это куда не шло),но номера исходящих,которых за 2016 год 4 сотни??.... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 12:18 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
sdku , мастер создания диаграмм в наличии, пока не смог ему объяснить, что же я хочу. Строит совсем не то, что нужно. А насчет графика - это обычная почти прямая линия, наклон каждый год разный в зависимости от количества исх.№. Имеются ввиду не дни недели, а дни года, от 1 до 366, для чего пришлось специально создать табличку tblDay. Всего в году у подразделения от 2 до 4 тыс. исх., в график попадают не все, а лишь занесенные в таблицу tblOutEx. Польза от такого графика, разумеется, спорная, но я надеюсь здесь всех больше интересуют вопросы практической реализации... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 17:57 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
nekromant11 sdku , мастер создания диаграмм в наличии, пока не смог ему объяснить, что же я хочу. Строит совсем не то, что нужно. Строит то что "объяснили" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 18:12 |
|
Создание нескольких полей из одного
|
|||
---|---|---|---|
#18+
Только скопировав результат запроса в Excel, догадался, в чем ошибка. Запрос выдает текстовые значения, которые не очень подходят для построения графиков. Когда преобразовал значения ячеек в числа, график Excel построил мгновенно. Попробовал сделать так: Код: vbnet 1. 2. 3. 4. 5. 6.
Но теперь пустые места заполнены нулями, что не очень хорошо. Вопрос наверняка глупый, но кто-нибудь может подсказать, можно ли сделать так, чтобы вместо нулей опять появились пустые строки? Или в поле могут быть значения только одного типа? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 18:07 |
|
|
start [/forum/topic.php?fid=45&fpage=36&tid=1610859]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 125ms |
0 / 0 |