Validar Importacion de datos
Publicado por Jhovany Santacruz (2 intervenciones) el 27/01/2013 17:05:38
deseo saber como validar datos al momento de importar de excel a access, necesito validar 3 campos en access para q no se repitan en la tabla, los campos son: codest, grado y per.
La idea del programa es que importe notas de estudiantes de un archivo de excel, pero si estos datos ya estan en acees no los deje importar. El codigo que tengo en un boton de un formulario de access es el siguiente:
Call buscar
Dim xls As Object, _
strLibro As String, _
rst As DAO.Recordset
Dim nro, i As Integer
' ruta de la hoja de calculo
'strLibro = "C:\notas\formatos\copia de PlanillaDN.xls"
strLibro = archivo
' abro Excel
Set xls = CreateObject("Excel.Application")
' abro el libro
xls.Workbooks.Open strLibro
' activo la hoja 1 o la que quieras
xls.Worksheets("Hoja1").Activate
xls.Visible = False ' o false si prefieres
' abro un recordset de la tabla 1 o la que quieras
Set rst = CurrentDb.OpenRecordset("Tabla1")
' me situo en la celda A1 o en la que quieras
xls.ActiveSheet.Range("B10").Select
' leo celdas hasta que encuentre una vacía
Do While Not IsEmpty(xls.ActiveCell)
rst.AddNew ' añado un registro vacio
rst!docest = xls.ActiveCell ' meto en el campo1 la celda activa
rst!apeest = xls.ActiveCell.Offset(0, 1)
rst!nomest = xls.ActiveCell.Offset(0, 2)
rst!def = xls.ActiveCell.Offset(0, 9)
rst!grado = xls.ActiveCell.Offset(0, 10)
rst!codasi = xls.ActiveCell.Offset(0, 11)
rst!per = xls.ActiveCell.Offset(0, 12)
rst.Update ' guardo el registro
xls.ActiveCell.Offset(1, 0).Select
Loop
' al acabar cierro el recordset
If Not rst Is Nothing Then
rst.Close
Set rst = Nothing
End If
' cierro Excel
Set xls = Nothing
End Sub
Gracias
La idea del programa es que importe notas de estudiantes de un archivo de excel, pero si estos datos ya estan en acees no los deje importar. El codigo que tengo en un boton de un formulario de access es el siguiente:
Call buscar
Dim xls As Object, _
strLibro As String, _
rst As DAO.Recordset
Dim nro, i As Integer
' ruta de la hoja de calculo
'strLibro = "C:\notas\formatos\copia de PlanillaDN.xls"
strLibro = archivo
' abro Excel
Set xls = CreateObject("Excel.Application")
' abro el libro
xls.Workbooks.Open strLibro
' activo la hoja 1 o la que quieras
xls.Worksheets("Hoja1").Activate
xls.Visible = False ' o false si prefieres
' abro un recordset de la tabla 1 o la que quieras
Set rst = CurrentDb.OpenRecordset("Tabla1")
' me situo en la celda A1 o en la que quieras
xls.ActiveSheet.Range("B10").Select
' leo celdas hasta que encuentre una vacía
Do While Not IsEmpty(xls.ActiveCell)
rst.AddNew ' añado un registro vacio
rst!docest = xls.ActiveCell ' meto en el campo1 la celda activa
rst!apeest = xls.ActiveCell.Offset(0, 1)
rst!nomest = xls.ActiveCell.Offset(0, 2)
rst!def = xls.ActiveCell.Offset(0, 9)
rst!grado = xls.ActiveCell.Offset(0, 10)
rst!codasi = xls.ActiveCell.Offset(0, 11)
rst!per = xls.ActiveCell.Offset(0, 12)
rst.Update ' guardo el registro
xls.ActiveCell.Offset(1, 0).Select
Loop
' al acabar cierro el recordset
If Not rst Is Nothing Then
rst.Close
Set rst = Nothing
End If
' cierro Excel
Set xls = Nothing
End Sub
Gracias
Valora esta pregunta


0