Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2012, 15:02   #1
Gul'ka
Пользователь
 
Аватар для Gul'ka
 
Регистрация: 11.02.2011
Сообщений: 69
Восклицание Отчет

Здраствуйте уважаемы программисты.
Мне нужна ваша помощь, дело в том, что у меня возникла проблемка с отчетом.
Мне нужно, принажатии на кнопку (происходит процедура, которая считает количество квартир в нужном доме.) После процедуры, должен выводится отчет, но данные должны выводится в строчку, т.е. если квартир с 1 по 100, то и должно идти все в строчку, после того как заканчивается строчка она должна перейти на другую и продолжать.
Например: квартиры с 1-10
1 | 2 |3|4|5|6|
7 | 8 |9|10|
Заранее, огромное спасибо за помощь.
Gul'ka вне форума Ответить с цитированием
Старый 12.09.2012, 20:37   #2
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

Цитата:
Сообщение от Gul'ka Посмотреть сообщение
данные должны выводится в строчку, т.е. если квартир с 1 по 100, то и должно идти все в строчку, после того как заканчивается строчка она должна перейти на другую и продолжать.
Например: квартиры с 1-10
1 | 2 |3|4|5|6|
7 | 8 |9|10|
С этого места непонятно. Файл базы (с тестовыми данными) можете выложить? И (или) нарисовать, как должно быть?
Андрэич вне форума Ответить с цитированием
Старый 12.09.2012, 20:58   #3
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

Непрерывный ряд квартир с 1-й:
For i=1 To CInt(Колич)
Debug.Print i & ","
Поле=Поле & i & ","
Next i
Debug.Print Поле.Value

Последний раз редактировалось Андрэич; 12.09.2012 в 21:11. Причина: i=i+1 лишнее
Андрэич вне форума Ответить с цитированием
Старый 13.09.2012, 01:16   #4
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

Используйте подчинённый отчёт: например, посмотрите

http://programmersforum.ru/showthread.php?t=210321
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 13.09.2012, 08:59   #5
Gul'ka
Пользователь
 
Аватар для Gul'ka
 
Регистрация: 11.02.2011
Сообщений: 69
По умолчанию

[QUOTE=Андрэич;1098495]С этого места непонятно. Файл базы (с тестовыми данными) можете выложить? И (или) нарисовать, как должно быть?[/QUOT]
Здраствуйте, смотрите, делается запрос, если в доме с всего 5 квартир, то в обычном отчете оно выводится:

1
2
3
4
5
А мне нужно
1 | 2 | 3 | 4 | 5 |
Вот так, а если места нет(например, квартир150) то он должен переходить на следующую строчку
И спасибо огромное за внимание)

Последний раз редактировалось Gul'ka; 13.09.2012 в 09:35.
Gul'ka вне форума Ответить с цитированием
Старый 13.09.2012, 09:01   #6
Gul'ka
Пользователь
 
Аватар для Gul'ka
 
Регистрация: 11.02.2011
Сообщений: 69
По умолчанию

Цитата:
Сообщение от Myhaylo Посмотреть сообщение
Используйте подчинённый отчёт: например, посмотрите

http://programmersforum.ru/showthread.php?t=210321
Здраствуйте, извините но я не могу сделать подчинненую форму, т.к. мне нужно что бы выводилось не через запятую, а с границей, вот.
смотрите, делается запрос, если в доме с всего 5 квартир, то в обычном отчете оно выводится:

1
2
3
4
5
А мне нужно
1 | 2 | 3 | 4 | 5 |
А если квартир больше, (допостим 150) то оно должно переходить на следующую строчку.

Последний раз редактировалось Gul'ka; 13.09.2012 в 11:11.
Gul'ka вне форума Ответить с цитированием
Старый 13.09.2012, 12:17   #7
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

Цитата:
Сообщение от Gul'ka Посмотреть сообщение
нужно что бы выводилось не через запятую, а с границей, вот.
смотрите, делается запрос, если в доме с всего 5 квартир, то в обычном отчете оно выводится:

1
2
3
4
5
А мне нужно
1 | 2 | 3 | 4 | 5 |
А если квартир больше, (допостим 150) то оно должно переходить на следующую строчку.
Понял очень примерно.
1. Выложите код процедуры и, если есть, макет отчета.
2. Самое лучшее - объясните, для чего это нужно. Возможно, найдётся более оптимальный вариант решения, чем тот, который видите вы
Андрэич вне форума Ответить с цитированием
Старый 13.09.2012, 12:25   #8
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

А ещё лучше - выложите файл с базой (в формате 2003). Чтобы делать не "наощупь" и в не "догадалки"
Андрэич вне форума Ответить с цитированием
Старый 13.09.2012, 12:33   #9
Gul'ka
Пользователь
 
Аватар для Gul'ka
 
Регистрация: 11.02.2011
Сообщений: 69
По умолчанию

Цитата:
Сообщение от Андрэич Посмотреть сообщение
Понял очень примерно.
1. Выложите код процедуры и, если есть, макет отчета.
2. Самое лучшее - объясните, для чего это нужно. Возможно, найдётся более оптимальный вариант решения, чем тот, который видите вы
Код процедуры:
SELECT Список_2.Кв, Список_2.Улица, Список_2.Дом INTO Q_list_print_2
FROM Список_2
GROUP BY Список_2.Кв, Список_2.Улица, Список_2.Дом
HAVING (((Список_2.Улица)=[Forms]![ГлавнаяФорма]![Улица]) AND ((Список_2.Дом)=[Forms]![ГлавнаяФорма]![Дом]))
ORDER BY Список_2.Кв;
Спасибо за внимание)
Изображения
Тип файла: jpg Безымянный.JPG (13.4 Кб, 101 просмотров)
Gul'ka вне форума Ответить с цитированием
Старый 13.09.2012, 15:59   #10
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Gul'ka.
Возможно Вам не обязательно помещать номера квартир в разные ячейки(?),
а сформировать строку с разделёнными номерами можно подобной функцией:
Код:
Function stringRoomNumbers$(v1$, v2$)
Const sQ1 = "SELECT distinct Кв FROM Список_2 WHERE Улица =", sQ2 = " AND  Дом =", sQ3 = " ORDER BY Кв"
'при использовании текстовых значений костанты должны выглядеть так
'Const sQ1 = "SELECT distinct Кв FROM Список_2 WHERE Улица ='", sQ2 = "' AND  Дом ='", sQ3 = "' ORDER BY Кв"
Dim cn As ADODB.Connection, rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
Set rs = cn.Execute(sQ1 + v1 + sQ2 + v2 + sQ3)
If Not rs.EOF Then stringRoomNumbers = rs.GetString(, , , " | ")
If rs.State = 1 Then rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Function
и применять её разместив в качестве источника данных поля выражение:
=stringRoomNumbers([Forms]![ГлавнаяФорма]![Улица] & ""; [Forms]![ГлавнаяФорма]![Дом] & "")

"..должно переходить на следующую строчку.." - задаётся многостросностью в формате поля:
Поведение по Enter = Перевод строки

Евгений.

Последний раз редактировалось Teslenko_EA; 13.09.2012 в 16:11.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отчет Игорь Обухов Общие вопросы Delphi 4 18.06.2012 17:47
Отчет delfin07 БД в Delphi 3 21.06.2011 09:30
Отчет ruavia3 Microsoft Office Access 2 25.08.2010 22:34
Отчет golf Помощь студентам 0 20.12.2009 16:05
Отчет SaMar Microsoft Office Access 3 24.09.2008 22:39