Кто-нибудь знает, как изменить существующую спецификацию импорта в Microsoft Access 2007 или 2010? В более ранних версиях в качестве мастера импорта использовалась кнопка «Дополнительно», которая позволяла вам выбирать и редактировать существующую спецификацию. Я больше не вижу этой функции, но надеюсь, что она все еще существует и только что перенесена в другое место.Как изменить сохраненную спецификацию импорта Microsoft Access 2007 или 2010?
ответ
Я могу использовать эту функцию на моей машине с помощью MS Access 2007.
- На ленте выберите Внешние данные
- Выберите «Текстовый файл» вариант
- Это отображает Get External Мастер данных
- Укажите местонахождение файла, в который хотите импортировать
- Нажмите OK. Это отображает «Мастер импорта текста»
- В нижней части этого диалогового окна находится кнопка «Дополнительно», на которую вы ссылаетесь
- Нажав на эту кнопку, вы должны отобразить экран Импорт спецификации и позволить вам выбирать и изменять существующую спецификацию импорта.
За что его стоит, я использую Access 2007 SP1
Я не верю, что существует прямой способ поддержки. Однако, если вы проиграли, то в настройках навигации выберите, чтобы показывать системные объекты. Затем в вашем списке таблиц появятся системные таблицы. Здесь интересны две таблицы: MSysIMEXspecs и MSysIMEXColumns. Вы сможете редактировать информацию об импорте и экспорте. Удачи!
Эти таблицы не редактируются пользователем. Их можно редактировать только через Jet. – 2008-09-27 22:54:10
David, я могу редактировать обе таблицы MSysIMEXColumns и MSysIMExSpecs для присвоения имен и изменения типов. Я не проверен мною и, очевидно, не поддерживается, но они доступны для редактирования. – Knox 2008-09-28 00:18:48
Это должно быть что-то, что изменилось в A2K7, поскольку у меня нет версии Access, которая позволяет мне непосредственно редактировать их (A97, A2K2, A2K3). – 2008-09-29 23:34:21
Tim Lentine's answer кажется, чтобы быть правдой, даже в полном освобождении. Есть еще одна вещь, которую я хотел бы упомянуть.
Если вы заполните свой импорт, не вдаваясь в «Дополнительно ...» и сохраняя спецификацию, но сохраните импорт для повторного использования в конце мастера (новая функция AFAIK), вы не сможете пройти назад и отредактируйте эту спецификацию. Он встроен в «Сохраненный импорт». Это может быть то, о чем говорил Нокс.
Вы можете, однако, сделать частичную работу вокруг:
- Импорт нового файла (или же один снова и снова), но
- На этот раз решили добавить, вместо того, чтобы новый
- Нажмите OK.
- Перейдите в «расширенный». Все заголовки столбцов и типы данных будут там.
- Теперь вы можете внести необходимые изменения и сохранить спецификацию в этом диалоговом окне. Затем отмените этот импорт (это не то, что вы хотели в любом случае, верно?)
- Затем вы можете использовать эту спецификацию для дальнейшего импорта. Это не полное решение, но экономит часть работы.
Также смотрите: http://luke.gedeon.name/blog/2009/05/edit-saved-import-steps-access-2007-partial-workaround.html – waanders 2011-01-19 15:50:12
Ниже перечислены три функции, которые можно использовать для изменения и использования спецификации импорта MS Access 2010. Третья субменю изменяет имя существующей спецификации импорта. Вторая часть позволяет вам изменить любой текст xml в спецификации импорта. Это полезно, если вам нужно изменить имена столбцов, типы данных, добавить столбцы, изменить расположение файла импорта и т. Д. В сущности, все, что вы хотите изменить для существующей спецификации.Первый Sub - это подпрограмма, которая позволяет вам вызывать существующую спецификацию импорта, изменять ее для определенного файла, который вы пытаетесь импортировать, импортировать этот файл и затем удалять измененную спецификацию, сохраняя неизмененный и неповрежденный шаблон импорта. Наслаждаться.
Public Sub MyExcelTransfer(myTempTable As String, myPath As String)
On Error GoTo ERR_Handler:
Dim mySpec As ImportExportSpecification
Dim myNewSpec As ImportExportSpecification
Dim x As Integer
For x = 0 To CurrentProject.ImportExportSpecifications.Count - 1
If CurrentProject.ImportExportSpecifications.Item(x).Name = "TemporaryImport" Then
CurrentProject.ImportExportSpecifications.Item("TemporaryImport").Delete
x = CurrentProject.ImportExportSpecifications.Count
End If
Next x
Set mySpec = CurrentProject.ImportExportSpecifications.Item(myTempTable)
CurrentProject.ImportExportSpecifications.Add "TemporaryImport", mySpec.XML
Set myNewSpec = CurrentProject.ImportExportSpecifications.Item("TemporaryImport")
myNewSpec.XML = Replace(myNewSpec.XML, "\\MyComputer\ChangeThis", myPath)
myNewSpec.Execute
myNewSpec.Delete
Set mySpec = Nothing
Set myNewSpec = Nothing
exit_ErrHandler:
For x = 0 To CurrentProject.ImportExportSpecifications.Count - 1
If CurrentProject.ImportExportSpecifications.Item(x).Name = "TemporaryImport" Then
CurrentProject.ImportExportSpecifications.Item("TemporaryImport").Delete
x = CurrentProject.ImportExportSpecifications.Count
End If
Next x
Exit Sub
ERR_Handler:
MsgBox Err.Description
Resume exit_ErrHandler
End Sub
Public Sub fixImportSpecs(myTable As String, strFind As String, strRepl As String)
Dim mySpec As ImportExportSpecification
Set mySpec = CurrentProject.ImportExportSpecifications.Item(myTable)
mySpec.XML = Replace(mySpec.XML, strFind, strRepl)
Set mySpec = Nothing
End Sub
Public Sub MyExcelChangeName(OldName As String, NewName As String)
Dim mySpec As ImportExportSpecification
Dim myNewSpec As ImportExportSpecification
Set mySpec = CurrentProject.ImportExportSpecifications.Item(OldName)
CurrentProject.ImportExportSpecifications.Add NewName, mySpec.XML
mySpec.Delete
Set mySpec = Nothing
Set myNewSpec = Nothing
End Sub
Когда я хочу изучить или изменить спецификацию импорта/экспорта, я запрашиваю таблицы в MS Access, где спецификация определена.
SELECT
MSysIMEXSpecs.SpecName,
MSysIMexColumns.*
FROM
MSysIMEXSpecs
LEFT JOIN MSysIMEXColumns
ON MSysIMEXSpecs.SpecID = MSysIMEXColumns.SpecID
WHERE
SpecName = 'MySpecName'
ORDER BY
MSysIMEXSpecs.SpecID, MSysIMEXColumns.Start;
Вы также можете использовать оператор UPDATE или INSERT, чтобы изменить существующие столбцы или вставить и добавить новые столбцы к существующей спецификации. Вы можете создать совершенно новые спецификации, используя эту методологию.
Почему так сложно?
Просто проверьте системных объектов в Access-Options/Current Database/Навигация Options/Show System Objects
Открыть таблицу "MSysIMEXSpecs" и изменить в соответствии с вашими потребностями - его легко читать ...
Tim Ответ Лентина работает, если у вас есть ваши спецификации. В вашем вопросе не указано, что он только заявил, что вы импортировали данные. Его метод не спасет ваши спецификации таким образом.
Способ сохранения спецификации текущего импорта заключается в том, чтобы повторно открыть импорт, нажать «apend», и это позволит вам использовать текущие параметры импорта, которые MS Access выбрал. (Это полезно, если хочешь сохранить импорт спецификацию из формата Excel вы работали на до импорта в MS ACCESS.)
После того, как вы в опции apend, используйте инструкцию Тима, который с помощью расширенный вариант и «Сохранить как». Оттуда просто нажмите «Отмена», и теперь вы можете импортировать любые другие подобные данные в разные таблицы и т. Д.
Я только что обнаружил явную ошибку во всей сохраненной настройке импорта/XML в Access. Также разочарование в жесткости системы Saved Import, я создал формы и написал код, чтобы выделить XML, в котором хранятся спецификации сохраненного импорта, до такой степени, что я мог бы использовать этот инструмент для фактического создания сохраненного импорта с нуля через кодированные изучение исходной книги Excel.
То, что я выяснил, заключается в том, что, хотя Access правильно импортирует рабочий лист в соответствии с изменениями настроек по умолчанию пользователем (например, ему нравится брать любой столбец с заголовком, заканчивающимся «ID», и сделать его индексированное поле в результирующей таблице, но вы можете отменить это во время процесса импорта), и в то же время он также правильно создает XML в соответствии с изменениями пользователя, если затем вы отбросить таблицу и использовать сохраненный импорт для повторного импорта рабочего листа, он игнорирует спецификацию импорта XML и возвращается к использованию своих собственных изобретений по умолчанию, по крайней мере, в случае столбцов «ID».
Вы можете попробовать это самостоятельно: импортируйте рабочий лист Excel с по меньшей мере одним заголовком столбца, заканчивающимся на «ID» («OrderID», «User ID» или просто «ID»). Во время процесса обязательно установите для параметра «Индексированный» значение «Нет» для этих столбцов. Выполните импорт и установите флажок «Сохранить шаги импорта» в последнем диалоговом окне. Если вы проверите результирующий дизайн таблицы, вы увидите, что в интересующем поле нет указателя. Затем удалите таблицу, найдите сохраненный импорт и выполните его снова. На этот раз эти поля будут настроены как индексированные в дизайне таблицы, хотя XML по-прежнему не содержит индекса.
Я вытягивал свои волосы, пока не обнаружил, что происходит, сравнивая XML, который я построил с нуля, с примерами, созданными с помощью инструмента «Доступ».
Еще одна отличная опция - бесплатный V-Tools addin для Microsoft Access. Среди других полезных инструментов он имеет форму для редактирования и сохранения спецификаций импорта/экспорта.
Примечание: В версии 1.83, есть ошибка в перечислении кодовых страниц на ОС Windows 10. (По-видимому из-за отсутствующей/изменил функции API в ОС Windows 10) инструменты все еще отлично работают, вам просто нужно прокомментировать несколько строк кода или пройти мимо него в окне отладки.
Это была реальная спасательная способность для меня при редактировании сложной спецификации импорта для наших онлайн-заказов.
- 1. Совместимость базы данных Microsoft Access 2007 - 2010?
- 2. Соединение Microsoft Access 2007
- 3. Microsoft Access 2007 Chartspace Help
- 4. Как импортировать таблицы Microsoft Visual Foxpro в Microsoft Access 2007?
- 5. Изменить путь в Microsoft Access 2010
- 6. Форма ввода Microsoft Access 2007
- 7. Обновление Microsoft Workstation 2007 Microsoft Exchange 2010
- 8. Microsoft Access 2007 - Как изменить путь к базе данных
- 9. Совместимость между Access 2007 и Access 2010
- 10. Ошибка преобразования типа в Microsoft Access 2007
- 11. Microsoft Access 2010 - Динамический запрос
- 12. Microsoft Access 2010 Дата выпуска
- 13. Ошибка Microsoft Access 2010 Append
- 14. Convert Access 2010 accdb to 2007 accdb
- 15. Пользовательский запрос в Microsoft Access 2007
- 16. Microsoft Access 2007 & VBA & CSV и ... stuff
- 17. Microsoft Access 2010 - внешний ключ, как раскрывающийся
- 18. Создание расширяемых форм в Microsoft Access 2007
- 19. Click-To-Dial в Microsoft Access 2007
- 20. Microsoft Access 2007, о значении столбца
- 21. Visual C# и Microsoft Access 2007
- 22. Microsoft Access 2007, прочитанный из шаблона
- 23. Access 2007 и Опытные пользователи Microsoft
- 24. Проблема с запросом в Microsoft Access 2007
- 25. Microsoft Access 2010 Navigation Pane Font
- 26. Надстройка Microsoft Office 2010 Excel (или UDF)
- 27. Vb.net 2010 подключение к MS Access 2007
- 28. Преобразование из Access 2010 в 2007
- 29. Различия между Access-VBA 2010 и 2007
- 30. Microsoft Access - обновление импорта и таблицы Excel
Еще один полезный элемент, удаленный офисом 2007 – Brettski 2008-09-27 22:34:05