powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Формирование отчета с переменным числом полей
25 сообщений из 29, страница 1 из 2
Формирование отчета с переменным числом полей
    #32347221
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
Подскажите пожалуйста...
Проблема:
Sql-запрос, о котором спрашивала ранее, сформировала, он хранится в строке.
Теперь необходимо из 26 полей, хранящихся в таблице, выбрать любые 10. Это я тоже сделала.
И построить отчет, но проблема в том, что более половины хранящихся в таблице полей - поля со списками. И вообще все поля имеют разные типы.
Как бы покорректней это реализовать?
Имена полей, заголовки - выбрать не проблемно, но вот заполнить отчет записями...
_______________
Access 2000
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32347280
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galSql-запрос, о котором спрашивала ранее, сформировала, он хранится в строке.
Замечательно.
galТеперь необходимо из 26 полей, хранящихся в таблице, выбрать любые 10. Это я тоже сделала.
Великолепно.
gal...что более половины хранящихся в таблице полей - поля со списками.
Это как?
galИ вообще все поля имеют разные типы.
И что?
galКак бы покорректней это реализовать?
Что именно?
galИмена полей, заголовки - выбрать не проблемно, но вот заполнить отчет записями...
Вот этого я вообще понять не могу. Вы отчет ручками хотите заполнять???
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32347283
Roalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В зависимости от конкретного примера можно попробовать:
1. Менять источник строк в отчете.
2. Менять сам источник строк.
3. Сделать отдельную таблицу (или хранить в модуле отчета информацию) о том, какое поле как называть и как обрабатывать (и обрабатывать ли), т.е. своеобразный узконаправленный визард, запускающийся при загрузке отчета.
4. Наверное куча других вариантов. :)
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32347614
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
Получается, что ручками :(.
Ну не понимаю я как это сделать.
Полей может быть или одно, или 10, как менять ширину столбцов в зависимости от числа полей, как заполнять?
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32347678
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот можно скрыть столбец в событии, скажем, открытие отчета
Private Sub Report_Open(...)
me.controls("НадписьПоля").Visible = false
me.controls("СамоПоле").Visible = false
me.controls("Линия разграфки").Visible = false
...

Так можно подвинуть следующее поле на место спрятанного:
me.controls("СледПоле").Left = me.controls("СамоПоле").Left

F1 тебе в помощь..
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32347761
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
удобнее будет вопсользоваться выводом данных с переменным числом полей в Эксель
форматировать как угодно можно будет
смотри хэлп на CreateObject() и GetObject()
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32347768
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну дык. А из рекордсета в Ёксель - вообще благодать.
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32347776
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
Спасибо, я попробую!!
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32350673
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
Мдя...
С выводом в excel разобралась, спасибо!!
Но возник еще один вопросик.
У меня SQL запрос, на основе которого формируется recordset выбирает все поля из таблицы, а на экран нужно вывести несколько, причем известно только имя поля, которое вычисляется и хранится в ress
s1 = Forms!repon.sp2.ItemData(numF - 1)
While i < rst.Fields.Count
s = CStr(CurrentDb.TableDefs("mt_xx_id").Fields(i).Properties("Caption"))
If s = s1 Then
ress = CStr(CurrentDb.TableDefs("mt_xx_id").Fields(i).Properties("Name"))


как теперь его достать из recordset?
Чего-то я недопонимаю :((
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32350713
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gal писалаЧего-то я недопонимаю :((
однозначно что-то ты недопонимаешь. ща придут телепяты и протелепячат - что же именно ты недопонимаешь
Темный, это твой шанс! Ответить на еще не заданный вопрос!
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32350716
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай (если Темный в запое)

как теперь его достать из recordset?
Код: plaintext
rst.Fields(ress)
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32350738
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
Ну спасибо!!!
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32350754
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эээ?
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32350857
Фотография Serafim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поздно пришел, но есть еще одна идея - если Вы не до конца решили свою проблему - могу поделиться...
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32353439
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
Подскажите пожалуйста

Все по той же теме,
rst.Fields(ress)
как в зависимости от типа поля можно отформатировать столбец в excel - то есть присвоить ему какой-либо тип(если Data, то Data), при выводе отчета в excell же? То есть номер столбца хранится в переменной numF.
У меня не получилось Selection воспользоваться.

_______________
Access 2000
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32353460
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Select Case rst.Fields(ress).Type
    Case dbDate
        ' Форматируем эксельный столбец как дату '
    Case dbBigInt, dbByte, dbDecimal, dbFloat, dbInteger, dbLong, dbNumeric, dbSingle
        ' форматируем как число '
    Case Else
        '  форматируем как что-то еще '
End Select


А собственно форматирование экселя - через св-во NumberFormat объекта Range
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32353475
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
>> А собственно форматирование экселя - через св-во NumberFormat объекта Range
Вот именно это меня и интересовало.... КАК??
_______________
Access 2000
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32353481
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например так
Код: plaintext
1.
2.
Worksheets(номерлиста).Columns(номерстолбца).NumberFormat =  "dd/mm/yy"  ' Для даты '
Worksheets(номерлиста).Columns(номерстолбца).NumberFormat =  "0 . 00 " ' Число с двумя знаками после запятой '
Worksheets(номерлиста).Columns(номерстолбца).NumberFormat =  "General"  ' Общий '
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32354644
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
вчера не успела,

СПАСИБО!
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32363929
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
А еще подскажите пожалуйста

При выводе в Excel отчета мне необходимо шапку расчертить(то есть сделать рамку), как это сделать, если число полей равно NumF???

_____________
Access 2000
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32363948
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть в Excel клевая фича, называется записать макрос. Я Excel.Application объект знаю не так чтобы очень, потому что редко сталкиваюсь. Поэтому, когда мне надо чего-то сделать в Excel, я записываю макрос а потом смотрю на его код. И усе.
Это удочка вместо рыбы:-)
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32363951
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
Public Sub subLineAll(obj As Object)
On Error Resume Next
With obj
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeLeft).ColorIndex = xlAutomatic

.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeTop).ColorIndex = xlAutomatic

.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeBottom).ColorIndex = xlAutomatic

.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlEdgeRight).ColorIndex = xlAutomatic

.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideVertical).ColorIndex = xlAutomatic

.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).Weight = xlThin
.Font.Size =  8 
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.WrapText = True
End With
End Sub

Call subLineAll(Worksheets( "Sheet1" ).Range(Cells( 1 ,  1 ), Cells( 1 , NumF)))




Вот все, что я могу об этом рассказать (с)Форрест Гамп
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32372778
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
Да не в том дело, макрос записать можно, но как сделать это именно для переменного числа полей, там же вроде диапазон конкретно указывается
:((

_______________
Access 2000
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32372783
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ыыы???

Тебе же даже кусок кода привели
Copy - Paste пора бы уже и освоить
...
Рейтинг: 0 / 0
Формирование отчета с переменным числом полей
    #32373814
gal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gal
Гость
ааа, сорри, я помотрела начало, до конца не дошла.. :))
_______________
Access 2000
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Формирование отчета с переменным числом полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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