powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не могу справиться с рекордсетом (((
2 сообщений из 2, страница 1 из 1
Не могу справиться с рекордсетом (((
    #35339065
suita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть рекордсет MyRS1
он мне возвращает нужный набор данных, процедура готова, данные возвращаются.
сначала создается заголовок таблицы как положено а потом ниже все данные по строкам..
но нужно чтобы данные поделились по определенному критерию.. допустим по валюте.. т.е. если валюта 1 то создать заголовок 1 раз и под ним забивать циклом все данные относительно этой валюты, а если валюта 2 то нужно опуститься на какое-то количество строк и ниже так же 1 раз снова вставить заголовок и все данные по валюте 2..
дело вот в чем..
во первых не могу селать так, чтоб заголовок создался 1 раз, а во вторых не могу понять как опуститься ниже для второй таблицы на том же листе.. думала что после добавления данных в таблицу с валютой 1 можно каждый раз после этого добавлять строку, но я не умею этого делать.. если кто поможет написать такое .. буду очень благодарна... ниже примерный код...
все идеи принимаются...

InsertHeader (k) - процедура создания заголовка..

...

j = 10
k = j + 1



While Not MyRS1.EOF

Sheet1.Activate
InsertHeader (k)

k = k - 1


If MyRS1!Account = "X" And MyRS1!Currency = "1" Then

Sheet1.Cells(k, 1).Value = "Валюта - " & MyRS1!Currency
Sheet1.Cells(k, 1).Font.Bold = True

Sheet1.Cells(j, 1).Value = Format(MyRS2!Data, "dd.mm.yyyy")
Sheet1.Cells(j, 2).Value = MyRS2!Rate

' Rows("j:j").Select

' Selection.Insert Shift:=xlDown

End If

MyRS1.MoveNext
Wend



MyRS1.Close
Set MyRS1 = Nothing
...
Рейтинг: 0 / 0
Не могу справиться с рекордсетом (((
    #35339584
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suitaно нужно чтобы данные поделились по определенному критерию.. допустим по валюте.. т.е. если валюта 1 то создать заголовок 1 раз и под ним забивать циклом все данные Т.е. вы хотите сделать группировку по полю.
suitaво первых не могу селать так, чтоб заголовок создался 1 разОтсортируйте рекордсет по полю "валюта 1" и в цикле ловите строчку на которой изменится значение поля (значит надо запоминать предыдущее).
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim LastCurr as String
Do While Not MyRS1.EOF
   If MyRS1("Currency") <> LastCurr Then
     'Записываете заголовок в строку  k
     k = k +  1 
     LastCurr = MyRS1("Currency")
   End If
   'Ваш код заполнения строки
    k = k +  1 
suitaа во вторых не могу понять как опуститься ниже для второй таблицы на том же листе.. А зачем копировать строки в екселе? Просто пишите значения в ячейки и все.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не могу справиться с рекордсетом (((
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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