Access - Validar Importacion de datos

   
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Validar Importacion de datos

Publicado por Jefferson (381 intervenciones) el 29/01/2013 03:42:16
Hola Jhovany Santacruz

Ve a la Tabla y en los campos (codest, grado y per) en sus propiedades colocas en Indexado = Sí (Sin duplicados) en cuanto hagas el Update no debería agregar datos repetidos, pues Access se lo estaría prohibiendo...


Saludos
Desde Venezuela
Jefferson
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar Importacion de datos

Publicado por Jhovany santacruzrueda@hotmail.com (2 intervenciones) el 05/02/2013 21:04:29
Gracias por tomarte el tiempo de responderme, tu solución no me sirve porque la condición es que no deje agregar un registro si se cumplen las 3 condiciones ( codest, grado y per), pero si cumple 1 o 2 condiciones si se puede almacenar la nota del estudiante.
Te agradezco si me das una ayudita.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar