Глава 7: Работа с таблицами
144 MapBasic Руководство пользователя
Данный подход позволит Вам определять, к какому полю необходим
доступ во время выполнения программы.
Бывает, что указывать имя_таблицы в выражениях внутри операторов
не обязательно. Например, пусть в операторе Browse Вам надо задать
названия колонок и имя таблицы. Поскольку ясно, с какой таблицей
будет работать данный оператор (из предложения From), то в названия
колонок не обязательно включать имя таблицы.
Select Country, Population/1000000 From World
Browse Country, Col2 From Selection
Оператор Select также содержит предложение From, где указано имя
таблицы, к которой он применяется. Названия колонок в операторе
Select в случае, когда он применяется только к одной таблице, также
не обязаны содержать приставку имя_таблицы. Если же в
предложении From оператора Select перечислены несколько таблиц, то
названия колонок должны начинаться с приставки имя_таблицы.
Более подробная информация об использовании оператора Select
содержится в Руководстве пользователя MapInfo и главе "Select"
Справочника MapBasic.
В некоторых случаях Вы должны использовать определенный вид
выражений: COLn или COL(n). В последнем примере оператор Select
работает с двумя колонками; причем вторая колонка является
вычисляемой, поскольку значения для этой колонки получаются как
результат вычисления выражения Population/1000000. В
последующем операторе Browse на вычисляемую колонку можно
ссылаться только как col2 или как col(2), поскольку Population/
1000000 не является допустимым названием колонки.
Обращение к колонке с помощью переменной типа Alias
В приводившихся до сих пор примерах использовались
фиксированные имена колонок. Например, в операторе
Select Country, Population/1000000 From World
имена колонок — "Country" и "Population" — указаны явно.
Иногда название колонки заранее не известно, оно определяется во
время выполнения. Возможно, пользователь должен выбрать колонку
из списка, а Ваше приложение должно ее обработать.
Язык MapBasic содержит тип переменных Alias, который позволяет
хранить и формировать названия колонок во время выполнения
программы. Как и переменным типа String, переменным Alias можно
присваивать текстовые строки. MapBasic считает значение переменной
типа Alias названием колонки, если переменная такого типа
используется в выражении на месте ссылки на колонку. Например:
Dim val_col As Alias