|
|
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Задача: Есть запрос на фирму и есть запрос на товары этой фирмы и второй на услуги этой фирмы. Требуется вывести всё о фирме (это легко, хотя ...) и требуется вывести все товары продаваемые этой фирмой, если есть таковые, и все услуги также если есть. Решение: Я в отчёте ставлю поля от Фирмы и добавляю два подотчёта товары и услуги связанные с основным отчётом ключом. Результат: Как располагать подотчёты я не знаю так как кол-во товаров и услуг переменное и получается что товары накладываются на услуги. Вопрос: Как мне расположить подотчёт услуги сразу за товарами. Если товаров нет то сразу после заголовка, если товаров 2 то на третьей строке и т.д. Пробовал Height да он возвращает высоту в ДизайнРежиме, а мне надо в предосмотре. Другие команды вообще не доступны. Вопрос два: В отчёте пробовал в Поле(Edit) в VB на OnFormat писать информацию edFirmName.Value = "Крокодил" - запускаю отчёт и ... ничего, в edit`е нет моей надписи ПОЧЕМУ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2004, 19:13 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Access XP, 2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2004, 19:15 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Свойства Расширение (CanGrow) и Сжатие (CanShrink) определяют вид разделов и элементов управления в форме или в отчете при просмотре или при печати. Например, при заданном для обоих свойств значении «Да» вертикальные размеры раздела или элемента управления автоматически изменяются таким образом, чтобы отобразить или напечатать все данные, содержащиеся в них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2004, 19:17 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Можно попробовать всю информацию о фирме, товарах и услугах объединить в один UNION запрос, например так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Ну это так... что первое в голову приходит - практикой не проверял. PS. Да! Всё это без подотчётов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2004, 00:02 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Да но ведь у товаров и услуг разное кол-во полей (пример: ОптЦенаТовара, РознЦенаТовара и только ЦенаУслуги) таким образом как объеденять если полей разное кол-во, потому я и создал разное кол-во отчётов. Теперь если объеденять фирму + товары и услуги и если есть товары но нет услуг то запрос ничего не возвращает, по этому я и сделал раздельно. Если знаете подход как этого избежать подскажите. На счёт изменения значений Edit.Value и Label.Caption я так и не понял почему на экране не отображается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2004, 12:05 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Для GEO - я это тоже читал, поигрался с этими свойствами и всё хорошо растягивается НО я размер узнать не могу и расположить второй подОтчёт сразу за первым так-же не выходит без информыции о высоте первого! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2004, 12:10 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
AndrikДа но ведь у товаров и услуг разное кол-во полей (пример: ОптЦенаТовара, РознЦенаТовара и только ЦенаУслуги) таким образом как объеденять если полей разное кол-во Уравнять количество полей можно, например, так: Код: plaintext 1. 2. 3. 4. 5. 6. Что касается второго вопроса, то если TextBox и Label располагаются в том же отделе отчета для которого написан код, то должно работать. Например, если контролы в верхнем колонтитуле отчёта то: Код: plaintext 1. 2. 3. если в данных (в Detail) отчёта то: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2004, 13:02 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Вообщем я всё-же объеденил запросы по товарам и услугам и сам формирую записи(если нет то следующая) спасибо lobodava - НО - при событии Format происходит следующее: Private Sub ВерхнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer) str = IIf([Название] = "", "", "Фирма: " & [Название]) edFirmName = str End Sub выдаёт ошибку "Приложению 'MS Access' не удаётся найти поле 'Название' указанное в выражении" это как понимать тогда как в RecordSource этого отчёта стоит запрос где есть "Название"? Пробовал str = Me.Recordset.Fields("Название") говорит "Данное свойство не реализованно для файлов MDB" а это что? И как я должен заполнять поля отчёта??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 14:44 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
А если вот так: Me! Название ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 14:46 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Пробовал на ВерхнийКолонтитул_Print свё тоже. Да есть ещё вопрос: а как печатать? Я хочу чтоб пользователь посмотрел как это выглядит а затем нажал кнопку печать - а как ведь у кнопки в отчёте нет никаких событий, а как мне отследить нажатие на ней, да и нажать её нельзя тогда зачем она? А отчёт я делаю модальным чтоб занял всю экранную область и меню соотв. не видно. Как выти из этого положения? Есть ещё вопрос: как нажать в контекстном меню кнопку настройка печати или печать? Чтоб эти отчёты провалились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 14:57 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Когда отчет открыт в режиме предпросмотра, то работают клавиши: P - послать на печать S - зайти в настройки печати И рекомендую все-таки попробовать то, что я написал в предыдущем посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 15:03 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Фигня вот в чём если все поля(Edit`ы) свободные то как Me.Название так и Me!Название выдаёт ошибку, а вот если в любом элементе отчёта (например:Edit) использует [Название] то и Me.Название работает нормально, почему? В форме не нужно так делать, если есть запрос то все поля этого запроса доступны, а в отчёте не так? И что делать? Невидимые элементы делать мне не очень нравиться да и много их будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 15:42 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
А это обращение к полю, не к контролу? В отчете это работать не будет, только в форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 15:49 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
В отчёте находится EDIT туда надо записать "ООО" и имя фирмы[Название] я пишу edFirmName.Value = "ООО" & Me!Название - ошибка теперь добавляем ещё один EDIT и привязываем его к [Название](ну чтоб он показывал Название) а теперь пишем edFirmName.Value = "ООО" & Me!Название - работает. Так вот и вопрос почему когда есть другой EDIT использующий [Название] то я в VB могу к нему(к [Название]) обратиться, а если нет то ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 16:47 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
Потому что Майкрософт в отчетах это не сделал, а сделал только в формах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 16:50 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
А по моему, выражение типа: Код: plaintext Лучше считать в запросе, а не в VBA. Например так: Код: plaintext И тогда TextBox можно будет связать с полем запроса и не мучиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 21:14 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
> Как мне расположить подотчёт услуги сразу за товарами. Ты не ищешь легких путей. Не нужна тебе высота подотчета, ничего тебе не нужно. Аксес сам справится с этой задачей. Значит так. Создаем отчет1 - на основе таблицы "Фирмы". Создаем отчет2 и отчет3 на основе таблиц "Услуги" и "Товары" соответственно. Вставляем отчет2 и отчет3 подчиненными в отчет1 примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Где "отчет2" и "отчет3" представляют собой контролы ширины такой же, что и ширина соответствующих отчетов а высотой, скажем, 1 твип (0 кажется не будет работать). Границу у этих двух контровов ставим в "Отсутствует". Ставим им свойства расширение = да. Верхняя граница Отчет3 расположена ниже , чем нижняя граница отчета 2 (оба они выглядят почти как линии, но одна должна быть ниже второй. Все. Само будет работать. Без всяких height. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2004, 21:59 |
|
||
|
Как в отчёте узнать размер подотчёта?
|
|||
|---|---|---|---|
|
#18+
на самом деле и почему у меня сразу не получилось, я действительно менял эти настройки, и высоту делал 1 и "Расширение" включал и считал что это не помагает, и сделал всё в одном запросе, а на самом деле совет про "Расширение" и есть ответ на топик. Спасибо всем за терпеливую помощь. А на счёт того как в Edit`ы записывать я так и не понял, сделал прям туда в "данные"=iif(isnull([ИмяФирмы]); ""; "Фирма " & [ИмяФирмы]) ... но у меня там много iif`ов и слишком длинная строка получается по тому и хотелось на VB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2004, 18:58 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32395901&tid=1676881]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 356ms |

| 0 / 0 |
