Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отчёты 
:(
    Опции темы
serpentyna
Дата 12.3.2004, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



Подскажите как лучше всего сделать отчеты.В учебнике упоминается конструктор DataReport,но а если мне нужно много отчетов с кучей условий и для каждого отчета свое условие?

PM   Вверх
serpentyna
Дата 12.3.2004, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



Ну и еще один вопрос.Не знаете где достать такой умный календарь,в котором нельзя было бы выбрать какой-то день,если это праздник или выходной (я тут делаю что-то вроде назначения очередей на прием к врачу).Не подкинете идею как можно это сделать?И вообще как это в настоящих больницах работает?
PM   Вверх
Guest
Дата 15.3.2004, 10:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Где-то на VB-ном сайте видел календарь,написанный на самом VB 6.0/Очень интересны пример.Жаль, только не помню где.
А так могу подсказать по-поводу отчетов.
Есть очень неплохой конструктор от Afalina Soft -XL Report.NET.
Как сам понимаешь,работает по VB.NET.
Очень интереная реализация.к тому же простота.
Выгружает отчеты в Excell.

А по-поводу множественности условий-существую какие-то параметры (условия).Их можно привязать к определенному отчету.
При вызове построения этого отчета будут допустим на форме появляться (динамически создаваться) контролы,которые нужны для ввода значений параметров для каждого конкретного отчета.
  Вверх
valex13
Дата 15.3.2004, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



Зачем отчеты в VB wink.gif
Тогда, как можно просто закидывать данные в Excel. Просто и без проблем!
В MSDN примеров полно. Подключаешься к Referens и готово. Только в путь....

Это сообщение отредактировал(а) valex13 - 15.3.2004, 13:11
PM MAIL ICQ   Вверх
Mephisto
Дата 15.3.2004, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Seagate Crystal report очень неплохая штучка.
PM   Вверх
Гость_serpentyna
Дата 18.3.2004, 15:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











и где это все достатъ?
Тогда, как можно просто закидывать данные в Excel. Просто и без проблем!
В MSDN примеров полно. Подключаешься к Referens и готово. Только в путь....

Seagate Crystal report очень неплохая штучка.
Soft -XL Report.NET.
Цитата
Тогда, как можно просто закидывать данные в Excel. Просто и без проблем!
В MSDN примеров полно. Подключаешься к Referens и готово. Только в путь....

Seagate Crystal report очень неплохая штучка.
Soft -XL Report.NET.


  Вверх
Guest
Дата 18.3.2004, 16:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











а может можно просто форму распечатать?
  Вверх
valex13
Дата 19.3.2004, 04:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



Я же сказал в MSDN - пруд пруди. Вот пример работы с MS Wordом
Код

Dim wrdAppl As Word.Application
Set wrdAppl = New Word.Application

Dim wrdDoc As Word.Document
Dim sPath As String
sPath = Application.Path
'Добавим документ по шабону
On Error GoTo ErNoTemplates
Set wrdDoc = wrdAppl.Documents.Add("Analize_Loading.dot")
wrdAppl.Visible = True


Тоже самое можно делать и с MS Excel
Для чего тебе нужно добавить в Referens Microsoft Excel object library и ты автоматически подключаешься к библиотекам MS Excel. Это называется OLE Automation.
Вот пример (первый попавшийся) взятый из MSDN:
Код

Dim xlApp As Object   ' Declare variable to hold the reference.
 
Set xlApp = CreateObject("excel.application")
  ' You may have to set Visible property to True
  ' if you want to see the application.
xlApp.Visible = True
  ' Use xlApp to access Microsoft Excel's
  ' other objects.
xlApp.Quit   ' When you finish, use the Quit method to close
Set xlApp = Nothing   ' the application, then release the reference.

В нем открывается MS Excel
Более того, ты мощешь написать макрос в MS Excel а из VB открыть MS Excel и запустить макрос.
Опять таки смотри MSDN и задавай конкретный вопросы.
Спасибо за внимение :-)
PM MAIL ICQ   Вверх
Mephisto
Дата 22.3.2004, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Цитата
В нем открывается MS Excel
Более того, ты мощешь написать макрос в MS Excel а из VB открыть MS Excel и запустить макрос.
Опять таки смотри MSDN и задавай конкретный вопросы.
Спасибо за внимение :-)

Очень удобно, но если необходимо сделать отчет с использованием SQL, то Crystal Report рулит.
PM   Вверх
valex13
Дата 23.3.2004, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



Вовсе нет. B MS Excel можно закидывать данные из запроса. Только если выборка большого обьема, тогда долго строиться отчет будет.
А потом, конечный пользователь не имеет возможности отредактировать результат в Crystal Report и насколько мне известно Crystal Report бесплатно не распрастраняется.

Это сообщение отредактировал(а) valex13 - 23.3.2004, 13:35
PM MAIL ICQ   Вверх
Mephisto
Дата 24.3.2004, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Цитата
насколько мне известно Crystal Report бесплатно не распрастраняется.

Насколько мне известно Microsoft Excel тоже.
А на счет редактирования ты прав, но... иногда это излишне. А по скорости работы Кристалы всё же рулят.
PM   Вверх
serpentyna
Дата 24.3.2004, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



Пример: у меня в больничке 100 пациентов.каждому из них за месяц до прививки высылается письмо с датой экзекуции(понятно, что даты прежних прививок находятся в таблице).
Как это сделать?

PM   Вверх
Alexei
Дата 27.3.2004, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: нет
Всего: 4



А не попробовать Аксес и ВБА?
PM MAIL   Вверх
serpentyna
Дата 27.3.2004, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



Вот именно что нельзя adv/67.gif
PM   Вверх
Mephisto
Дата 29.3.2004, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Цитата
Вот именно что нельзя

Тогда что же можно?
Вариантов много, что именно устроит?
PM   Вверх
serpentyna
Дата 30.3.2004, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



устроит всё,кроме того что нельзя.ну например Crystal Reports, вот например как с помощью Crystal Reports сделать?
PM   Вверх
nicka
Дата 30.3.2004, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 11.6.2003

Репутация: нет
Всего: 1



господи, платили бы деньги, я бы это с таким удовольствием сделала бы
PM MAIL   Вверх
serpentyna
Дата 30.3.2004, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



ну я не господь...вот и никто помочь бескорыстно не желает:(
PM   Вверх
cardinal
Дата 30.3.2004, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата
вот и никто помочь бескорыстно не желает

Ну ладно не желает... у меня лично на все времени не хватает. Вот выложу кусок без объянений:

Код
Private Sub Form_Load()
Dim Report As New CrystalReport1
'CRViewer1.Refresh
mdb.Recordsets.Refresh
Form1.Enabled = False
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
CRViewer1.Zoom (68)
Report.PaperSize = crPaperA5
Screen.MousePointer = vbDefault
End Sub


На тест и объяснения сейчас времени нет, увы. Это из моей старой проги и когда-то этот кусок работал smile.gif , но сейчас у меня библиотек crystal report'a уже нет. Про то как пользоваться crystal report'ом немного описано в книге:
Обработка баз данных на VB 6.0, Д. Мак-Манус,
но я сейчас посмотрел и как-то мне это не очень понравилось. Попробуй пока с этим разобраться, а я может, что в инете нарою...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
valex13
Дата 31.3.2004, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



Вот пример как сделать на MS Excel при условии, что Referens настроена на MS Excel и DAO
И настроено ОДБС алиас TEST
Код

Dim db as Database
Dim rs as Recordset
Set Db = OpenDatabase("TEST", False, False, "ODBC")
Set rs = Db.OpenRecordset( "SELECT CLIENTID,CLIENTNAME FROM CLIENT ORDER BY CLIENTID")
'Указываю на первую запись
 rs.MoveFirst()
 'Связываюсь с MS Excel
 Dim ExApp As Excel.Application
 Dim ExWB As Excel.Workbooks
 Dim ExWS As Excel.Worksheet
'Указываем приложение
Set ExApp = Excel.Application

 'Подгружаем файл
 Set ExWB = ExApp.Workbooks
 'Подгружаем страничку
 Set ExWS = ExApp.Worksheets(1)
  Dim i As Integer
  i =1
  Do While Not rs.EOF
    'Указываю ячейку A(i)
    ExWS.Range ("A" & LTrim(Str(I) ) ).Select
    ExWS.ActiveCell.FormulaRC = rs.Fields("CLIENTNAME").Value      
    rs,MoveNext()
  Loop

'Показываю MS Excel
xlApp.Visible = True
xlApp.Quit  
Set xlApp = Nothing  
rs.Close()

Код только что написал. smile.gif
PM MAIL ICQ   Вверх
serpentyna
Дата 31.3.2004, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



Спасибо всем за внимание smile.gif (только этот ODBC не шибко удобный какой-то,особенно если скакать с компутера на компутер)
PM   Вверх
valex13
Дата 1.4.2004, 06:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



serpentyna
Укажи какая у тебя база данных!
И вооще, желательно немного почитать книги по основам баз данных и спрашивать по конкретней. Ты просила пример построения отчета , а не пример взаимодействия с базой данных.
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.