Вопрос VBA: debug.print отображает правильные данные - как вывести их из окна Immediate? - PullRequest
0 голосов
/ 29 июля 2010

В моей базе данных есть определенные таблицы с конфиденциальной информацией.Каждая из этих таблиц содержит пустое поле с именем «ThisTableIsConfidential».У меня есть функция, которая правильно отображает список таблиц, которые имеют это поле в окне Immediate.Теперь я хочу отобразить список в форме и не могу понять, как это сделать.Я думал поместить функцию в запрос и отобразить ее в списке, но запрос не сработал.Есть идеи?

Это функция (я собрал ее из нескольких разных онлайн-источников):

Function GetConfidentialTable()
 Dim db As Database, tbl As TableDef, fld As Field, currentTable As String
   Set db = CurrentDb

   For Each tbl In db.TableDefs
        If (tbl.Attributes = 0) Then  

        currentTable = tbl.Name

        If FieldExists(currentTable, "ThisTableIsConfidential") = True Then
            Debug.Print currentTable
        End If
     End If

   Next tbl
End Function

1 Ответ

1 голос
/ 29 июля 2010

Вы можете установить тип источника строки списка на Список значений, а затем использовать вашу функцию для возврата списка:

Function GetConfidentialTable()
 Dim db As Database, tbl As TableDef, fld As Field, currentTable As String
   Set db = CurrentDb

   For Each tbl In db.TableDefs
        If (tbl.Attributes = 0) Then  

        currentTable = tbl.Name

        If FieldExists(currentTable, "ThisTableIsConfidential") = True Then
            sList = sList & ";" & currentTable
        End If
     End If

   Next tbl

   GetConfidentialTable = Mid(sList,2)
End Function
...