Подготовка данных для импорта в Access (Microsoft Excel)
Если вы программист баз данных, вы можете иногда получать файлы Excel, которые нужно «очистить», чтобы поместить в Access. Две общие проблемы вызваны номерами социального страхования и почтовыми индексами. Их лучше всего хранить в виде текста в базе данных, а не в виде чисел, как это часто бывает в Excel.
(В Excel числа могут отображаться правильно из-за форматирования ячеек, а не из-за того, что они хранятся в виде текста.)
Даже когда диапазон отформатирован как текст в Excel с начальными нулями, Access чаще всего преобразует эти значения в числа.
Однако, если перед числом стоит апостроф, как для метки, Access правильно импортирует его как текст без начального апострофа.
Чтобы подготовить номера социального страхования к импорту в Access, может пригодиться небольшой небольшой макрос — тот, который проверяет наличие ведущих нулей и наличие апострофа для ячейки. Чтобы использовать макрос, просто выберите диапазон номеров социального страхования, а затем запустите макрос:
Sub SSN2Text() Dim c As Range Application.ScreenUpdating = False 'Format selected cells as text Selection.NumberFormat = "@" For Each c In Selection If Left(c, 1) = "'" Then 'strip the apostrophe, if any c = Mid(c, 2, 99) Else c = "'" & Right("000000000" & c, 9) End If Next c Application.ScreenUpdating = True End Sub
Решение для почтовых индексов аналогично по своей природе. Макрос для обработки почтовых индексов проходит через каждую выделенную ячейку, форматирует ее как текст, добавляет начальный апостроф и вставляет любые начальные нули. Разница в том, что макрос также должен учитывать случаи, когда есть пятизначные или девятизначные почтовые индексы.
Sub ZIP2Text() Dim c As Range Application.ScreenUpdating = False 'Format selected cells as text Selection.NumberFormat = "@" For Each c In Selection If Left(c, 1) = "'" Then 'strip the apostrophe, if any c = Mid(c, 2, 99) End If If Len(c) <= 5 Then c = "'" & Right("00000" & c, 5) Else c = "'" & Right("00000" & c, 10) End If Next c Application.ScreenUpdating = True End Sub
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (11228) применим к Microsoft Excel 2007 и 2010. Вы можете найти версию этого совета для более старого интерфейса меню Excel здесь:
link: / excel-Preparing_Data_for_Import_into_Access [Подготовка данных для импорта в Access]
.