Preparación de los datos para la importación en el acceso

January 22

Si usted es un programador de bases de datos a veces puede obtener los archivos de Excel que hay que "limpiar" a poner en acceso. Dos problemas comunes son causadas por los números de Seguro Social y códigos postales. Estos se almacenan mejor en forma de texto en la base de datos, y no como números ya que a menudo están en Excel. (En Excel los números pueden mostrar correctamente debido a formato de las celdas, y no porque estén almacenados como texto.)

Incluso cuando el rango está formateado como texto en Excel, con ceros a la izquierda, el acceso más a menudo que no convierte estos valores a números. Sin embargo, si el número es precedido con un apóstrofe, como para una etiqueta, Access correctamente importarla como texto sin el apóstrofe líder.

Para preparar los números de Seguro Social para importar Acceda un poco macro rápida puede venir muy bien, uno que se asegura de que los ceros iniciales están presentes y que el apóstrofe está en su lugar para la célula. Para utilizar la macro, sólo tienes que seleccionar el rango de números de Seguro Social y luego ejecutar la macro:

Sub SSN2Text ()
Dim c como gama
Application.ScreenUpdating = False
'Formatear celdas seleccionadas como texto
Selection.NumberFormat = "@"
For Each c en la selección
Si Izquierda (c, 1) = "'" Entonces
'Pelar el apóstrofe, en su caso
c = mediano (c, 2, 99)
Más
c = "'" y derecho ("000000000", etc., 9)
End If
Siguiente c
Application.ScreenUpdating = True
End Sub

La solución para los códigos postales es de naturaleza similar. La macro para procesar códigos postales pasos a través de cada celda de la selección, formatos como texto, añade un apóstrofe líder, y tapones en los ceros a la izquierda. La diferencia es que la macro también debe tener en cuenta los casos en los que hay tanto códigos postales de cinco dígitos o nueve dígitos.

Sub ZIP2Text ()
Dim c como gama
Application.ScreenUpdating = False
'Formatear celdas seleccionadas como texto
Selection.NumberFormat = "@"
For Each c en la selección
Si Izquierda (c, 1) = "'" Entonces
'Pelar el apóstrofe, en su caso
c = mediano (c, 2, 99)
End If
Si Len (c) <= 5 Y
c = "'" y derecho ("00000", etc., 5)
Más
c = "'" y derecho ("00000", etc., 10)
End If
Siguiente c
Application.ScreenUpdating = True
End Sub

ExcelTips es su fuente de capacitación rentable Microsoft Excel. Esta punta (2400) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y versiones posteriores) aquí: Preparación de los datos para la importación en el acceso.