Jump to content

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


Recommended Posts

Отчёт выбирает данные из 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

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

Link to comment
Share on other sites

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

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

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

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

Edited by Jmd
Link to comment
Share on other sites

Jmd

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

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

Link to comment
Share on other sites

  • 2 years later...

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

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

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

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...