Управление данными с помощью Access или Excel. В access из excel


умный импорт из Excel листа в таблицу Access

Excel: умный импорт из Excel листа в таблицу Access

Всем привет, помогите разобраться с нижеизложенным.

Что Дано:Есть книга Excel "C:\Data\test.xls". В этой книге есть лист "output", с таблицей данных (первая строка - название полей).Есть база Access "C:\Data\myData.mdb.xls". В этой базе есть таблица "test" с данными.

Что надо сделать:Необходимо создать макрос в Excel, который бы вставлял данные из листа output, в таблицу "test", причем если в таблице "test" есть уже такие данные (определяется по трем ключевым полям), то их необходимо заменить. Т.е. не должно быть дублированых записей в таблице "test". Этим макросом я буду пополнять ежедневно данные в таблице "test", либо заменять уже существующие (на верные или скорректированные).

В чем проблема:Я не знаю как создать таблицу (объект?) с дынными из Excel, что бы:a. проверить есть ли такие же записи в таблице "test" (если есть, то удалить их из "test" и залить заново)b. Вставить их в access.

Все это я буду делать (уже делаю) через ADO. Сейчас копаюсь в книгах и инете - не нашел примеров создания таблицы (recordset'а) в Excel, копированием/выделением/селектом диапазона ячеек. Помогите пожалуйста, горит.

'=======================================================================

Решать такую задачу со стороны Excel сложнее чем из Access, в котором достаточно выполнить два запроса, один на обновление второй на добавление.В Вашем варианте можно сделать следующее:создать рекордсет ADO в Excel, заполнить его данными из листа "output", открыть рекордсет с набором записей таблицы "test"фильтром и перебором всех записей произвести сравнение, для редактирования или добавления записей.Все эти процедуры и библиотека ADO должны присутствовать в проекте VBA файла xls.Евгений.

'=======================================================================

Получается последовательность такая:1создать рекордсет ADO в Excel, 2заполнить его данными из листа "output", 22 Подконнектится 3открыть рекордсет с набором записей таблицы "test"4фильтром и перебором всех записей произвести сравнение, для редактирования или добавления записей.

Как раз проблема с пп. 1 и 2 - я не знаю что прописать.

1.

Код :

Dim xlsRecordSet as ADODB.Recordset

Set xlsRecordSet=New ADOD.Recordset

???

2. ???22.

Код :

Const ConnectionString As String = _

      "Provider = Microsoft.Jet.OLEDB.4.0;" + _

      "Data Source = C:\Data\myData.mdb;Persist Security Info=False"

     

Dim Connection As ADODB.Connection

 

Set Connection = New ADODB.Connection

Connection.ConnectionString = ConnectionString

 

If Connection.State = ObjectStateEnum.adStateOpen Then objConn.Close

    Connection.Open

End If

 

'....

 

 

If Connection.State = ObjectStateEnum.adStateOpen Then objConn.Close

    Connection.Close

End If

3....

4....

'=======================================================================

Как рекордсет создается и заполняется Вы можете посмотреть в коде.Также его можно сортировать и передавать в массив (это для примера).

Код :

Sub SortRecordset()

  Dim rs As Object, i%, V()

  Set rs = CreateObject("ADODB.Recordset")'создание рекордсета

  rs.Fields.Append "Fld", 200, 255 ' добавление поля в рекордсет

  rs.Open 'открываем рекордсет

  rs.AddNew 'добавление записи в реккордсет

  rs(0) = "Text" 'ввод данных

  rs.Update 'сохранение

  rs.Sort = "Fld" 'имя поля сортировки  "Fld desk" - по убыванию

  V = rs.GetRows 'при необходимости передаем все содержимое рекордсета в массив

  rs.Close ' закрываем рекордсет

  Set rs = Nothing ' очищаем переменную для освобождения памяти

End Sub

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

'=======================================================================В цикле перебора набора записей, создается строчная переменная содержащая значение поля рекордсета

Код :

...

rs.MoveFirst

Do Until rs.EOF

   sSql = "INSERT INTO Table1 ( Fld1 )  SELECT '" & rs(1) & "'" 'текст момещается в апострофы

   Execute.sSql '

   rs.MoveNext

Loop

...

примерно так.

'=======================================================================

'=======================================================================

webhamster.ru

Из Excel в Access - быстро!

На днях участник Djubocco сетовал в соседней теме http://www.excelworld.ru/forum/17-4539-182810-16-1460047613 , что его процедура перемещает 50 тыс. строк из Excel в Access за дикое количество времени, кажется, 167 минут?

Я не успел откликнуться, а тема уже оказалось закрытой... А товарищ Djubocco чего-то замолчал... Но мой альтруистический порыв оказался сильнее - надо ж выручить человека! - поэтому сам возобновлю разговор.

Использование библиотеки ADO в данном случае не очень удачный выбор. В Access существуют собственные, гораздо более эффективные средства экспорта/импорта.

Вот код, исполняемый в Access, которым я сегодня за 2 минуты "всосал" xlsx-файл размером 18 мегайт, содержащий 400 тыс.строк х 11 столбцов:

Sub fastImport()    Access.Application.DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Лист1", "C:\...\...\MyFile.xlsx", TrueEnd Sub

"Access.Application" указываю, чтобы было понятно, к чему привязываться, если код будет запускаться извне (из Excel или еще откуда). Внутри Access достаточно начать этот оператор с "DoCmd".

У меня аналогичный пример 12 столбцов, 400000 строк, вес файла Excel 33 мегабайта плюс вставка данных в существующую таблицу занял порядка 97 секунд. Office 2016, 64bit.Но. И с ADODB не всё так плохо, кодом из Excel вставилось тоже самое в существующую таблицу в Access за 301 секунду

Public Sub InsertToTable()    Const lastRow = 400000, lastCol = 12    Dim pCon As New ADODB.Connection, pRSet As New ADODB.Recordset, vData As Variant    Dim k As Long, t As Single, i As Long    t = Timer: k = 0    pCon.CursorLocation = adUseClient    pCon.Open "DBQ=c:\Projects\Database2 min.accdb;Driver={Microsoft Access Driver (*.mdb, *.accdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;ReadOnly=0;ExtendedAnsiSQL=1;"    pRSet.CursorLocation = adUseClient: pRSet.CursorType = adOpenStatic    pRSet.Open "Select * From forImport Where FLong1 Is Null", pCon, adOpenStatic, adLockOptimistic    vData = Range("A2").Resize(lastRow, lastCol).Value    pCon.BeginTrans    For i = 1 To lastRow        k = k + 1        If (k Mod 10000) = 0 Then Debug.Print k: DoEvents        pRSet.AddNew        pRSet(0).Value = vData(i, 1)        pRSet(1).Value = vData(i, 2)        pRSet(2).Value = vData(i, 3)        pRSet(3).Value = vData(i, 4)        pRSet(4).Value = vData(i, 5)        pRSet(5).Value = vData(i, 6)        '        pRSet(6).Value = vData(i, 7)        pRSet(7).Value = vData(i, 8)        pRSet(8).Value = vData(i, 9)        pRSet(9).Value = vData(i, 10)        pRSet(10).Value = vData(i, 11)        pRSet(11).Value = vData(i, 12)    Next    pRSet.UpdateBatch: pCon.CommitTrans    pRSet.Close: pCon.Close    MsgBox Timer - tEnd Sub

Так что у автора закрытого топика скорее всего были индексы в таблице Access, что и приводило к таким "тормозам".

если из экселя запустим, то как эксель узнает куда экспортировать, ну там имя базы, таблицы?

Ну, естественно, нужна предварительная подготовка. Типа CreateObject("Access.Application"), OpenDatabase и т.д. Просто открыть файл MDB или новый и писать в него (как в случае с ADO) - недостаточно, т.к. объект DoCmd доступен только в экземпляре Access.

P.S. Примерно такая минимальная болванка:

Sub runAccess()    Set acApp = CreateObject("Access.Application")    acApp.OpenCurrentDatabase strFileName        Set acDoCmd = acApp.DoCmd    acDoCmd.TransferSpreadsheet 0, 9, "Лист1", "C:\...\...\MyFile.xlsx", True        acApp.QuitEnd Sub

webhamster.ru

Видео. Копирование данных из Excel

Воспользуйтесь улучшенными функциями редактирования, эффективными запросами и полезными функциями отчетов в Access, скопировав данные из электронной таблицы Excel. Данные можно вставить в существующую или в новую пустую таблицу.

Чтобы копирование данных прошло без проблем, они должны быть согласованы и правильно структурированы.

Очистка данных
  • Все данные в столбце должны быть одного типа и иметь одинаковый формат. Например, все номера телефонов должны включать код города, но не префикс страны, все адреса должны включать название города и области или края, но не название страны, а все цены должны включать копейки, даже если цена равна 0,00.

  • Удалите все подзаголовки, строки итогов и примечаний, а также пустые строки.

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

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

    Совет: Для каждого отдельного элемента информации рекомендуется использовать собственный столбец. Например, разнесите по разным столбцам имя и фамилию либо, если указывается адрес, название улицы и номер дома, город, область или край и почтовый индекс.

Добавление данных Excel в новую таблицу
  1. Выделите и скопируйте в Excel данные, которые нужно добавить в таблицу.

  2. В Access на вкладке Главная нажмите кнопку Вставить.

  3. Чтобы указать, содержит ли первая строка заголовки столбцов, выберите Да или Нет.

  4. При необходимости переименуйте таблицу и поля.

Добавление данных Excel в существующую таблицу
  1. Выделите и скопируйте в Excel данные, которые нужно добавить в таблицу.

  2. В приложении Access откройте таблицу, в которую нужно вставить данные.

  3. В конце таблицы выберите пустую строку.

  4. На вкладке Главная нажмите кнопку Вставить и выберите пункт Добавить следующую.

При копировании данных Excel в базу данных Access исходные данные в Excel не изменяются.

Вам нужны дополнительные возможности?

Видеоролик: перемещение данных из Excel в Access

Обучение работе с Excel

Обучение работе с Outlook

Возможно, вы храните в Excel списки данных, например контактов.

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

Один из вариантов — просто скопировать данные Excel и вставить их в Access — в существующую или в новую таблицу. Вот как это сделать.

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

Данные в каждом столбце должны быть одного типа, например текстового или числового.

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

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

Чтобы обеспечить соответствие, может потребоваться добавить пустые столбцы в том или ином месте электронной таблицы Excel.

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

Например, желательно разделить имена и фамилии на отдельные столбцы.

Точно так же будет лучше поступить и с адресами.

Когда данные будут готовы, выделите их

и скопируйте в буфер обмена.

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

Если копируемые данные содержат заголовки столбцов, выберите Да. В противном случае выберите Нет.

Таблица будет создана в Access, и вы можете приступать к работе с ней.

Если вы добавляете данные в существующую таблицу, дважды щелкните ее в Access.

В конце таблицы щелкните звездочку в пустой строке, чтобы выделить ее, а затем на вкладке «Главная» щелкните стрелку вниз под кнопкой «Вставить» и выберите пункт Добавить следующую.

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

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

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

Вставив данные, вы можете начинать работать с ними в Access. Так как данные копируются, исходные данные в Excel не изменяются.

support.office.com

Импорт Excel таблиц в Access (VBA) Из Access

Вопрос следующий: в Access импортируются таблицы Excel с помощью обычного SELECT'a из листа -

INSERT INTO (Поля Access) SELECT Поля Excel FROM [Excel 12.0 xml;HDR=Yes;IMEX=1;DATABASE=" & currentFilePath & "]

Проблемы возникают, когда в Excel файле попадаются столбцы с нестандартными именами, содержащими в себе, например, точки.Каким образом можно перед импортом открыть файл, c помощью REPLACE заменить точки на пробелы, и импортировать из уже отредактированного файла, не сохраняя его, чтобы не испортить исходник? Методы типа DoCmd.TransferSpreadsheet и "поячеечного" чтения не подходят, поскольку таблица содержит несколько десятков столбцов и около полумиллиона строк, что делает эти методы не совсем подходящими из-за времени выполнения.

А как после импорта для всех названий полей в таблице символ # по-быстрому на что-то иное заменить?

Например, вот так:

CurrentDb.TableDefs(Table).Fields("Field#").Name=Replace(CurrentDb.TableDefs(Table).Fields("Field#").Name, "#", "")

или вот так:

CurrentDb.TableDefs(Table).Fields(I).Name=Replace(CurrentDb.TableDefs(Table).Fields(I).Name, "#", "") Спс, отлично сработало.Для вар-тов кучи полей в исходных эксельках самое то. Sub ReplaceCharInTableName(strTableName As String) Dim bytTableFieldCount As Byte, i As Byte bytTableFieldCount = CurrentDb.TableDefs(strTableName).Fields.Count For i = o To bytTableFieldCount - 1 CurrentDb.TableDefs(strTableName).Fields(i).Name = Replace(CurrentDb.TableDefs(strTableName).Fields(i).Name, "#", " ") Next i 'MsgBox CurrentDb.TableDefs(strTableName).Fields.Count End Sub или вот так: Sub ReplaceCharInTableName(strTableName As String) Dim i As Byte For i = 0 To CurrentDb.TableDefs(strTableName).Fields.Count - 1 CurrentDb.TableDefs(strTableName).Fields(i).Name = Replace(CurrentDb.TableDefs(strTableName).Fields(i).Name, "#", " ") Next 'MsgBox CurrentDb.TableDefs(strTableName).Fields.Count End Sub Sub ReplaceCharInFieldsName(strTableName As String) Dim fld As DAO.Field With CurrentDb With .TableDefs(strTableName) For Each fld In .Fields fld.Name = Replace(fld.Name, "#", vbNullString) Next End With End With End Sub Если в цифрах, то:Табличка (пустая) о 10 текстовых полях (в именах нет решеток)Тестовая процедура:

-

Public Sub Test() Dim i As Integer, j As Integer Dim st As Long j = 100 Debug.Print String(10, "-") st = apiTimeGetTime For i = 1 To j ReplaceCharInTableName "tbl1" Next i Debug.Print "ReplaceCharInTableName", apiTimeGetTime - st Debug.Print String(10, "-") st = apiTimeGetTime For i = 1 To j ReplaceCharInFieldsName "tbl1" Next i Debug.Print "ReplaceCharInFieldsName", apiTimeGetTime - st End Sub

webhamster.ru

10 основных причин для использования программы Access с Excel

Access и Excel предоставляют команды для подключения к данным в списках SharePoint. В программе Excel существует только для чтения (одностороннюю) подключения к связанные списки SharePoint; в то время как Access позволяет чтения и записи (двустороннем) данных в связанных списков SharePoint. Access и SharePoint перечислены рабочих прекрасно друг с другом. Типы данных Access и SharePoint — форматированного текста, например на добавление только (для поддержки отслеживания журнал изменений в поле memo), вложений, "Счетчик", поиск и многозначных полей — сделать интеграция и мало, если таковые имеются несоответствия данных.

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

Excel предоставляет следующие возможности интеграции с SharePoint Server.

1. Можно выполнить однократный импорт данных листа Excel в список SharePoint или экспортировать такие данные в список SharePoint для создания постоянного одностороннего подключения к данным.

2. Постоянное одностороннее подключение к данным можно использовать для обновления данных на листе Excel из списка SharePoint.

3. Публикация книг Excel в службы Excel и отображения и взаимодействовать с данными с помощью веб-части Excel Web Access на страницу веб-частей.

4. Импорт (подключиться) данные в книгу Excel из серверы OLAP, базы данных SQL Server и Access и плоские файлы.

Microsoft Access предоставляет следующие возможности интеграции с SharePoint Server.

1. Можно выполнять однократный импорт или экспорт данных между представлениями Access и списком SharePoint.

2. связывание данных между таблицами Access и списка SharePoint путем создания постоянных двунаправленное подключение. (Список обновленные данные в видят в таблице Access; обновленные данные таблицы Access могут быть видны в списке).

3. Поддерживается автономное обновление данных в Access с последующей синхронизацией обновлений и разрешением конфликтов.

4. Данные списка можно отображать и изменять в таблицах, формах и отчетах Access.

Дополнительные сведения см. в следующих статьях:

support.office.com

Управление данными с помощью Access или Excel

Примечание:  Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

Microsoft Access и Microsoft Excel обладают сходства, которые могут затруднить решить, какое приложение следует использовать. Например обе программы можно хранить большие объемы данных запустить мощные средства запросов и инструменты анализа срез и поперечные срезы, данные и выполнение сложных вычислений, которые возвращают данные, которые необходимо.

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

Во многих случаях можно использовать обе программы каждой цели, к которому лучше всего подходит для применения. Как правило, лучше Access для управления данными: помогая оставить ее организация, удобный для поиска и доступные для нескольких пользователей одновременно. Excel для анализа данных обычно выше: выполнение сложных вычислений и изучение возможные результаты создания диаграмм высокое качество. Если вы используете Access для хранения данных и их анализа в Excel, можно воспользоваться преимуществами обе программы.

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

Примечание: Включить все наборы Microsoft Office Excel, но не все наборы Access.

Сравнение преимущества каждой программы

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

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

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

Локальные сравнении внешних данных    Access можно использовать для подключения к данным из разнообразных внешних источников данных, так что можно просмотреть запрос и изменять данные без необходимости импортировать его. Например в Access предусмотрена команды для подключения к существующие данные в базе данных Microsoft SQL Server, dBASE файла или папки Outlook, а также других источников данных. Excel можно использовать для подключения к различным источникам данных, включая Access, SQL Server и баз данных служб Analysis Services, текста и XML-файлы и источников данных ODBC и OLE DB. Тем не менее не может изменять данные, чтобы изменить исходные данные через интерфейс пользователя Microsoft Excel.

Access и Excel предоставляют команды для подключения к данным в списках Windows SharePoint Services. Тем не менее, в программе Excel существует только только для чтения подключения к спискам SharePoint; в то время как Access позволяет чтения и записи данных со списками SharePoint.

Целостность данных и гибкости    Уникальные идентификаторы сохраняют целостность данных и их убедитесь, что нет две строки (или записей) содержат именно те же данные. Уникальные идентификаторы также предоставляют самый быстрый способ получения данных при поиска или сортировки данных. В приложении Access чтобы автоматически создать уникальный идентификатор для каждой записи можно использовать тип данных "Счетчик". Затем можно использовать эти идентификаторы для записей из одной таблицы связаны с одной или нескольких записей в другой таблице.

Структура, к которой применяется доступ к данным помогает обеспечить целостность данных. Access можно вставлялись новые записи в одной таблице существующие соответствующее значение в другой таблице таким образом, нельзя создать записи «потерянный». Например не нужно иметь заказа, которая не содержит сведения о пользователе. Access может потребоваться что каждой новой записи в таблице Orders имеет значение соответствующего клиента в таблицу «Клиенты». Это требуемый соответствие значений называется целостность данных.

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

Выполнение запросов    Если часто приходится просматривать данные различными способами, в зависимости от того, изменяя условия или события, Access может быть лучший выбор для хранения и работе с данными. Access позволяет быстро восстановить только строк и столбцов данных, который вы хотите ли данные содержатся в таблице одной или несколькими таблицами с помощью запросов язык SQL (Structured Query). Можно также использовать выражения в запросах создавать вычисляемые поля. Использование выражений в Access аналогична процесс с помощью формул в Excel для вычисления значений. Запросы Access также можно использовать для подведения итогов данных и представлять статистических значений, таких как суммы, средние значения и счетчики.

Моделирование    В Excel можно использовать средства анализ "что если" для прогнозирования результат модель листа. Анализ "что если" позволяет выполнить различных сценариях для своих данных, например Лучший случай и худшим сценариев и сравнение результирующие данные из нескольких сценариев в сводный отчет. Не так же, функция доступна в Access.

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

Access и Excel можно использовать в среде совместной работы, таких как Windows SharePoint Services и общие папки, но существует ряд различий в нужным данных может осуществляться несколькими пользователями.

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

С помощью служб Windows SharePoint Services для совместной работы    Интегрируйте обе программы с помощью технологий Microsoft Windows SharePoint Services, например списки и библиотеки документов SharePoint.

Access предоставляет широкий спектр способов совместной работы с несколькими пользователями на сайте SharePoint. Например, можно отправить всей базы данных в библиотеке документов Windows SharePoint Services, внести формы и отчеты, доступные в виде представлений служб Windows SharePoint Services и связывание базы данных с данными, которые хранятся в списках SharePoint.

Excel предоставляет только один способ совместной работы с несколькими пользователями на сайте SharePoint Services. Вы можете передавать книги в библиотеках документов служб Windows SharePoint Services, где отдельных пользователей может извлечь книгу, чтобы внести изменения, запретив изменяя книгу одновременно другим пользователям. Пользователи могут редактировать книгу без извлечение библиотеки документов, в этом случае они должны согласованы с другими пользователями, чтобы избежать конфликтов данных.

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

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

Защита от потери данных    В приложении Access работы постоянно сохранить, чтобы в случае сбоя вряд ли потеряете оставшейся работы (если таковые имеются). Тем не менее, так как Access постоянно сохраняет вашу работу, можно также можно внести изменения, которые вы позже решите, что вы не хотите зафиксировать. Чтобы убедиться, что нужным образом можно восстановить базу данных, следует создавать резервную копию файла базы данных по расписанию, который соответствует требованиям. Всю базу данных можно восстановить из резервной копии или вы можете восстановить только таблицу или другого объекта базы данных, которая может потребоваться. При использовании средства архивации файловой системы копию базы данных из резервной копии файловой системы также можно использовать для восстановления данных. При обновлении данных в Excel, можно сохранить Автосохранение через заданные промежутки времени.

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

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

Ограниченный доступ к данным    В Excel можно указать на основе пользователя разрешения на доступ к данным или задать права только для чтения, другие пользователи могли вносить изменения в данные, которые они имеют доступ к. Access не предоставляет возможности безопасности на уровне пользователя, но Access поддерживает модель безопасности пользователя любого сервера базы данных, который подключается к. Например при связывании со списком SharePoint доступа heeds разрешениями пользователей для списка SharePoint. Если вы хотите оставить несанкционированное доступа к данным, можно зашифровать базу данных с помощью паролей. Пользователям необходимо ввести пароль на чтение данных из базы данных, даже если они доступ к нему с помощью другой программы, такой как Microsoft Excel.

Дополнительные сведения о том, как защитить данные просмотреть защиты базы данных Access 2007 и защиты и безопасности в Excel.

Условия использования программы Microsoft Access

В очень общие термины Access лучше всего подходит при регулярно, имеют для отслеживания и записи данных и затем отобразить, экспорт и печать подмножества данных. Формы Microsoft Access обеспечивают более удобный интерфейс чем лист Excel для работы с данными. Access можно использовать для автоматизации часто выполняемых действий и отчетов Access позволяют сведение данных в печати или в электронной форме. Microsoft Access предоставляет дополнительные структуры для ваших данных; Например, можно задать типы данных, которые могут быть введены, какие значения могут быть добавлены и вы можете указать, как связанных данных в одной таблице данных из других таблиц. Эта структура поможет вам убедиться, что введены только нужные типы данных.

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

Программу Microsoft Access следует использовать при следующих условиях.

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

  • Поступает потребуется добавить несколько таблиц в набор данных, который был создан в виде плоских или нереляционных таблицы.

  • Выполняются сложные запросы.

  • Хотите создавать разнообразные отчеты или почтовых наклеек.

  • Управление контактами    Управление контактами и почтовые адреса и затем создания отчетов в Access или объединить данные с Microsoft Office Word для печати писем, конверты или наклейки.

  • Запасы и основные фонды    Создание учета запасов для дома или офиса и сохраняйте фотографии или другие связанные документы вместе с данными.

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

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

  • Организация библиотек функций    Access можно использовать для хранения данных о книг и компакт-дисков и отслеживайте известных кого аренду их.

  • Планирование событий    Введите сведения о событии дат, расположения и участников и печать расписаний или сводные данные о событиях.

  • Отслеживание питания    Рецептами и войдите журнал режима питания и Испытайте действий.

Условия использования программы Microsoft Excel

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

Программу Microsoft Excel следует использовать при следующих условиях.

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

  • Часто выполнять вычисления и статистические сравнения данных.

  • Хотите использовать отчеты сводных таблиц для просмотра иерархических данных в компактном и гибком представлении.

  • Планирование регулярно создавать диаграммы и хотите использовать новые форматы построения диаграмм, доступных в Excel.

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

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

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

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

  • Составление бюджета    Ли вашим потребностям личных или деловых связаны, можно создать бюджета в Excel — например, маркетингового плана бюджета, Бюджет мероприятия или пенсионных отчислений.

  • Выставление счетов "и" продажи    Excel также может оказаться полезным для управления выставления счетов и данных о продажах и можно без труда создавать формы, которые требуется — пример счета продажи отборочные или заказов на покупку.

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

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

  • Отслеживание    Excel можно использовать для отслеживания данных в списке или табелей — например, табелей для отслеживания трудозатрат или инвентарный список, который отслеживает оборудования.

  • Использование календарей    Из-за его природа стиле сетки Excel используется также для создания любой тип календаря, например академический календарь для отслеживания действий в течение года школы или календаре финансовый год для отслеживания бизнес-событий и вех.

Полезные шаблоны Excel в любой из этих категорий читайте в статье шаблоны для Excel на сайте Microsoft Office Online.

С помощью Access и Excel вместе

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

Независимо от того, какая программа используется во-первых вы можете всегда передать данные из одной программы в другую которой можно продолжить работать с ним. С или без подключения к данным в Access из Excel (и наоборот), копирование, Импорт и экспорт его можно перенести данные.

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

support.office.com

Импорт из Excel в Access - 24 Июля 2013

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

Поскольку в Access используются таблицы, в Excel мы должны структурировать данные и привести их к табличному виду. Для импорта данных можно, конечно, написать отдельный макрос. Но для себя я убедился, что быстрее и эффективнее будет использовать объект DoCmd. А если точнее, метод этого объекта, который называется TransferSpreadsheet. В этом случае импорт данных будет осуществляться при помощи одной единственной команды. Частично про подготовку к импорту упоминал вот здесь. Поэтому опишу только сам синтаксис команды для импорта.

Сама команда выглядит вот так:

DoCmd.TransferSpreadsheet TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range

Итак, все по порядку:

TransferType - это тип передачи. Для импорта в Access ставится acImport.

SpreadsheetType - в справке написано, что это тип таблицы. Обычно ставится acSpreadsheetTypeExcel9. Вместо 9 также может встретиться 7 или 12. Пока не встречал ситуаций, чтобы это кардинально влияло на процесс импорта.

TableName - это имя таблицы Access, в которую вы хотите перенести данные. Поскольку это строковое выражение, то пишется в кавычках. Например, "table_1".

FileName - это путь к файлу, из которого вы хотели бы импортировать данные. Лично я предпочитаю брать путь к файлу из диалогового окна, записывать этот путь в переменную и уже ее подставлять в команду импорта. Но можно и явно прописать путь к файлу. В этом случае не забываем про кавычки! Например, "D:\test.xls".

HasFieldNames - этот аргумент может принимать значения True или False. Если стоит True, то первая строка импортируемой таблицы будет использоваться в качестве имен полей (заголовки таблицы в Access). Если поставить False, первая строка будет восприниматься как данные, а не как заголовки. По умолчанию, этот аргумент равен False.

Range - это диапазон импортируемых ячеек. Например, "A1:G5". Если аргумент оставить пустым, то будет импортироваться вся таблица. Важное замечание - этот аргумент может быть использован ТОЛЬКО при импорте. Если он будет использован при экспорте, то функция просто вернет ошибку.

Вот, собственно, и все! В качестве заключения, хочу добавить еще одно замечание:

Плюс данного метода заключается ещё и в том, что если вдруг в Access не окажется таблицы с указанным в команде именем, то такая таблица будет автоматически создана.

mpak-mr.narod.ru