А.Ю. Гончаров Access 2003 (960524), страница 32
Текст из файла (страница 32)
В результате переносвыполняется в несколько приемов, методом проб и ошибок.Импорт из текстовых файлов заслуживает отдельного разговора. Здесь имеются в виду не документы, создаваемые в текстовых редакторах, а данные, которыеиспользуются в информационных системах. Такие файлы являются своеобразным и очень давно «изобретенным» стандартом для межпрограммного обменаданными.
Текстовый формат известен под разными именами. В MS-DOS он известен как ASCII-файлы, в СУБД семейства dBASE - это опция SDF (system dataformat), в Windows это называется «текст MS-DOS». Основная особенность текстового файла заключается в том, что он содержит только данные и никаких служебных кодов и символов структуры, кроме знаков конца строки. У таких файловесть два крупных недостатка. Во-первых, структуру данных в них надо описывать отдельно.
Во-вторых, их можно открыть в любом текстовом редакторе,и случайное или преднамеренное изменение информации (особенно сдвиг) может испортить содержимое. То есть информация в таких файлах абсолютно не защищена от неосторожных действий пользователя^Несмотря на то что существует множество стандартных форматов обмена, всееще встречаются случаи, когда распространители информации используют именнотекстовые файлы как источник данных. Иногда, таким способом распространяютсяи базы данных, хотя для последних стандартом являются файлы типа DBF. Мотивировка этого обычно следующая: «Пользователи могут не иметь опыта работыс DBF-файлами или программных систем, которые работают с такими файлами,а текстовый формат доступен всегда.
Каждый получивший эти данные сможет преобразовать их в свой любимый формат». Кроме того, существует много программных продуктов, в которых данные хранятся в файлах типа DBF.7.7. Мастер импортаВ том случае, когда надо импортировать текстовые данные, их лучше заранеевыровнять по колонкам с помощью пробелов (рис, 7.22). После этого файлнадо сохранить и запустить мастер импорта: выбрать упомянутую выше командуи в окне Импорт задать тип файла «Text Files».
Затем надо найти требуемыйфайл.Глава?180п& Литература-сБлокнотФайл [Травка Формат Вид1.2.3.4.5.6.7.^правкаДжек ЛондонРафаэль сабатиниРоберт Луис СТИВЕНСОНИван ЕфремовДжон стейнбекАлександр домаМИОИЛ АНЧАРОВморской волкОДИССЕЯ КАПИТАНА БЛАДАостров СОКРОВИЩна краю ойкуменырайские пастбищачерный тюльпанСОДА-СОЛНЦЕРис. 7.22. Текстовые данные, подготовленные для импортаНа первом шаге мастер пытается определить формат текстовых данных.Поскольку мы заранее сформировали колонки, переключатель автоматическиустанавливается во второе положение: программа определила, что будет иметьдело с колонками «фиксированной ширины».
Поскольку это соответствует действительности, менять в окне ничего не надо (хотя теоретически есть и другиеварианты), и можно переходить к следующему шагу.текстаПредполагается, что данные имеют формат "фиксированной ширины". Если это не так,выберите подходящий формат данных.О £ разделителями - поля ра:делятотся запятыми или табуляцией(;.! ф-к с проминая щирина полей - интервалы заполняются пробеламиОбразцы данных и; файла; D;U АССЁ55гоо31ЛИТЕРДТУРД.ТХТ,11. Джек ЛондонИорской волк\'., Рафаэль СабатиниОДИССЕЯ КАПИТДНА БЛАДАЗ р . Роберт Луис СТИВЕНСОН ОСТРОВ СОКРОВИЩИван ЕфремовНа г.рък ойкумены5J5. Дкон СтейнбекРайские пастбища6|6.
Александр ДюмаЧерный тюльпан,—,Дополнительно....|__,Отмена|. . ; ; . ] Далее >I IГотовоРис. 7.23. Первый шаг мастера импортаНа втором шаге (рис. 7.24) у нас есть возможность изменить границы столбцов. В общем, программа сделала все правильно, но ошиблась в одном - здесьдолжно быть три столбца, а не четыре. Поэтому третий разделитель (чернаявертикальная стрелка) не нужен, его надо удалить, дважды щелкнув мышью.Книжная база данных (пример)порт текстаПредлагается следующее рааделение попей с дамны-и, Если предложения гтастера несоответствуют данным, настройте разделение попей вручную.Липни со стрелками отмечают песта разделения полей.Чтобы создать разделитель, щелкните нужное положение.Чтобы удалить разделителе дважды щелкните его.Чтобы переместить разделитель, перетащите его в нужное положение..4.г.'1жек ЛондонРафаэль СабатиниРоберт Луис СТИВЕНСОНИван ЕфремовДкон СтейнбекАлександр Дюмаlope ко и волкОДИССЕЯ КАПИТАНА Б ЛАД АОСТРОВ СОКРОВИЩНа краю ойкуменыРайские пастбищаЧерный тюльпан.'JРис.
7.24. Второй шаг мастера импортаНа третьем шаге мы укажем, что данные сохранятся в новой таблице. Добавлять данные в существующую таблицу нет смысла, это можно сделать и потом.На четвертом шаге можно определить имена будущих полей и их типы. Это немного напоминает работу с конструктором таблиц. У нас задача довольно простая, мы сделаем три поля, все текстовые, и назовем их Номер, Автор и Название. Напятом шаге мастер предлагает создать ключевое поле. Создадим его, это не повредит, а удалить его всегда будет можно. На последнем шаге назовем новую таблицу Литература. Она показана на рис.
7.25. Мы получили полноценнуютаблицу, а что делать с ней дальше, зависит от конкретной задачи. Можно, например, перенести эти данные в ТаблицаКниги с помощью запроса на добавление." Iff "Литература i таблицаКод»Номер1 1.22.33.44.55.6677.iАвторДжек ЛондонРафаэль СабатиниНазваниеСШШ ;ОДИССЕЯ КАПИТАНА БЛА/JAОСТРОВ СОКРОВИЩПеан ЕфремовНа краю ойкуменыДжон СтейнБекРайские пастбищаЧерный тюльпанАлександр ДюнаМихаил АНЧАРОВг.Морской волкРоберт Луне СТИВЕНСОН(Счетчик)Запись: QU « 1|СОДА-СОЛНЦЕV1 L4J4lJft*lm 7Рис. 7.25. Таблица после импорта данныхГлава 8ОтчетыВ отличие от форм, отчеты предназначены в основном для вывода на печать.Часто они включают много данных и занимают несколько страниц.
Но структурыотчетов и форм похожи, и многое из того, о чем рассказывалось в главе «Формы»,можно применять и для отчетов. Их создание также проходит в режиме конструктора. Можно, конечно, создавать отчеты и для просмотра на экране. В этой главемы рассмотрим различные способы создания отчетов, взяв в качестве источникаинформации базу данных «Борей».8.1. Быстрое создание автоотчетаПроще всего сделать отчет с помощью режима «Автоотчет». Access позволяетстроить автоотчеты (то есть отчеты, создаваемые автоматически) двух типов:«в столбец» и «ленточные».
Различие между ними ясно из их названий - в отчетах первого типа поля располагаются по вертикали, а в отчетах второго типа - погоризонтали. Для того чтобы построить автоотчет, достаточно нажать кнопкуСоздать на вкладке Отчеты, выбрать, к примеру, Автоотчет: ленточный и указать имя таблицы (к примеру, Заказано). Этот момент показан на рис. 8,1. Далеепрограмма будет работать самостоятельно.Фрагмент готового отчета, названного, как и таблица, Заказано, показан нарис.
8.2. Предполагается, что макетом отчета является страница (по умолчаниюформата А4), поэтому отчет формируется на прямоугольнике белого цвета, имитирующего бумажный лист. Обратите внимание, что в нижней части окна не указано количество страниц. На самом деле их может быть достаточно много.Увидеть число страниц можно в правом нижнем углу документа.В ленточном отчете в каждой строке выводится одна запись. У нас получилсяотчет потому, что в таблице Заказано всего пять полей. Если бы полей было много, лучше подошел бы отчет «в столбец». Получить хороший ленточный автоотчет можно только для таблицы или запроса, имеющих небольшое количествополей.Отчеты/."•Новый отчет•ААвтоматическое созданиеВыберите в качествеисточника данных таблицу ипизапрос:Комстр/кторМастер отчетовАвтоответ: в столбецйвтоотчет: ленточный;, i,Мастеэ дчагоаииПочтйвсв «вклейки'•if-,.-'.-Заказано--Рис.
8.1. Окно для создания автоотчета*•**»**>'.тай^.^^T^IwUЛ'ц;Заказано:, ' '"Код заказа ТоварЦена Katweatw140.0Qp.231024В Chartreuse «rte35.30fi.110248 •Jack'sNewEnglardaam CtioЭ8,СОр.1p1024Э CammbenPiem*345flap.41СС4Э MiihKobeNikij318flOp.51CG49 SirRndne/EMamalade1B5.COO.9Vj Страница: -4' \l i. О,*' J*>,Рис. 8.2. Фрагмент отчета8.2. Печать отчетаВо время вывода отчета на экран автоматически включается режим предварительного просмотра и выводится соответствующая панель инструментов. Подразумевается, что пользователь должен сразу приступить к подготовке печати.Кнопка Масштаб позволяет просмотреть страницу целиком, но в этом случаесимволы не будут различимы.
Все поля не уместились на одном листе, и одна запись таблицы будет выводиться на двух страницах. Кнопка Две страницы позволяет увидеть их одновременно. Пример макета страниц показан на рис. 8.3,Программа автоматически выбрала альбомную ориентацию листов, потому чтоиначе строки на листе не умещались.Глава 8184Рис. 8.3. Отчет ь режиме предварительного просмотраВозможно, отчет требуется напечатать, используя книжную ориентацию листов. Есть несколько возможностей для уменьшения ширины отчета.
Для началаможно, нажав кнопку Установка, изменить параметры страницы: ширину левогои правого полей (рис. 8.4). Их размеры взяты с запасом, и°можно установитьширину левого поля 20см, а правого - 10см. После этого можно на вкладке«страница» выбрать книжную ориентацию листов и проверить, будет ли текстотчета выходить за границы листа.Рис. 8.4. Окно для выбора параметров страницыОтчеты185Если этого недостаточно, можно попробовать изменить размер таблицы. Дляэтого надо:1. Создать копию таблицы (перетаскиванием ее значка при нажатой клавише Ctrl),2.
Проверить максимальную длину строк в текстовых полях. Необходимая дляэтого процедура описывается в главе 10.3. В режиме конструктора уменьшить длину полей. Если есть возможность, удалить ненужные или необязательные поля.4. Снова построить автоотчет на основе этой таблицы. Уменьшить ширину правого и левого поля страницы в окне параметров.Конечно, все эти меры хороши на один раз, если отчет нужен срочно. Поскольку мы работаем с копией таблицы, информация в ней быстро устареет, и придетсявсе повторять заново.Бывают и другие трудности. В отчет может входить информация из несколькихсвязанных таблиц. Чтобы узнать из каких, надо на вкладке Отчеты открыть контекстное меню значка отчета и выбрать команду Зависимости объектов. В нашемпримере отчет сделан на основе таблицы Заказано, но самое длинное поле отчетавыбирается из связанной таблицы Товары.
В этом случае целесообразно сделатьзапрос, включающий поля обеих таблиц, открыть его в режиме конструктора, с помощью инструмента Тип запроса преобразовать в таблицу и потом изменять размеры ее полей.В остальном отчеты распечатываются как обычные документы. Настройкапринтера дня печати отчетов осуществляется так же. как и для других программ,работающих под управлением Windows (с помощью команды Файл => Печать).8.3.