¿Cómo cambiar formato de campo de tabla importada desde excel?
Actualmente tengo una macro mediante la cual se carga la hoja de excel en un Recordset, para posteriormente cargar la información en una de la BD, pero uno de los campos contiene campos numérico y de texto, por lo que al cargarlos arroja error por el tipo de dato ya que asume todo el campo numérico y no sube los datos con formato texto.
Por lo que se requiere que al cargar el recordset este campo se convierta a texto.
Es preciso aclarar que el campo destino es un campo de texto.
Los nombres de los campos son variables mas no su cantidad ni tipo de datos.
La BD esta desarrollada en Access 2007.
Este es el Recordset actual:
strSql = "SELECT * FROM [Hoja1$]"
Set db_xls = OpenDatabase(path, False, False, "Excel 8.0;HDR=Yes;")
Set rst_xls = db_xls.OpenRecordset(strSql, dbOpenDynaset)
With rst_xls
.MoveLast
.MoveFirst
While Not .EOF
rst_rep.AddNew
rst_rep.Fields("identificación") = .Fields(0)
rst_rep.Fields("fecha") = .Fields(2)
rst_rep.Fields("linea") = .Fields(3)
rst_rep.Fields("COLOR") = .Fields(4)
rst_rep.Fields("turno") = .Fields(5)
rst_rep.Update
.MoveNext
Wend
.Close
End With
db_xls.Close
fields(5) tiene datos como: 12, 13, 15-4, 8
En el Recordset se carga como número y no como texto.
Muchas gracias de antemano por su colaboración.
Por lo que se requiere que al cargar el recordset este campo se convierta a texto.
Es preciso aclarar que el campo destino es un campo de texto.
Los nombres de los campos son variables mas no su cantidad ni tipo de datos.
La BD esta desarrollada en Access 2007.
Este es el Recordset actual:
strSql = "SELECT * FROM [Hoja1$]"
Set db_xls = OpenDatabase(path, False, False, "Excel 8.0;HDR=Yes;")
Set rst_xls = db_xls.OpenRecordset(strSql, dbOpenDynaset)
With rst_xls
.MoveLast
.MoveFirst
While Not .EOF
rst_rep.AddNew
rst_rep.Fields("identificación") = .Fields(0)
rst_rep.Fields("fecha") = .Fields(2)
rst_rep.Fields("linea") = .Fields(3)
rst_rep.Fields("COLOR") = .Fields(4)
rst_rep.Fields("turno") = .Fields(5)
rst_rep.Update
.MoveNext
Wend
.Close
End With
db_xls.Close
fields(5) tiene datos como: 12, 13, 15-4, 8
En el Recordset se carga como número y no como texto.
Muchas gracias de antemano por su colaboración.