Метод SelectData (Объект IIngeoSemDbTable)


Производит выборку данных из таблицы.

Синтаксис

ЯзыкОписание
VBScript, JavaScriptFunctionSelectData(aFields, aWhere, aParams)
Visual BasicFunction SelectData(ByVal aFields As String, ByVal aWhere As String, ByVal aParams As Variant) As IIngeoSemDbDataSet
Delphifunction SelectData(const aFields: WideString; const aWhere: WideString; aParams: OleVariant): IIngeoSemDbDataSet;
C, C++HRESULT SelectData(BSTR aFields, BSTR aWhere, VARIANT aParams, IIngeoSemDbDataSet** Value);

Параметры

aFields
Задает поля, данные которых будут возвращены в результирующем наборе. Имена полей перечисляются через запятую и могут быть заключены в двойные кавычки. Если необходимо вернуть данные всех полей, то используется символ *.
aWhere
Задает условие отбора записей. Если необходимо вернуть все записи, то надо передавать пустую строку. Если значение какого-либо параметра условия передается через aParams, то на его месте надо использовать символ ?.
aParams
Массив значений для aWhere. Порядок значений в массиве должен соответстовать порядку следования символов ? в aWhere.

Возвращаемое значение

Набор из записей таблицы.

Примечания

Будет выполнен следующий запрос следующего вида:
 'SELECT ' + aFields + ' FROM ' + TableName + ' t WHERE ' + aWhere, 
  либо, если не задано условие отбора: 
 'SELECT ' + aFields + ' FROM ' + TableName + ' t'. 

Пример

Задача 1:
В таблице с именем "Адрес_огнестойких", найти все дома с номером 10. Вернуть столбцы "Улица" и "Номер" таблицы.
option explicit

dim SemDbTable, QueryResults

set SemDbTable = ActiveDb.SemDbTables("Адрес_огнестойких")
set QueryResults = SemDbTable.SelectData("Улица, Номер", "Номер='10'", Null)
if QueryResults.EOF then
  msgbox "Не найдено ни одного дома с номером 10"
end if
Задача 2:
В таблице с именем "Дома_огнестойкие", найти все строки таблицы, поле "Подпись" которых начинается со строки заданной в некоторой переменной.
Вернуть все столбцы таблицы.
option explicit

function FindCaptionBeginFrom(Caption)
  dim SemDbTable 
  set SemDbTable = ActiveDb.SemDbTables("Дома_огнестойкие")
  set FindCaptionBeginFrom = SemDbTable.SelectData("*", "Trim(Upper(Подпись)) like Upper(? + '%')", Array(Caption))
end function 


dim QueryResults, Caption
Caption = "Маг"
set QueryResults = FindCaptionBeginFrom(Caption)
if QueryResults.EOF then
  msgbox "Не найдено ни одной строки поле 'Подпись' которых начинается со строки "  & Caption
end if 

См.также

IIngeoSemDbTable, IIngeoSemDbDataSet