VBA - получение имен столбцов из базы данных Lotus Notes с помощью метода getColumnNames - PullRequest
0 голосов
/ 13 июля 2010

Итак, у меня есть представление (имя объекта 'view') в базе данных Lotus Domino, из которого я хочу получить имена столбцов и поместить их в массив:

Dim view As Domino.NotesView
Set view = db.GetView(viewScen)   

//viewScen is a string containing the actual view's name
//db is a string containing the actual db name

Эти объявления работают нормально, но когда я пытаюсь присвоить эти значения массиву с помощью метода getColumnNames, редактор VBA сообщает, что метод не поддерживается для этого объекта:

Dim someArray() As String

//I tried both of the following with no sucess...

someArray = view.getColumnNames 

someArray() = view.getColumnNames 

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 14 июля 2010

Согласно справочным файлам 8.0, метод getColumnNames не поддерживается в COM / OLE. Однако атрибут ColumnNames поддерживается. Это код VB из файла справки:

Private Sub ViewColumnNames_Click()
  Dim s As New NotesSession
  s.Initialize
  Dim dir As NotesDbDirectory
  Dim db As NotesDatabase
  Dim v As NotesView
  Dim cns As String
  Set dir = s.GetDbDirectory("")
  Set db = dir.OpenDatabase("Web test")
  Set v = db.GetView("Main View")
  For Each cn In v.ColumnNames
    cns = cns + cn + Chr(10)
  Next
  MsgBox cns, , "Columns in Main View"
End Sub
0 голосов
/ 13 июля 2010

Я думаю, что вы можете сделать For..Each с колонками

dim idx as integer
dim OneCol as Column

redim someArray(view.Columns.Count)

For idx = 0 to view.Columns.Count - 1
    someArray(idx) = view.Columns(idx).name
Next
...