Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access работа с файлами

Как загрузить данные из текстового файла на VBA Access в базу MS SQL Server 2008

Иногда возникает необходимость загрузить данные именно из текстового файла в базу MSSql 2008, используя при этом VBA Access 2003, т.е. не просто разово загружать данные, а реализовать это так чтобы пользователь смог это делать сам, используя интерфейс клиента, а именно Access 2003. Поэтому сегодня мы рассмотрим один вариант, как можно загрузить данные из текстового файла в MSSql 2008, используя VBA Access.

И начать хотелось бы с того, что мы с Вами уже рассматривали примеры загрузки данных в базу MSSql 2008 через интерфейс Access, правда, из Excel файла, если Вы не читали то советую для начала прочитать вот этот материал «Access – Импорт данных в базу MSSql 2008». Также, если кого интересует, как можно выгрузить данные из базы MSSql 2008 используя интерфейс Access, причем не просто выгрузить, а выгрузить в шаблон Word или Excel то это мы рассматривали вот здесь «Выгрузка данных из Access в шаблон Word и Excel».

И так приступим, сперва давайте разберем исходные данные и обрисуем задачу, которую нам необходимо выполнить.

Задача — Загрузить данные в базу из текстового файла

Имеется клиент adp проект Access, работает в связке с MSSql 2008. Возникала необходимость загружать данные из текстового файла, который имеет специфическую структуру, например (данные конечно выдуманные)

Примечание! Для удобства я использую редактор текстовых файлов Notepad ++, его преимущества мы рассматривали в статье — Чем хорош Notepad++

Как видите текстовый файл необычный, но из него необходимо получить данные вида

Как Вы понимаете представить их в табличном виде. Т.е. «Начало» и «Конец» это граница строки.

И для начала необходимо создать таблицу, в которую Вы будете грузить наши данные, я создал таблицу test_import, вот код:

Далее напишем код на VBA, который будет загружать эти данные в том виде, в котором нам нужно. Для начала на форме создадим элемент управления «Кнопка», Вы же можете использовать свой интерфейс, это не принципиально, например

Далее в событие «Нажатие кнопки» вставьте следующий код (его, как обычно я подробно прокомментировал):

Код VBA для импорта данных из текстового файла

Вот и все, теперь сохраняете форму, открываете ее и нажимаете кнопку «Импорт» (как у меня) выбираете файл и данные уже в базе. Проверяете данные путем написания простого sql запроса (Основы языка SQL – оператор select):

Надеюсь, данный пример загрузки данных из текстового файл окажется полезным. Удачи в освоении программирования на VBA Access.

Заметка! Если Вас интересует SQL и T-SQL, рекомендую пройти наши курсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.

Access. Особенности работы в многопользовательском режиме.

После создания приложения Access оно покидает среду разработки и направляется для использования заказчиками. При этом могут возникнуть проблемы, связанные с работой этого приложения в многополь­зовательской среде. Наиболее серьезной из этих проблем является разрешение конфликтов, возникающих при одновременном обращении нескольких пользователей к записям базы данных Access.

Важно помнить, что работа с базой данных в многопользовательской среде может вызывать пробле­мы, связанные с блокировкой данных и конфликтами доступа к ним. Подавление сообщений об ошиб­ках, недостаточное внимание к подобным вопросам либо надежда на благоприятное стечение обстоятельств не решает проблему. Несмотря на кажущуюся сложность работы в многопользовательской среде, понять механизм действия блокировки данных и способ обслуживания механизмом Jet нескольких пользователей достаточно просто. Пренебрежение подобными вопросами, как правило, приводит к возникновению бо­лее сложных проблем, затрагивающих пользователей, клиентов и влияющих на репутацию разработчика. Если для приложения не предусмотрено эффективное решение вопросов работы в многопользовательской среде, при работе с ним неизбежно будут возникать следующие проблемы:

• Новые записи не сохраняются. После ввода информации пользователь обнаруживает, что в базе данных она не появилась. Если подобная ошибка не повторяется, это говорит не об отсутствии проблемы, а о ненадежности приложения.

• Изменения существующих записей не сохраняются. Пользователь может даже не заметить, что вне­сенные им изменения не сохранились. Однако в дальнейшем может оказаться, что либо таблица ито­говых данных отсутствует, либо в инвентарном списке слишком много элементов, или может случиться так, что заказ важного клиента будет отправлен по неверному адресу. Подобные серьез­ные проблемы вполне могут оказаться не выявленными вовремя. Как правило, от них страдают посторонние люди.

• Пользователи получают невразумительные сообщения о невозможности обеспечить доступ к данным. Хотя последствия подобного рода неприятностей не столь драматичны, как в предыдущих случаях, для пользователя будет сильным разочарованием необходимость работы с приложением, которое не может справиться даже с такой несложной проблемой.

Проблемы работы приложений Access в многопользовательской среде связаны не только с установкой и снятием блокировок записей. Поскольку такое приложение существует в виде единого файла и, по край­ней мере, часть его форм может быть непосредственно связана с данными, любой обзор проблем при­менения в многопользовательском режиме должен охватывать вопросы работы на уровне файла, аспекты конфигурирования, а также технологий разработки интерфейсов и свойств запросов и форм. Типичное приложение Access требует определенного сочетания различных приемов работы в распределенном режи­ме, поскольку в разных частях приложения подобные проблемы решаются различными способами.

Для обслуживания нескольких пользователей приложение Access необходимо на файловом уровне кон­фигурировать по-разному. Каждый способ имеет свои преимущества и недостатки, некоторые из них пе­речисляются ниже.

• Сетевое размещение. В данной конфигурации единый MDB-файл располагается на сетевом серве­ре, и пользователи получают доступ к базе данных при обращении к серверу. Данные и выполня­емые модули могут содержаться в едином MDB-файле либо размещаться на файловом сервере в виде нескольких отдельных файлов. Преимуществом данной конфигурации является простота поддержки, поскольку при необходимости в обновлении нуждается лишь выполняемый файл. Однако, поскольку все формы, отчеты, модули, запросы, ЕХЕ-файлы Access, а также все библиотеки DLL и т.п. должны передаваться по сети на рабочую станцию, сетевой трафик неоправданно возрастает, а производительность значительно снижается. Вероятно, в подобных конфигурациях следует исполь­зовать связанные формы. Далее рассматриваются проблемы связывания форм с данными и возни­кающие при этом конфликты доступа.

• Разделенная база данных с размещенными в сети данными. Такая конфигурация по традиции на­зывается конфигурацией удаленной базы данных (отметим, что значение слова «удаленная» в чрез­вычайно динамичную эпоху Internet постепенно меняется и вскоре может устареть), поскольку данные отделены от выполняемого модуля или программного кода, хотя механизм баз данных и остается локальным. В отличие от конфигурации клиент-сервер, механизм баз данных Access на пользовательском ПК получает, обрабатывает, блокирует и снимает блокировку с данных, находя­щихся в MDB-файле на сетевом сервере. Работа в такой конфигурации зависит от механизмов баз данных одновременно работающих пользователей, а также от возможностей файлового сервера, касающихся поддержания сетевого графика. До настоящего времени при размещении приложений баз данных Access предпочтение отдают именно этому методу. Его преимуществом является высо­кая производительность и управляемость при корректном использовании. Поскольку при размеще­нии данных в сети по каналам связи передаются только они, сетевой трафик значительно снижается. Основной недостаток данной конфигурации заключается в том, что на каждом клиентском ПК необходимо устанавливать Access и выполняемый MDE- (скомпилированный вариант базы данных MDB) либо MDB-файл, что осложняет поддержку приложения. Тем не менее, существуют спосо­бы решения подобной проблемы.

• Репликация. При использовании схемы репликации пользователи совместно обрабатывают данные, хотя данные на самом деле не являются общими, как это имеет место в схемах сетевого распре­деления или в разделенных базах данных. В схеме репликации каждый пользователь или небольшая группа пользователей имеет собственную копию данных, которые посредством механизма репликации Jet синхронизируются с другой базой или базами данных. Одно из преимуществ такой схемы, когда каждому пользователю предоставляется копия данных, состоит в полном исключении проблемы блокировки, но вместо них возникают проблемы репликации, степень сложности которых являет­ся практически такой же. Другим значительным преимуществом репликации является возможность асинхронного доступа к данным для отключенных от сети пользователей. Вместе с тем существует еще один недостаток такой схемы: при совместном использовании источника данных даже небольшой группой пользователей все же существует возможность возникновения как конфликтов доступа, так и проблем репликации.

Читать еще:  Как активировать майкрософт офис 2020 бесплатно

• Конфигурация клиент-сервер. В Access 2000 появилась новая возможность создания клиент-сервер­ных приложений на базе проекта Microsoft Access. В такой конфигурации удаленными являются как данные, так и механизм баз данных. Если данными управляет SQL Server, Oracle или какой-либо иной сервер баз данных, расположенный на центральном компьютере, он также решает вопросы блокировки и проблемы работы в многопользовательской среде. Это не означает, что разработчик избавлен от необходимости решения всех связанных с ними задач, просто ему приходится иметь дело с иными наборами свойств, возможностей и правил. Основными преимуществами такой конфигу­рации являются высокая производительность, стабильность, возможность обслуживания большого количества пользователей и выполнения множества задач. Наибольший недостаток данной конфи­гурации состоит в высокой стоимости и значительной сложности.

В данной главе рассматриваются вопросы, которые являются общими для сетевых конфигураций: схе­мы разделенной базы данных и реализации архитектуры клиент-сервер. О репликации рассказывается в главе 22.

При использовании Access существует ряд установок на уровне базы данных (для форм, запросов, наборов записей) и на уровне выполняемого кода, которые требуют взаимного координирования в це­лях обеспечения надежного обслуживания приложением нескольких пользователей. В различных частях приложения представлены почти все обсуждаемые в главе темы. Как для разных приложений, так и в пределах одной программы возможно применение разных технологий, а также их комбинаций. Основой организации работы в многопользовательской среде является планирование, прогнозирование и тестирование.

Access и способы блокировки в Jet

Механизм Jet имеет схему блокировки, которая позволяет эффективно обслуживать несколько пользо­вателей. При использовании Jet с Access, а не с VB или каким-либо иным инструментом разработки необходимо учитывать, что некоторые действия выполняются по умолчанию. Данный раздел посвящен изучению этих вопросов.

Основные сведения о блокировке

Перед использованием приложения многопользовательской базы данных его следует разместить таким образом, чтобы пользователи имели к нему доступ, а также настроить для совместного использования. Существует несколько способов достижения этой цели.

В диалоговом окне Options (Параметры), отображающемся при выполнении команд меню Tools Options (Сервис / Параметры), во вкладке Advanced (Другие) имеется параметр Default open mode (Режим откры­тия, определенный по умолчанию). Здесь можно определить режим открытия базы данных, т.е. должна ли она открываться для монопольного доступа (только для одного пользователя на весь сеанс работы) или для общего доступа.

Если выбран режим Exclusive (монопольный доступ), базу данных имеет право открывать только один пользователь. В этом случае Access изменяет заголовок LDB-файла, тем самым блокируя его (подробнее об этом см. в разделе «LDB-файл») и запрещая доступ к данным для всех других пользователей. Очевид­но, для многопользовательского приложения такая настройка использоваться не должна. Однако такие процедуры, как сжатие и восстановление, следует выполнять над базой данных, открытой для монополь­ного доступа.

Режим Shared (Общий доступ) позволяет открывать базу данных нескольким пользователям одновре­менно. При этом Access в момент открытия базы данных заносит информацию о подключившихся к ней пользователях в LDB-файл и задействует механизм блокировки и освобождения страниц и строк.

Эти и другие параметры можно задавать в командной строке во время запуска приложения Access. Некоторые из них перечислены в табл. 1.

Таблица 1 Параметры командной строки при запуске Access

Создание и наполнение баз данных в Microsoft Access

Основным предназначением этой программы является создание и работа с базами данных, которые могут быть подвязаны как под мелкие проекты, так и под крупный бизнес. С её помощью вам будет удобно управлять данными, редактировать и хранить информацию.

Приложение пакета Microsoft Office – Access – служит для работы с базами данных

Создание новой базы данных

Естественно, перед началом работы вам потребуется создать или открыть уже существующую базу данных.

Откройте программу и перейдите в главное меню, нажав на команду «Файл», а там выберите пункт «Создать». Создавая новую базу, вам на выбор будет представлена пустая страница, которая будет иметь в себе одну таблицу либо же веб-база данных, позволяющая вам пользоваться встроенными инструментами программы для, например, ваших публикаций в интернете.

Кроме того, для максимального упрощения создания новой базы, пользователю на выбор предоставлены шаблоны, позволяющие создать базу, ориентированную на конкретную задачу. Это, между прочим, может помочь вам быстро создать необходимую форму таблицу, не настраивая всё вручную.

Наполнение базы данных информацией

Создав базу, необходимо её заполнить соответствующей информацией, структуру которой стоит заранее продумать, ведь функциональность программы позволяет оформлять данные в нескольких формах:

  1. Сейчас самым удобным и распространённым видом структуризации информации является таблица. По своим возможностям и виду, таблицы в Access не сильно отличаются от таких же в Excel, что, в свою очередь, значительно упрощает перенос данных из одной программы в другую.
  2. Вторым способом внесения информации являются формы, они чем-то похожи на таблицы, однако, обеспечивают более наглядное отображение данных.
  3. Для подсчёта и вывода информации из вашей базы предусмотрены отчёты, которые позволят вам проанализировать и высчитать, например, ваши доходы или количество контрагентов, с которыми вы работаете. Они очень гибки и позволяют производить любые расчёты, в зависимости от внесённых данных.
  4. Получение и сортировка новых данных в программе осуществляется посредством запросов. С их помощью вы сможете найти определённые данные среди нескольких таблиц, а также создать или обновить данные.

Все вышеперечисленные функции находятся в панели инструментов, во вкладке «Создание». Там вы можете выбрать какой именно элемент желаете создать, а затем, в открывшемся «Конструкторе», настроить его под себя.

Создание базы данных и импортирование информации

Создав новую базу данных, единственным, что вы увидите, будет пустая таблица. Вы можете заняться её заполнением вручную либо наполнить копируя необходимую информацию из интернета. Обратите внимания, что каждая внесённая вами часть информации должна быть размещена в отдельной колонке, а каждая запись иметь личную строку. Кстати, колонки можно переименовать, чтобы лучше ориентироваться в их содержимом.

Если же вся необходимая вам информация находится в другой программе или источнике, программа позволяет настроить импортирование данных.

Все настройки импортирования находятся в отдельно вынесенной в панель управления вкладке, которая называется «Внешние данные». Здесь, в области «Импорт и связи», перечислены доступные форматы, среди которых документы Excel, Access, текстовые и XML-файлы, интернет-страницы, папки Outlook и т. д. Выбрав необходимый формат, с которого будет перенесена информация, вам потребуется указать путь к месторасположению файла. Если же она размещена на каком-либо сервере, программа потребует от вас ввести адрес сервера. По мере импорта вы столкнётесь с различными настройками, которые предназначены для корректного переноса данных в Access. Следуйте инструкциям программы.

Основные ключи и взаимосвязи таблиц

При создании таблицы, программа автоматически наделяет каждую запись уникальным ключом. По умолчанию в ней есть колонка имён, которая расширяется, по мере внесения новых данных. Именно эта колонка и является первичным ключом. Помимо таких, основных ключей, база данных также может содержать поля, связанные с информацией, содержащейся в другой таблице.

Например, у вас есть две таблицы, содержащие взаимосвязанную информацию. К примеру, они называются «День» и «План». Выбрав в первой таблице поле «понедельник», вы сможете связать его с каким-либо полем в таблице «План» и при наведении курсора на одно из этих полей, вы увидите информацию и связанные ячейки.

Подобные взаимосвязи облегчат читаемость вашей базы данных и наверняка увеличат её удобство и эффективность.

Чтобы создать взаимосвязь, перейдите во вкладку «Работа с базами данных» и в области «Отношения» выберите кнопку «Схема данных». В появившемся окне вы увидите все обрабатываемые базы данных. Следует обратить ваше внимание на то, что в базах данных должны быть специальные поля, предназначенные для внешних ключей. На нашем примере, если во второй таблице вы хотите отобразить день недели или число, оставьте пустое поле, назвав его «День». Также настройте формат полей, т. к. он должен быть одинаков для обеих таблиц.

Читать еще:  Активация офис 2020 профессиональный плюс

Затем, открыв две таблицы, перетащите поле, которое вы хотите связать, в специально приготовленное поле для внешнего ключа. Появится окно «Изменение связей», в котором вы увидите отдельно выделенные поля. Чтобы обеспечить изменение данных в обеих связанных полях и таблицах, поставьте галочку напротив пункта «Обеспечение целостности данных».

Создание и виды запросов

Запрос является действием в программе, благодаря которому пользователь может редактировать или вносить информацию в базу данных. Фактически запросы делятся на 2 вида:

  1. Выборный запросы, благодаря которым программа достаёт определённую информацию и делает по ней расчёты.
  2. Запросы действия, добавляющие информацию в базу либо удаляющие её.

Выбрав «Мастер запросов» во вкладке «Создание», программа проведёт процесс создания определённого типа запроса. Следуйте инструкциям.

Запросы могут значительно помочь вам упорядочить данные и всегда обращаться к конкретной информации.

Например, вы можете создать выборный запрос по определённым параметрам. Если вы хотите увидеть информацию по конкретной дате или дню таблицы «День» за весь промежуток времени, вы можете настроить подобный запрос. Выберите пункт «Конструктор запросов», а в нём нужную вам таблицу. По умолчанию запрос будет выборным, это становится понятным, если глянуть на панель инструментов с выделенной там кнопкой «Выборка». Для того чтобы программа искала именно ту дату или день, который вам нужен, найдите строку «Условие отбора» и введите туда фразу [какой день?]. Запомните, запрос должен быть помещён в квадратные дужки [] и заканчиваться на знак вопроса либо на двоеточие.

Это лишь один из вариантов использования запросов. На самом деле, с их помощью также можно создавать новые таблицы, отбирать данные по критериям и т. д.

Настройка и использование форм

Благодаря применению форм, пользователь сможет легко просматривать сведения по каждому полю и переключаться между существующими записями. При длительных вводах информации использование форм упрощает работу с данными.

Откройте вкладку «Создание» и найдите пункт «Форма», нажав на который появится стандартная форма, основанная на данных вашей таблицы. Появившиеся поля с информацией подвергаются всяческим изменениям, включая высоту, ширину и т. д. Обратите внимание, что если в приведённой таблице присутствуют взаимосвязи, вы увидите их и сможете перенастроить в этом же окне. В нижней части программы вы увидите стрелки, которые позволят последовательно открывать каждый столбец вашей таблицы либо же сразу переместиться на первый и последний. Теперь каждая из них является отдельной записью, поля которой вы можете настроить, кликнув мышью на кнопку «Добавить поля». Изменённые и внесённые таким образом сведения отобразятся в таблице и во всех присоединённых к ней таблицах. После настройки форма, необходимо сохранить её, нажав комбинацию клавиш «Ctrl+S».

Создание отчёта

Основным предназначением отчётов является предоставлению пользователю общей сводки по таблице. Отчёт можно создать абсолютно любой, в зависимости от данных.

Программа даёт вам выбрать тип отчёта, предоставив несколько на выбор:

  1. Отчёт — будет создан автоотчёт, использующий всю предоставленную в таблице информацию, однако, данные не будут сгруппированы.
  2. Пустой отчёт — не заполненная форма, данные для которой вы сможете выбрать сами из необходимых полей.
  3. Мастер отчётов — поможет вам пройти процесс создания отчёта и проведёт группирование и форматирование данных.

В пустой отчёт вы можете добавить, удалить или редактировать поля, наполняя их необходимой информацией, создавать специальные группы, которые помогут отделить определённые данные от остальных и многое другое.

Выше приведены все азы, которые помогут вам справится и настроить под себя программу Access, однако, её функциональность достаточно широка и предусматривает более тонкую настройку рассмотренных здесь функций.

Работа с файлами

Для удобства обращения информация в запоминающих устройствах хранится в виде файлов.

Файл – именованная область внешней памяти, выделенная для хранения массива данных. Данные, содержащиеся в файлах, имеют самый разнообразный характер: программы на алгоритмическом или машинном языке; исходные данные для работы программ или результаты выполнения программ; произвольные тексты; графические изображения и т. п.

Каталог ( папка , директория ) – именованная совокупность байтов на носителе информации, содержащая название подкаталогов и файлов, используется в файловой системе для упрощения организации файлов.

Файловой системой называется функциональная часть операционной системы, обеспечивающая выполнение операций над файлами. Примерами файловых систем являются FAT (FAT – File Allocation Table, таблица размещения файлов), NTFS, UDF (используется на компакт-дисках).

Существуют три основные версии FAT: FAT12, FAT16 и FAT32. Они отличаются разрядностью записей в дисковой структуре, т.е. количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет (до 4 кбайт), FAT16 – для дисков малого объёма, FAT32 – для FLASH-накопителей большой емкости (до 32 Гбайт).

Рассмотрим структуру файловой системы на примере FAT32.

Файловая структура FAT32

Устройства внешней памяти в системе FAT32 имеют не байтовую, а блочную адресацию. Запись информации в устройство внешней памяти осуществляется блоками или секторами.

Сектор – минимальная адресуемая единица хранения информации на внешних запоминающих устройствах. Как правило, размер сектора фиксирован и составляет 512 байт. Для увеличения адресного пространства устройств внешней памяти сектора объединяют в группы, называемые кластерами.

Кластер – объединение нескольких секторов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами. Основным свойством кластера является его размер, измеряемый в количестве секторов или количестве байт.

Файловая система FAT32 имеет следующую структуру.

Нумерация кластеров, используемых для записи файлов, ведется с 2. Как правило, кластер №2 используется корневым каталогом, а начиная с кластера №3 хранится массив данных. Сектора, используемые для хранения информации, представленной выше корневого каталога, в кластеры не объединяются.
Минимальный размер файла, занимаемый на диске, соответствует 1 кластеру.

Загрузочный сектор начинается следующей информацией:

  • EB 58 90 – безусловный переход и сигнатура;
  • 4D 53 44 4F 53 35 2E 30 MSDOS5.0;
  • 00 02 – количество байт в секторе (обычно 512);
  • 1 байт – количество секторов в кластере;
  • 2 байта – количество резервных секторов.

Кроме того, загрузочный сектор содержит следующую важную информацию:

  • 0x10 (1 байт) – количество таблиц FAT (обычно 2);
  • 0x20 (4 байта) – количество секторов на диске;
  • 0x2С (4 байта) – номер кластера корневого каталога;
  • 0x47 (11 байт) – метка тома;
  • 0x1FE (2 байта) – сигнатура загрузочного сектора ( 55 AA ).

Сектор информации файловой системы содержит:

  • 0x00 (4 байта) – сигнатура ( 52 52 61 41 );
  • 0x1E4 (4 байта) – сигнатура ( 72 72 41 61 );
  • 0x1E8 (4 байта) – количество свободных кластеров, -1 если не известно;
  • 0x1EС (4 байта) – номер последнего записанного кластера;
  • 0x1FE (2 байта) – сигнатура ( 55 AA ).

Таблица FAT содержит информацию о состоянии каждого кластера на диске. Младшие 2 байт таблицы FAT хранят F8 FF FF 0F FF FF FF FF (что соответствует состоянию кластеров 0 и 1, физически отсутствующих). Далее состояние каждого кластера содержит номер кластера, в котором продолжается текущий файл или следующую информацию:

  • 00 00 00 00 – кластер свободен;
  • FF FF FF 0F – конец текущего файла.

Корневой каталог содержит набор 32-битных записей информации о каждом файле, содержащих следующую информацию:

  • 8 байт – имя файла;
  • 3 байта – расширение файла;

Корневой каталог содержит набор 32-битных записей информации о каждом файле, содержащих следующую информацию:

  • 8 байт – имя файла;
  • 3 байта – расширение файла;
  • 1 байт – атрибут файла:
  • 1 байт – зарезервирован;
  • 1 байт – время создания (миллисекунды) (число от 0 до 199);
  • 2 байта – время создания (с точностью до 2с):
  • 2 байта – дата создания:
  • 2 байта – дата последнего доступа;
  • 2 байта – старшие 2 байта начального кластера;
  • 2 байта – время последней модификации;
  • 2 байта – дата последней модификации;
  • 2 байта – младшие 2 байта начального кластера;
  • 4 байта – размер файла (в байтах).

В случае работы с длинными именами файлов (включая русские имена) кодировка имени файла производится в системе кодировки UTF-16. При этого для кодирования каждого символа отводится 2 байта. При этом имя файла записывается в виде следующей структуры:

  • 1 байт последовательности;
  • 10 байт содержат младшие 5 символов имени файла;
  • 1 байт атрибут;
  • 1 байт резервный;
  • 1 байт – контрольная сумма имени DOS;
  • 12 байт содержат младшие 3 символа имени файла;
  • 2 байта – номер первого кластера;
  • остальные символы длинного имени.
Читать еще:  Офис дня на юнистар

Далее следует запись, включающая имя файла в формате 8.3 в обычном формате.

Работа с файлами в языке Си

Для программиста открытый файл представляется как последовательность считываемых или записываемых данных. При открытии файла с ним связывается поток ввода-вывода . Выводимая информация записывается в поток, вводимая информация считывается из потока.

Когда поток открывается для ввода-вывода, он связывается со стандартной структурой типа FILE , которая определена в stdio.h . Структура FILE содержит необходимую информацию о файле.

Открытие файла осуществляется с помощью функции fopen() , которая возвращает указатель на структуру типа FILE , который можно использовать для последующих операций с файлом.

  • «r» — открыть файл для чтения (файл должен существовать);
  • «w» — открыть пустой файл для записи; если файл существует, то его содержимое теряется;
  • «a» — открыть файл для записи в конец (для добавления); файл создается, если он не существует;
  • «r+» — открыть файл для чтения и записи (файл должен существовать);
  • «w+» — открыть пустой файл для чтения и записи; если файл существует, то его содержимое теряется;
  • «a+» — открыть файл для чтения и дополнения, если файл не существует, то он создаётся.

Возвращаемое значение — указатель на открытый поток. Если обнаружена ошибка, то возвращается значение NULL .

Функция fclose() закрывает поток или потоки, связанные с открытыми при помощи функции fopen() файлами. Закрываемый поток определяется аргументом функции fclose() .

Возвращаемое значение: значение 0, если поток успешно закрыт; константа EOF , если произошла ошибка.

Чтение символа из файла:


Аргументом функции является указатель на поток типа FILE . Функция возвращает код считанного символа. Если достигнут конец файла или возникла ошибка, возвращается константа EOF .

Запись символа в файл:

Аргументами функции являются символ и указатель на поток типа FILE . Функция возвращает код считанного символа.

Функции fscanf() и fprintf() аналогичны функциям scanf() и printf() , но работают с файлами данных, и имеют первый аргумент — указатель на файл.

Функции fgets() и fputs() предназначены для ввода-вывода строк, они являются аналогами функций gets() и puts() для работы с файлами.


Символы читаются из потока до тех пор, пока не будет прочитан символ новой строки ‘n’ , который включается в строку, или пока не наступит конец потока EOF или не будет прочитано максимальное количество символов. Результат помещается в указатель на строку и заканчивается нуль- символом ‘’ . Функция возвращает адрес строки.

Результат выполнения — 2 файла

Работа с файлами в C++ описана здесь.

Методическое пособие по информатике на тему «Основы работы в СУБД Access 2010»

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Тема: Основы работы в СУБД Microsoft Access 2010

Цель: Познакомить с основными понятиями. Сделать постановку задачи для изучения A ccess . Создать контрольный пример в ручном варианте по заданной задаче.

Материал для изучения

База данных (в широком смысле) – совокупность сведений о конкретных объектах в какой-либо предметной области.

Система управления базами данных (СУБД) – комплекс программных и языковых средств для создания баз данных, поддержки их в актуальном состоянии и организации поиска в них необходимой информации.

В СУБД поддерживаются различные модели данных (Реляционные, Иерархические, Сетевые)

В СУБД для персональных компьютеров поддерживается преимущественно реляционная модель базы данных. Все данные в реляционной БД представлены в виде двумерных таблиц. Каждая строка таблицы содержит информацию только об одном объекте и называется записью. Столбец таблицы содержит однотипную для всех записей информацию и называется полем.

В таблицах должны сохранять все данные, необходимые для решения задач предметной области. Причем каждый элемент данных должен храниться только в одном экземпляре.

Для однозначного определения (идентификации) каждой записи таблица должна иметь уникальный (первичный) ключ. По значению ключа таблицы отыскивается единственная запись в таблице. Значение уникального ключа не может повторяться в нескольких записях. Ключ может быть простым — состоять из одного поля и составным – состоять из двух и более полей.

Самая популярная на данном этапе СУБД Microsoft A ccess . Как все СУБД для компьютеров – это реляционная база данных.

База данных в Microsoft A ccess – это файл, который служит для хранения данных об объектах в СУБД. Обычно создается для одной конкретной прикладной задачи.

Основные объекты базы данных: таблицы, схема данных, формы, запросы, отчёты, страницы, макросы, модули.

С последними тремя объектами работают программисты.

Страницы доступа к данным являются диалоговыми Web -страницами, которые поддерживают динамическую связь с базой данных и позволяют просматривать , редактировать и вводить в базу данных, работая в окне браузера.

Макросы позволяют автоматизировать некоторые действия в приложении пользователя. Макрос является программой, состоящей из последовательности макрокоманд, которая выполняется при наступлении некоторого события в объекте приложения или его элементе управления. Создание макросов осуществляется в диалоговом режиме путем выбора нужных макрокоманд и задания параметров, используемых ими при выполнении.

Модули содержат процедуры на языке Visual Basic for Applications .

Таблицы — это объекты, предназначенные для хранения данных в виде записей (строк) и полей (столбцов). Обычно каждая таблица используется для хранения сведений по одному конкретному вопросу.

Форма — это объект, предназначенный для ввода данных. В форме можно разместить элементы управления, применяемые для ввода и изменения данных в полях таблицы.

Запрос — это объект, позволяющий получить нужные данные из одной или нескольких таблиц.

Отчет — это объект, предназначенный для печати данных.

Для запуска СУБД A ccess выполняют

Пуск Программы – MS Office 2010 – Microsoft Access

После этого появляется окно, в котором вы открываете имеющеюся или создаете новую базу данных.

Создание базы данных на рисунке. Здесь мы определяем, где будет храниться наша база данных, имя базы данных.

Меню содержит основные пункты (вкладки):

файл – работа с файлами (открытие, сохранение, создание, печать),

главная — режимы открытия объектов, работа с буфером обмена, оформление текста и т.д

создание – создание объектов базы данных разными способами

внешние данные – импорт – экспорт данных,

работа с базами данных – сервисные возможности, связи и анализ данных и т.д.

Дополнительные пункты меню (вкладки) меняются в зависимости от выбранного объекта базы данных.

Надо отметить особенность работы в СУБД A ccess , что база данных и все ее объекты автоматически сохраняются и хранятся в одном файле. Файл создается на этапе создания базы данных и имеет расширение mdb (для ACCESS 95, XP ) и accdb (для ACCESS от 2007).

После чего открывается окно, в левой части которого представлен список всех типов объектов, которые могут создаваться в базе данных A ccess (таблицы, формы, запросы, отчеты и т.д.). Рабочее поле окна базы данных предназначено для работы с открытыми объектами в режиме просмотра или редактирования. Основные режимы создания объекта – конструирование и с помощью мастера.

В верхней части окна представлен ряд кнопок, имеющих указанное ниже назначение.

Открыть – позволяет открыть выделенный объект.

Просмотреть – позволяет просмотреть выбранный отчет.

Запустить – позволяет запустить на выполнение выбранный макрос или модуль.

Конструктор – позволяет перейти в режим доработки любого ранее созданного объекта.

Создать — позволяет приступить к созданию нового объекта любого выбранного типа.

Для изучения темы мы рассмотрим задачу об учебном процессе.

В базе данных Успеваемость хранится информация о зимней сессии для трех групп по пяти предметам. В каждой группе по 5 человек. Необходимо выдать ведомости сдачи экзаменов для каждой группы с подсчетом среднего балла по предмету; выдать страницу зачетной книжки для каждого студента с подсчетом среднего балла для начисления стипендии.

Для решения задачи необходимо создать и заполнить базу данных Успеваемость. Она будет состоять из следующих таблиц: Студент, Предмет, Ведомость.

Например, в таблицах будут храниться следующие данные:

Ссылка на основную публикацию
Adblock
detector