|
Программирование >> Проектирование интерфейса пользователя
Аргумент Тип преобразования Множество значений параметра Тип преобразования охватывает различные варианты экспорта, импорта и связывания данных. Чтобы, например, осуществить импорт текстовых данных с разделителями полей, достаточно выбрать значение Импорт (разделители) (Import Delimiter), при этом режиму экспорта в формат HTML долЖен соответствовать Экспорт (HTML). Определение спецификации преобразования В качестве значения параметра Название спецификации выступает содержимое определенного поля одной из скрытых системных таблиц Access. Освоепие процедуры определения спецификации мы начнем с создания текстового фа11ла РИопеВоок. Txt, содержащего строки данных с разделителями. Формат каждо11 строки имеет следующий вид: Имя, Адрес, Еород, Область, ПочтовыйИндекс Для определения спецификации этих данных вполне достаточно. Создание спецификации преобразования - составная часть процесса импорта, экспорта или связывания данных. Мы рассмотрим эту процедуру на примере задачи импорта данных из файла PhoneBook. Txt. Чтобы определить спецификацию для макроса преобразования текстовых данных, выполните следующие действия. Создайте новую базу данных. 2. В окне базы данн1х выберите элемент Таблицы (Tables) из списка Объекты. 3. Щелкните на кнопке Создать панели инструментов. 4. В списке режимов диалогового окна Новая таблица (New Table) выберите элемент Импорт таблиц (Import). 5. В раскрывающемся списке Тип файлов (Files of Types) диалогового окна Импорт (Import) укажите элемент Текстовые файлы (Text Files). 6. Проследуйте к папке, содержащей файл PhoneBook. Txt, выберите его и щелкните на кнопке Импорт. 7. В окне мастера Импорт текста будет автоматически выбрана опция С разделителями. Чтобы увидеть, как создается спецификация, щелкните на кнопке Дополнительно (Advanced). 8. Откроется диалоговое окно Спецификация импорта (Import Specification) (рис. 9.10). В нижней части окна отображается список распознанных системой столбцов (в нашем примере их пять) с временными наименованиями вида Ноле1, Ноле2, замените названия более конкретными (Name, Address, City, Region, PostaI Code). 9. Сохраните спецификацию: щелкните на кнопке Сохранить как (Save As), в поле Название спецификации диалогового окна Сохранение спецификации импорта и экспорта оставьте без изменений название, предложенное системой по умолчанию (PhoneBook - спецификация импорта) и щелкните на кнопке ОК. Закройте диалоговое окно Спецификация импорта щелчком на кнопке ОК. 10. Щелкните на кнопке Далее (Next) окна мастера Импорт текста. Установите флажок опции Первая строка содержит имена полей (First Row Contains Field Names). 11. Щелкните на кнопке Далее. 12. Третье диалоговое окно мастера Импорт текста позволяет указать, где необходимо сохранить данные - в новой или существующей таблице. Примите вариант, предложенный по умолчанию, - В новой таблице (New Table). 13. Щелкните на кнопке Далее. i Satfci;; BtMStts, числа - l 4>op3 дет : i раадеяительдатй: ргисештель время*; Ома *** попей: Разделитель шлей: . ----- - аасятч№1Й разде?5итель-: Спй-итфнкйиив...
Л;с. Р. /0. Так выглядит диалоговое окно Спецификация импорта 14. Четвертое окно мастера Импорт текста дает возможность задать наименование и тип каждого поля, а также признак принадлежности поля индексу. Выберите поле iRegion и укажите в раскрывающемся списке Индекс (Index) элемент Да (Допускаются совпадения) (Yes (Duplicates OK)). 15. Щелкните на кнопке Далее. 16. Оставьте выбранной опцию Автоматически создать ключ. 17. Щелкните на кнопке Далее. 18. Не изменяя предложенного системой имени таблицы - приемника данных (ТЛоиеВооЛ), щелкните на кнопке Готово (Finish), чтобы заверщить процедуру. Создание и сохранение спецификации преобразования было осуществлено нами при выполнении пп.8 и 9 инструкции. Откройте таблицу PhoneBook и взгляните на ее содержимое; если оно вас устраивает, значит, спецификация верна. Теперь перейдите к окну создаваемого макроса и с помощью раскрывающегося списка Название спецификации выберите имя только что построенной спецификации преобразования текста. Аргумент Имя таблицы В поле Имя таблицы необходимо указать уникальное название таблицы. Чтобы избежать ошибок, связанных с использованием существующих имен, можно воспользоваться макросом на основе команды УдалитьОбъект, рассмотренной в разделе макросов Аргумент Имя файла Параметр Имя файла обязателен. Но одного имени файла, недостаточно. Как же проверить, действительно ли заданный файл существует? Чтобы ответить на этот вопрос, придется, вероятно, прибегнуть к дополнительным средствам. Вот один из способов обеспечения возможности динамического задания имени файла с данными, которые необходимо импортировать. В качестве значения аргумента Имя файла введите выражение =InputBox( Введите имя файла для импорта: , Имя файла , PhoneBook.Txt ) Не забудьте в начале выражения ввести символ равенства (=). при выпол- нении макроса откроется диалоговое окно, в поле которого пользователь сможет ввести имя требуемого файла (по умолчанию предлагается PhoneBook.Txt). Аргумент С именами полей ЕСЛИ необходимо, чтобы во время выполнения макроса первая строка данных трактовалась системой как перечень названий полей, в качестве значения аргумента С именами полей выберите Да. Аргумент Имя таблицы HTML Access способна взаимодействовать и с данными в формате HTML. При заполнении поля Имя таблицы HTML убедитесь, что в качестве значения параметра Тип преобразования выбрано одно из следующих - Импорт (HTML), Экспорт (HTML) или Связь (HTML). Аргумент Кодовая страница Список допустимых значений параметра Кодовая страница весьма обширный. Ваш выбор зависит от того, в какой кодовой странице набраны импортируемые/экспортируемые текстовые данные. Замена макрокоманд инструкциями на языке VBA В ходе выполнения или процедуры, написанной на языке может быть имитирован вызов любой из макрокоманд Access. С этой целью используется объект класса DoCmd. Каждому типу макрокоманд, доступных в окне создания макроса, соответствует определенный метод объекта DoCmd. Так, например, при необходимости преобразования текста с помощью кода VBA следует применить следующую конструкцию: DoCmd.TransferText [ТипПреобразования] [, НазваниеСпецификации], ИмяТаблицы, ИмяФайла [, СИменамиПолей] [, ИмяТаблицы HTML] [, Кодовая страница] Аргументы ИмяТаблицы и ИмяФайла обязательны. Параметру ТипПреобразования по умолчанию присваивается значение Импорт (разделители). Выполняя операцию импорта с разделителями, нет необходимости использовать особую спецификацию преобразования. Значение аргумента СИменамиПолей, предлагаемое по умолчанию, равно False. Ниже приведен листинг 9.2, содержащий описание процедуры, которая решает рассмотренную выше задачу импорта текстовых данных с разделителями. Листинг 9.2. Пример процедуры импорта текстовых данных с разделителями 1: Su Delimited( ) 2; Const DefaultFileName = c:\temp\book\phonebook.txt 3: Cons cification = Название спецификации Dim FileName As String 5: FileName = InputBox ( Введите имя файла для импорта: , Имя файла , DefaultFileName) G: DoCmd.TransferText acImportDelim, ImportSpecification, FileName В : End Sub
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |