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

Автор ivamartynov, 14 октября 2015, 06:58

0 Пользователи и 1 гость просматривают эту тему.

ivamartynov

Подскажите, пожалуйста, как можно выбрать из БД (odb) по нескольким параметрам данные.

Вот так выбираю по одному параметру (из таблицы PLAT_PTK_ASV при совпадении в поле REG_NUM по REG1 в таблицу OOCalc вставляются данные):

'подключение к базе
Function ConnectToDataBase(dbName as String) as Object
Dim dbContext As Object, oDataSource As Object
dbContext=createUnoService("com.sun.star.sdb.DatabaseContext")
oDataSource=dbContext.getByName(dbName)
ConnectToDataBase=oDataSource.GetConnection("","")
End Function

Sub FNS
sht = ThisComponent.Sheets.GetByName("IN")
REG1 = sht.getCellByPosition(1,4).Value * 1000000 + sht.getCellByPosition(0,2).Value 'здесь цифровое поле
KBK = sht.getCellByPosition(6,12).Formula 'здесь текстовое поле

ResultSet=Statement.executeQuery("SELECT * FROM PLAT_PTK_ASV WHERE REG_NUM =" & REG1)
   If Not IsNull(ResultSet) Then
   While ResultSet.next()
   sht.getCellByPosition(6,15+c).Formula = ResultSet.GetString(4)   'номер платежа
   sht.getCellByPosition(7,15+c).Formula = "'" & ResultSet.GetString(5)   'КБК
   sht.getCellByPosition(8,15+c).Formula = ResultSet.GetString(6)   'сумма
   sht.getCellByPosition(9,15+c).Formula = ResultSet.GetString(7)   'дата платежа
   c=c+1
   Wend
   End If
End Sub

А нужно:
из таблицы PLAT_PTK_ASV при совпадении в поле REG_NUM по REG1 дополнительно проверить совпадает ли в найденной строке KBK и если оба параметра совпадают, то вставить найденное в таблицу OOCalc.

JohnSUN

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

ivamartynov