powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Формат выходных данных
36 сообщений из 36, показаны все 2 страниц
Формат выходных данных
    #32238851
Может не слишком точно сформулировал subj, но:

Есть таблица, например categories, в ней есть поля id, name
можно ли сформировать с помощью access такое представление, чтобы в первой колонке были id, но перед ними стоял знак "№" (таблица потом переводится в Excel)?

Или например, есть две даты, можно ли сформировать поле (текстовое) в котором будет дата1-дата2 ? Как я понимаю все это можно сделать с помощью отчетов, но мне потом надо перевести таблицу в Excel. Использую Access 2002.
...
Рейтинг: 0 / 0
Формат выходных данных
    #32238854
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT '№' & [ID] as 1, Fld1 - Fld2 as b
FROM Tbl;
...
Рейтинг: 0 / 0
Формат выходных данных
    #32238863
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, каким образом Вы переводите таблицу в EXCEL???
...
Рейтинг: 0 / 0
Формат выходных данных
    #32238934
Спасибо большое, с номером все получается, а вот с датами - не очень :)
Я хочу сделать не разницу дат, а дата1 - дата2 (тире) )

Перевожу в Excel с помощью Access'овского "Импорта"
Кстати, может есть более правильные или интересные способы ?
...
Рейтинг: 0 / 0
Формат выходных данных
    #32238939
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT \'№\' & [ID] as 1, Fld1 & \'-\' & Fld2 as b \r
FROM Tbl;\r
\r
C Excel тебе сюда
...
Рейтинг: 0 / 0
Формат выходных данных
    #32238946
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше сюда
...
Рейтинг: 0 / 0
Формат выходных данных
    #32238949
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Senin Viktor
Это вопрос спорный :)
С одной стороны нельзя не подчеркнуть информативность источника, а сдругой...
Я перед тем как завести вышеуказанный топик читал именно эту статью. Там чересчур наворочено
...
Рейтинг: 0 / 0
Формат выходных данных
    #32239108
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Vsevolod V
Согласен, наворочано там много

еще вариант:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
Dim App As Object
Dim Wkb As Object
Dim Sht As Object
Dim rst As Recordset
Dim intCountObj As Integer
Dim strFileName As String

strFileName =  "C:\Форма11.xls"  'имя сохраняемого файла Excel
'получение recordset с данными и количества строк
Set rst = CurrentDb.OpenRecordset( "ЗапросДляОтчета" )
 If rst.RecordCount >  0  Then
     rst.MoveLast
     intCountObj = rst.RecordCount
 Else
     MsgBox  "Отчет пуст!" 
     Exit Sub
 End If


Set App = CreateObject( "Excel.Application" )
Set Wkb = App.Workbooks.Open( "C:\Shablon\Форма11.xlt" )
Set Sht = Wkb.Sheets( 1 )

'заполняем (А18, к примеру, первая строка для данных)
Sht.Range("A18").CopyFromRecordset rst

'а если нужно с группами и прочими красивостями, тут нужны
'скорее циклы по рекордсету, а не CopyFromRecordset

' -----------форматируем лист------------------------
 

With Sht.Range( "A18:H"  & Trim(Str(intCountObj +  17 )))
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
'опущено для остальных сторон ячеек
'.............
.Font.Size =  9 
.VerticalAlignment = xlCenter
.WrapText = True
End With

Sht.Range( "A"  & Trim(Str(intCountObj +  20 ))) =  "Начальник" 
Sht.Range( "H"  & Trim(Str(intCountObj +  20 ))) =  "Пупкин" 

'Сохраняем и закрываем, если уже есть - грохнем
If Not Dir(strFileName) = "" Then
    Kill (strFileName)
End If

Wkb.SaveAs (strFileName)
Wkb.Close
App.Application.Quit

'далее изничтожение объектных переменных и т.п.



Пойду я спать...
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243532
Всем спасибо, но есть еще один вопрос

Делаю, как написал Alexander G, все получилось - причем использовал не CopyFromRecordset, а проход по циклу. Переношу программу на другой компьютер, с этой же базой - не запускается, причем программа выполняется до
Код: plaintext
1.
Set App = CreateObject( "Excel.Application" )

а дальше спокойно пересает выполняться (без всяких предупреждений и ошибок)
кто-нибудь может подсказать - в чем дело ?
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243546
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Тимур Каримбаев

1) Я настоятельно рекомендую использовать CopyFromRecordset - это в сто раз быстрее, чем проход по циклу.
2) Проверь ссылки Microsoft Excel Object library и Microsoft Office Object library
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243548
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, каких-нибудь ссылок не хватает?
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243551
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Апаздаааал...
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243553
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2RVI
да уж косячок'с
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243624
Всем спасибо, скорее всего дело действительно в MS Excel object library, позже пойду туда проверять.

2 Vsevolod V
> 1) Я настоятельно рекомендую использовать CopyFromRecordset - это в сто раз быстрее, чем проход по циклу

В задаче используется группировка в блоки по одному из полей, поэтому CopyFromRecordset мне не представляется возможным
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243632
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие блоки, какие группировки??!!! Какая разница?!
Делай CopyFromRecordset ("Запрос")

типа могу написать подробнее...
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243661
Я не особо представляю как можно сделать такую вещь
Например таблицы товары, категории
товар - относится к одной из категорий, в запросе сортировка по категориям

в excel надо получить
первый столбец - имя категории (если это первая позиция в категории) или пусто (если иначе). Это нужно для того, чтобы легче было видеть раскладку по категориям

Так вот, в цикле я использую:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    if (category == prev_category) then
      category_str = "" 
    else 
      category_str = category
    
   ' В excel забивается category_str

   prev_category = category

Можно ли такую таблиуц получить с помощью запроса ?
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243715
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) С помощью запроса можно получить практически любую таблицу...
2) Не ясно, какую таблицу ты хочешь получить: укажи остальные столбцы
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243739
к примеру таблицы
Код: plaintext
1.
2.
3.
4.
  Categories
     (id int primary key, name char ( 50 ))
  products
     (id int primary key, name char ( 50 ), category_id int)


например есть категории "категория-1" и "категория-2"
и есть 5 продукт, два в первой и три во второй


результат должен получиться такой (столбцы разделяются запятыми)

категория_1,продукт_1
,продукт_2
категория_2,продукт_3
,продукт_4
,продукт_5
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243759
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теб че надо???
Это:
категория_1,продукт_1,продукт_2
или это:
категория_1,продукт_1
категория_1,продукт_2


?????????!!!!!!!!
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243762
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что такое столбцы разделяются запятыми????????
Они разделяются границами столбца
Если тебе просто впереди товара запятая нужна, так и говори. На фиг жуть нагонять!!!
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243768
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всеволод , хорош шум устраивать
видно забыл про свой сегодняшний вопросец и самокритику?
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243776
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2TatianaT
ну мой топик это отдельный разговор... я одумался за несколько минут... да еще и самокритика... :)
А тут на протяжении нескольких часов мне до конца не понять что человеку нужно.

ЗЫ: вполне допускаю что дело во мне, но это не факт...
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243783
извиняюсь, я не это имел ввиду
понимаете, я не могу нарисовать таблицу в textarea, поэтому мне пришлось так объяснять :)

как вам нарисовать таблицу я не знаю :)
для наглядности - столбцы таблицы я размечу символами |
таблица такая:

Категория | Продукт

категория_1 | продукт_1
(пустота) | продукт_2
категория_2 | продукт_3
(пустота) | продукт_4
(пустота) | продукт_5


такую таблицу я хочу получить с помощью запроса
типа могу написать подробнее... )))
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243788
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
человек написал на прошлой неделе
"Нужна помощь
.......
С Access'ом только начал работать
....."

не будь слишком строгим(это не наезд)
а вообще ты молодец что очень стараешься вникнуть и помочь

Тимур, ты случайно не из Алматы?
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243789
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм...
Так бы сразу и сказал...
Я такой запрос сделать не могу...
Да с запятыми это прикол!
А чем тебе не подходит:
Категория | Продукт

категория_1 | продукт_1
категория_1 | продукт_2
категория_2 | продукт_3
категория_2 | продукт_4
категория_2 | продукт_5
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243793
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2TatianaT
Когда я злюсь, я использую мат, а во все остальное время я улыбаюсь (в меру)... :)
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243803
Ок, ну вроде разобрались
Я такой запрос тоже написать не могу, ПОЭТОМУ И ПОЛЬЗУЮСЬ циклом по Recordset, а не CopyFromRecordset

а вы товарищ, пытаетесь убедить меня, что, цитирую :
1) "С помощью запроса можно получить практически любую таблицу... "
2) Делай CopyFromRecordset ("Запрос") и все тут

и в том что вы не можете понять то, что я плохо формулирую (действительно, сформулировал не очень четко, просто думал, что задача стала ясна раньше)

таблица такая мне нужна потому-что "так надо" (тоже цитирую, но того, кто просил сделать)
а вообще - потому что удобнее смотреть раскладку товаров по категориям

а вообще, действительно спасибо, что пытаетесь помочь

2TatianaT: нет, я не из Алматы
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243813
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> я не могу нарисовать таблицу в textarea

Прошу прощения, что вмешиваюсь...

Код: plaintext
1.
2.
3.
4.
категория_1 | продукт_1 
            | продукт_2 
категория_2 | продукт_3 
            | продукт_4 
            | продукт_5 
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243815
Спасибо, теперь буду знать
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243816
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Тимур Каримбаев
1) Я вроде не грубил
2) В выражении "С помощью запроса можно получить практически любую таблицу... " слово "практически" стоит не случайно
3) Раскладка по категориям это:

категория_1 | продукт_1
категория_1 | продукт_2
категория_2 | продукт_3
категория_2 | продукт_4
категория_2 | продукт_5

4) Как можно думать, что задача мне уже ясна, если в большенстве моих вопросов есть "Не ясно" и "Не понял"
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243831
2 Vsevolod V

1) Я вроде тоже не грубил, во всяком случае не собирался. Если вам так показалось - извиняюсь, был не прав.

2) Просто создание этой таблицы не было моим вопросом изначально, это вы (как мне показалось) пытались меня убедить в том, что надо пользоваться CopyFromRecordset.

3) Я согласен с вашим определением раскладки по категориям, но я до этого писал:
"так удобнее смотреть раскладку товаров по категориям"

4) Я думал что конечная задача ясна и пытался объяснить конкретнее, но с запятыми действительно - моя ошибка ;)

В общем спасибо за внимание, простите если был неправ
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243834
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К вопросу об "удобнее смотреть"...

Если в таблице будет хотя бы 3000 записей, то експортироваться будет около 5 минут...
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243838
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя нет - вру...
не 5 мин., но, по крайней мере, не намного быстрее

и кстати:
2) Просто создание этой таблицы не было моим вопросом изначально, это вы (как мне показалось) пытались меня убедить в том, что надо пользоваться CopyFromRecordset.
я и до сих пор пытаюсь убедить
а с изначальным вопросом мы вроде разобрались
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243841
Я экспортирую с помощью прохода циклом, машина правда неплохая (P4-2400 у меня, и Ath-1700 у "заказчика"). В таблице много записей (больше 9000, но меньше 10000). При этом экспортируется где-то за минуту, причем полей там больше чем 2 (около 6).

В общем-то это время не настолько важно (excel-файл выступает в качестве отчета и генерируется где-то раз в неделю), гораздо важнее удобство пользователя. До этого (когда экспортировал с помощью "Экспорт" MSAccess, писал макрос для Access, который убирает повторяющиеся значения, но его ведь надо еще и вызывать ;) (а это еще и пользователю объяснить надо)
...
Рейтинг: 0 / 0
Формат выходных данных
    #32243845
"я и до сих пор пытаюсь убедить" - это я понял ;)

у меня есть задача - результат должен быть такой, какой требуется клиенту, время выполнения - вторая задача (моя личная) :)
но все-равно спасибо

кстати, в прошлом топике я допустил ошибку - писал макрос для Excel, а не Access
...
Рейтинг: 0 / 0
Формат выходных данных
    #32245378
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Имеем таблицу "Таблица1" из полей IdTable/fff1/fff2/fff3 и т.д. (Д.б. какое-нибудь ключевое поле)

2. Создаем "Запрос1":

SELECT Min(Таблица1.IdTable) AS Min_IdTable, Таблица1.fff1
FROM Таблица1
GROUP BY Таблица1.fff1;

3. Создаем "Запрос2":

SELECT IIf([IdTable]=[Min_idTable],[Таблица1].[fff1],"") AS FirstColumn, Таблица1.fff2, Таблица1.fff3
FROM Таблица1 LEFT JOIN Запрос1 ON Таблица1.fff1 = Запрос1.fff1
ORDER BY Таблица1.IdTable;

Что и требовалось доказать. :)
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Формат выходных данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]