powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подотчет без записей д.б. в виде пустографки.
15 сообщений из 15, страница 1 из 1
Подотчет без записей д.б. в виде пустографки.
    #32553855
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Не могу придумать простого способа решения проблемы: есть подчиненный отчет, при отсутствии в нем записей, на его основе должна рисоваться сетка на, допустим, 5 пустых строк.
Есть способ сделать это запросом или галками в акцессе, не подменяя на ходу его источник данных?
Понятно объяснил, чи ни?

Как же спать хоцца...
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32553861
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select 1 as one
union all
select 1 as one
union all
select 1 as one
union all
select 1 as one
union all
select 1 as one
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32553867
caper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
положить ДВА подчиненных отчета, один - пустографка и управлять их видимостью...
сработает?
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32553874
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выдавать отчёт не из таблиц, а из запроса (как вариант - запрос из запроса), в нём смотреть - если записей маловато, то пихать нужное количество пустых строчек.
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32553886
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК
Нет, надо, если
select * from mytable where условие связи с главным отчетом
дает 0 записей, то
select 1 union select 1 ...
иначе из mytable
Причем в конце данных, если они есть, пустые строки не нужны.

2 caper
Программно подменить источник данных не сложнее, + кол-во контролов на отчете меньше + не запутаешься через год, увидев два одинаковых подотчета

2 маяк

Бат хау непрограммно?
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32553928
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот идейка

1 создаем пустую группу FG даем имя fg

в ней рисуем пустографку
в нее помещаем скрытый контрол recount
=count(*)


на форматирование секции:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub fg_Format(Cancel As Integer, FormatCount As Integer)
On Error Resume Next  ' А ошибка будет при отсутствии данных
 
If Me.recount =  0  Then
 fg.Visible = True
Else
 fg.Visible = False
End If
End Sub
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554002
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2002 я где-то делал похожую штуку, а в 97 ни recordcount, ни recordsetclone нету. Ну это и не важно.

2 АлексейК
Имхо, тогда уж проще все-таки примерно так
private sub областьданных_format
if dcount(me.mysubrep.report.recordsource & " where ключ1=ключ2")=0 then
me.mysubrep.report.recordsource="пустаятаблица"
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554208
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, пытался найти красивый пример - завалы мой некому отдать "разборку"
И, чудится, что прямую ссылку на правильное место давал, почему-то в голове, что Санычу - и ссылки не нашел.
Ладно - пусть будет некрасивый, но попробуй нижеуказанное - кажется - специально для тебя

1) заводишь пустой отчет без источников и всякой бяки
2) в области данных втавляешь текстовое поле с именем txt1
3) в модуле отчета напиши так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Option Compare Database
Option Explicit

Dim arr()
Dim arPos As Long

Private Sub Report_Open(Cancel As Integer)
  arr = Array("Раз", "Два", "Три")
End Sub

Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
    Me.txt1 = arr(arpos)
    arPos = arPos +  1 
  
  
  If arPos <= UBound(arr) Then
    Me.NextRecord = False
  End If
End Sub

сетку, думаю, сам добавишь...
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554281
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Victosha
Это хорошо, и в субрепорте отработается, очевидно. А существующие записи как заполнять? Тоже в цикле по рекордсету? :(

ЗЫ. Подменить "на лету" recordsouce, установить filter или filteron не получилось ни изнутри подотчета, ни снаружи. Сделал так, как предложил АлексейК. На главном отчете - поле с источником "=iserror(subreport.report.anyfield)", в details_onformat главного отчета делаю одному из подчиненных visible=true, а другому - false.
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554376
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geo, Если у формы ЕСТЬ рекордсоурс, то ЕСТЬ И СОБЫТИЕ NoData

добавь в переменные уровня модуля

Dim IHaveNoRecords As Boolean

В NoData скажи

IHaveNoRecords = True

в формате скажи

If IHaveNoRecords Then
Me.txt1 = arr(arpos)
arpos = arpos + 1

If arpos <= UBound(arr) Then
Me.NextRecord = False
End If
End If
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554380
Гео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Виктоша
Если нодата, то формат не запускается у субрепорта
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554410
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo
в твоем примере в зависимости от источника данных отчета и фильтра нужно будет изменять код а в моем нет ))
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554435
Гео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2АлексейК
Я же говорю, пришлось почти по-твоему сделать. Только про группу я не понял, поэтому сделал в перемешку со способом Caper. У меня на одной странице отчета три таких подотчета. (Форма Т2 кадрового учета - сведения о переаттестациях, переквалификациях и чем-то еще). Работает и ладно. Пока-что мне не до фитюлек, к сожалению.
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554452
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Гео - извини.
...
Рейтинг: 0 / 0
Подотчет без записей д.б. в виде пустографки.
    #32554461
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем. :)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подотчет без записей д.б. в виде пустографки.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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