powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по формированию отчета
43 сообщений из 43, показаны все 2 страниц
Вопрос по формированию отчета
    #37307211
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub CommandButton1_Click()
Set dbs = DAO.OpenDatabase("c:\database.mdb")
'Выполняем запрос к базе данных
Set rs = dbs.OpenRecordset("SELECT назв_тов FROM тбл_тов")

'Если ничего не найдено - выдаем сообщение и выходим
If rs.RecordCount = 0 Then
MsgBox ("По вашему запросу ничего не найдено")
Exit Sub
End If
i = 1
Do While Not rs.EOF ' цикл выполняется пока не достигнута последняя строка в таблице ответа
'Присваиваем ячейкам таблицы значения из базы
Cells(i + 1, 2).Value = rs.Fields("назв_тов")
'Cells(i, 1).Value = rs.Fields("ID_тов")
i = i + 1
'переходим к следующей строке во временной таблице ответа
rs.MoveNext
Loop
'Закрываем временную таблицу
rs.Close
'Очищаем память. Если этого не сделать, то таблица так и останется висеть в оперативке.
Set rs = Nothing
'Закрываем базу
dbs.Close
'Очищаем память
Set dbs = Nothing
End Sub
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307217
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отчет в excel на данный момент формирует список товара.
Вопрос как проще реализовать чтобы формировал список товара по группам, тоесть в таблице есть поле class.
Необходимо, чтобы формировалось вида:
процессоры
.
.
.
видеокарты
.
.
.
и так далее
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307227
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill_Y,

Код: plaintext
SELECT назв_тов FROM тбл_тов ORDER BY class
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307310
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется ввиду не группировка а конкретно писался класс а далеее перечень
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307317
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поле class у вас в таблице тбл_тов сразу текстовое?
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307318
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill_YИмеется ввиду не группировка а конкретно писался класс а далеее переченьА никто и не предлагает группировку.
Проблема-то в чем заключается? Надо писать класс - пиши класс.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307326
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тоесть такого вида:

процессоры
amd
intel
видеокарты
nvidia
ati

Насколько я понимаю это надо как то занести в рекордсет все классы а далее как то по циклу весь перечень по классам. Или это как то проще делается?
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307331
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill_YНасколько я понимаю это надо как то занести в рекордсет все классы Да, просто надо написать соответствующий запрос, но без твоей схемы БД мы тебе не поможем.
Kirill_Yа далее как то по циклу весь перечень по классам. Или это как то проще делается?Можно как-то без цикла за один прием все вставить, но я, честно говоря, подзабыл - ща кто-нить подскажет
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307340
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Схему бд можно конечно. Просто я использовал тривиальный пример в вопросе. Что бы понять как работает оно на простом примере и уже внедрить в свой конкретный случай.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307348
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill_YПросто я использовал тривиальный примерНу тогда нужна тривиальная схема, чтобы построить тривиальный запрос

дайте мне гнутый молоток, чтобы забивать ваши гнутые гвозди (с) Чебурашка
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307349
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица ZfromUch
интересующие поля поля
Naimen
Таблица TMC
интересующие поля поля
Name
Class
Name объеденено c Name один ко многим
Поля которые участвуют для where пока не учел
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307353
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тоесть Naimen c Name
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307357
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill_Y,

а что нужно из ZfromUch, если поле Name есть и в TMC?
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307364
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переделайте запрос. Тогда в столбец попадет и групповое имя class, и конкретный тип товара
Код: plaintext
1.
2.
3.
4.
select class from
(select class, class as c,  0  as subgroup FROM тбл_тов
union all
SELECT назв_тов, class,  1  FROM тбл_тов) q
order by c, subgroup
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307370
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица ZfromUch это таблица содержащая данные о заявках
А таблица TMC это таблица содержащая номенклатуру(тоесть наименование класс(метизы,тюбинги...), среднерыночная цена )
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307376
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа как-то так (таблица без связей, но это поправимо, если поймёте суть...)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Sub CommandButton1_Click()
  
 Set dbs = DAO.OpenDatabase("c:\2\858737.mdb")
 Set rs = dbs.OpenRecordset("SELECT name, class FROM товары ORDER BY class")
 rCount = rs.RecordCount
 If rCount >  0  Then
    aData = rs.GetRows(rs.RecordCount)
    Set rs = dbs.OpenRecordset("SELECT DISTINCT class FROM товары ORDER BY class")
    aClass = rs.GetRows(rs.RecordCount)
 Else
     MsgBox ("По вашему запросу ничего не найдено")
 End If
 
 rs.Close
 Set rs = Nothing
 dbs.Close
 Set dbs = Nothing
 
 If rCount >  0  Then
    Cells.Clear
    k =  2 
    For i =  0  To UBound(aClass,  2 )
       Cells(k,  2 ) = aClass( 0 , i)
       Cells(k,  2 ).Font.Bold = True
       k = k +  1 
       For j =  0  To UBound(aData,  2 )
            If aData( 1 , j) = aClass( 0 , i) Then
                Cells(k,  2 ) = aData( 0 , j)
                k = k +  1 
            End If
       Next
    Next
 End If

End Sub
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307377
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select class from
(select class, class as c, 0 as subgroup FROM тбл_тов
union all
SELECT назв_тов, class, 1 FROM тбл_тов) q
order by c, subgroup

То что надо только вот DISTINCT Бы как то там уместить а то выдает орбер бай конфликтует с дистинк
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307380
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только вот я не понимаю, зачем напрягать Excel, если в Access есть собственные отчеты?
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307383
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо помогло
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307384
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307390
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ацессе у меня получалось только "горизонтальное представление" данных
А необходимо для наглядности "вертикальное"...Если вы меня поняли
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307415
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill_YА необходимо для наглядности "вертикальное"...Если вы меня поняли
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307641
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub Кнопка75_Click()
Dim xlApp As Excel.Application
Dim wkbNewBook As Excel.Workbook
Dim wksSheet As Excel.Worksheet
Dim strBookName As String

'Создается скрытая инстанция к Excell
Set xlApp = New Excel.Application
' Добавляется новый workbook в Workbooks collection.
Set wkbNewBook = xlApp.Workbooks.Add
' Путь и имя книги для сохранения
strBookName = "C:\ex1.xls"

With wkbNewBook
For Each wksSheet In .Worksheets
wksSheet.Name = wksSheet.Name
Next wksSheet
.Close SaveChanges:=True, FileName:=strBookName
End With

Set dbs = DAO.OpenDatabase("c:\Шаблон доступа 2003.mdb")
'Выполняем запрос к базе данных
Set rs = dbs.OpenRecordset("SELECT ZfromUch.Naimen, TMC.Class FROM TMC INNER JOIN ZfromUch ON TMC.Name = ZfromUch.Naimen GROUP BY ZfromUch.Naimen, TMC.Class;")
rCount = rs.RecordCount
If rCount > 0 Then
aData = rs.GetRows(rs.RecordCount)
Set rs = dbs.OpenRecordset("SELECT DISTINCT class FROM TMC ORDER BY class")
aClass = rs.GetRows(rs.RecordCount)
Else
MsgBox ("По вашему запросу ничего не найдено")
End If

rs.Close
Set rs = Nothing
dbs.Close
Set dbs = Nothing

If rCount > 0 Then
'Cells.Clear
k = 2
For i = 0 To UBound(aClass, 2)
Cells(k, 2) = aClass(0, i)
wksSheet.Cells(k, 2).Font.Bold = True
k = k + 1
For j = 0 To UBound(aData, 2)
If aData(1, j) = aClass(0, i) Then
Cells(k, 2) = aData(0, j)
k = k + 1
End If
Next
Next
End If






Set wkbNewBook = Nothing
'Выход из Excell
xlApp.Quit

Set xlApp = Nothing
Exit Sub
End Sub


Не определяет Cells(k, 2) я так понимаю надо где то что то объявить или правильно путь к ячейке указать...Если вообще конструкция правильная
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307654
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill_YНе определяет Cells(k, 2) я так понимаю надо где то что то объявить или правильно путь к ячейке указать...Если вообще конструкция правильная
Надо указать, конечно, и книгу и лист.
Столько открытой книги у тебя нет - ты ее раньше зачем-то закрыл.

А это что за веселый цикл?
Код: plaintext
1.
2.
For Each wksSheet In .Worksheets
wksSheet.Name = wksSheet.Name
Next wksSheet

ЗЫ: Посмотри, как оформляется код в сообщениях и делай так же
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307656
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столько - только
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307711
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же говорю - наблюдаем извращения...
Это типа их Акцесса вызываем Экзель, чтобы создать отчет в Экзеле Акцессом.
Чем человеку не нравятся Отчеты в самом Акцессе - до сих пор неясно.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307717
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMЯ же говорю - наблюдаем извращения...
Это типа их Акцесса вызываем Экзель, чтобы создать отчет в Экзеле Акцессом.
Чем человеку не нравятся Отчеты в самом Акцессе - до сих пор неясно.ну мало ли - для дальнейшей обработки
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307722
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я же давал ссылку на тему чем не подходит отчет акцесса. Если присмотреться я не могу вывести данные в определенном виде...
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307727
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне самому не в кайф сидеть разбирать примеры взаимод акц и экселя и пытаться стряпоть свой...
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307728
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там действительно дальнейшая обработка...
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307730
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.sql.ru/forum/actualthread.aspx?tid=857677

Как мне замутить количество по участкам в вертикальном виде...Я не знаю как это в акцессе сделать
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307733
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если исходить из данного скрина там количество указано 200 это 100 от первого участка и 100 от второго. И как это впихнуть чтоб выглядело как в акцессе я не знаю
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307740
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тоесть да конструкция доступна
метизы
участок1
болт1 100
участок2
болт1 100

а как сделать

метизы участок1 участок2
болт1 100 100 я не знаю
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307750
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37307755
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там форма2
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37308033
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так что не получается-то? Именно _отчет_ по некоторым данным? Что нам эта Форма2 скажет-то?

Если не получается нужный вид отчёта - намекну: отчет надо делать не прямо по таблицам, а сначала сформировать нужные выборки (запросами) а потом уже делать отчет на их основе. Если делать запросы мастером - то это называется "с перекрестными ссылками".

А вообще, вам бы неплохо структуру таблиц подкорректировать.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37308242
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да действительно перекрестный запрос помог
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37310219
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли как то форматировать очередность (или как лучше это сделать) формирования столбцов перекрестного запроса с динамическим количеством. На данный момент формируются сперва столбцы строк, далее идет динамическое кол-во столбцов и столбец с их суммой. А хотелось бы столбцы строк---динамические с их суммой---столбы строк.
В отчете динамика cnjk,tw sum-coast стол после столбца общее кол-во.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37310220
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы в отчете "динамика" столбец sum-coast стоял после столбца общее кол-во
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37310310
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или проблема как то решается еще одним запросом который содержит нужные поля.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37314066
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался...
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37317243
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как лучше заполнить столбец partsh(Предпологаемый поставщик) в отчете динамика. Для формирования отчета следует заполнить в форма2 2011год и месяц май
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #37318749
Kirill_Y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался...
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по формированию отчета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]