Chuẩn bị dữ liệu để nhập vào Access (Microsoft Excel)
Nếu bạn là một lập trình viên cơ sở dữ liệu, đôi khi bạn có thể nhận được các tệp Excel mà bạn phải “dọn dẹp” để đưa vào Access. Hai vấn đề phổ biến là do Số An sinh Xã hội và Mã ZIP. Chúng được lưu trữ tốt nhất dưới dạng văn bản trong cơ sở dữ liệu chứ không phải dưới dạng số như chúng thường ở trong Excel.
(Trong Excel, các số có thể hiển thị chính xác do định dạng ô chứ không phải vì chúng được lưu trữ dưới dạng văn bản.)
Ngay cả khi phạm vi được định dạng dưới dạng văn bản trong Excel, hoàn chỉnh với các số 0 ở đầu, Access thường xuyên hơn không chuyển các giá trị này thành số.
Tuy nhiên, nếu số đứng trước bằng dấu nháy đơn, đối với nhãn, Access sẽ nhập chính xác số đó dưới dạng văn bản mà không có dấu nháy đơn ở đầu.
Để chuẩn bị Số an sinh xã hội để nhập trong Access, một macro nhỏ nhanh có thể hữu ích — một macro đảm bảo rằng các số 0 ở đầu có mặt và dấu nháy đơn được đặt sẵn cho ô. Để sử dụng macro, chỉ cần chọn phạm vi Số an sinh xã hội và sau đó chạy macro:
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
Giải pháp cho Mã ZIP về bản chất cũng tương tự. Macro để xử lý Mã ZIP đi qua từng ô trong vùng chọn, định dạng nó thành văn bản, thêm dấu nháy đơn ở đầu và cắm vào bất kỳ số 0 nào ở đầu. Sự khác biệt là macro cũng phải tính đến các trường hợp có Mã ZIP năm chữ số hoặc chín chữ số.
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
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (2400) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: