Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Помогите разобраться с отчётом.


Рекомендуемые сообщения

Отчёт выбирает данные из 3 связанных таблиц(один ко многим)., чтобы строки в отчёте не повторялись написал следующий код:

Private Sub Область данных_Format(Cancel As Integer, FormatCount As Integer)

On Error Resume Next

If CLng(Me.Номер стыка) = CLng(CurrentNumber) Then

Cancel = 1

ElseIf CLng(Me.Номер стыка) > CLng(CurrentNumber) Then

CurrentNumber = Me.Номер стыка

Cancel = 0

End If

End Sub

после этого отчёт формируется правильно(на мониторе), а на печать опять выводит повторы записей, а последнюю запись вообще удаляет!! :( ! Никак не могу разобраться: почему на экране одно, а на печать выводит другое?? Может кто встречался с такой проблемой, подскажите буду благодарен.

Ссылка на комментарий
Поделиться на другие сайты

Несколько вопросов:

Что есть Номер стыка? Где и как определелена CurrentNumber?

И есть один совет:

Оптимизируйте свой запрос к данным таким образом, чтобы исключить лишние записи. Когда-то давно один малознакомый, но довольно умный человек сказал мне: Извлечь необходимый набор данных из базы данных со сколь угодно сложной структурой с помощью SQL можно практически всегда лишь одним предложением select.

И есть один ответ непосредственно в тему:

Менее давно чем в предыдущем абзаце имел я интересную ситуацию, тогда ко мне обратились с похожим вопросом - почему на экране видно, а на печать не идет, причем только область данных - выяснили, что кривой дистрибутив был.

Ссылка на комментарий
Поделиться на другие сайты

CurrentNumber - глобальная переменная, ей присвается значение Me.Номер стыка.

Me.Номер стыка - параметр первой таблицы(3 связанных таблиц(один ко многим)), по этому параметру выполняю выборку в отчёт. Т.к. связь один ко многим получаются повторы строк. Этим кодом хотел избавиться от повторов(по иному не могу придумать).

Ссылка на комментарий
Поделиться на другие сайты

Избавиться от повторных данных в запросе позволяет фраза SELECT DISTINCT ...

Исправь соответствующим образом запрос, который выбирает данные для отчета. Или создай его, если до сих пор этого не сделал.

Добавлено : [mergetime]1088760987[/mergetime]

Чтобы помочь тебе более конкретно, необходимо больше сведений. Напиши структуру связей таблиц, участвующих в выборке, и что надо получить на выходе.

Ссылка на комментарий
Поделиться на другие сайты

Насколько я помню, то в свойствах запросов есть что-то типа "оригинальные значения", "оригинальные записи"...

Тогда он показывает без повторений.

Ссылка на комментарий
Поделиться на другие сайты

Разобрался, спасибо!

Сначала собрал данные в промежуточную таблицу с той-же структурой, что и запрос, из неё уже в отчёт.

Возникла др. проблема: програмку закончил, а при переносе её на другую машину не работают пара функций: ReDim и Data! Подскажите какие и как подключить библиотеки? "пока не научился :( "

Или может access 97 не полностью установлен?

Ссылка на комментарий
Поделиться на другие сайты

У меня при перестановке винды пропало несколько элементов, но это были активХ. С датой странно

Может база сохранить как 97, или 2000?

И еще, есть меню сервис, там можно провести аланиз базы, может там что всплывет.

Изменено пользователем Jmd
Ссылка на комментарий
Поделиться на другие сайты

Jmd

Не совсем понял вопрос. В любом случае, имхо, анализ базы не затрагивает визуальных элементов.

А ActiveX можно подключить ручками, для этого в меню "Сервис" есть специальный пункт.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

У меня проблема в том, что в поле занесены слишком большее количество слов и надо чтобы некоторые не виделись, можно ли их как нибуть зафильтровать.

К примеру, в поле вписана фраза из многих слов, но в строках начало фразы повторяется и где-то в середине может изменятся, и вот мне нужно что-бы начальная фраза не выходила на экран и печать, а повторы от середины фильтровались. Т.е. мне нужно прописать такой фильтр.

Заранее благодарен!

ПС Может кто даст ссылку про MSaccess and MSexcel где можно почитать.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...