Porque duplica?
Publicado por yanira (140 intervenciones) el 19/10/2006 23:46:11
Tengo la funcion en la parte inferior que toma los datos de una tabla en access, los importa y los almacena en una tabla esto atraves de una consulta
Lo que no entiendo es si la tabla en la que importa la informacion de excel y la consulta me muestran un solo dato por ejemplo porque al mirar la tabla novedades que es donde finalmente quedara almacenada me muestra que almaceno dos veces el mismo registro
Function InsertarNovedades() As Integer
Dim DB As Database
Dim tabla As DAO.Recordset
Dim Consulta As QueryDef
Dim Agregar As QueryDef
Dim Texto As String
Dim resultado As String 'Número de registros insertados
Set DB = CurrentDb()
Texto = "SELECT * FROM [Cargue Novedades]"
Set Consulta = DB.CreateQueryDef("", Texto)
Set tabla = Consulta.OpenRecordset
resultado = 0
If (tabla.BOF = True) Then
resultado = 0
Else
With tabla
Do While Not .EOF
Texto = "INSERT INTO NOVEDADES (IDNovedad,IDTipoDoc,NumDocumento,IDTipoPersona,DANE,Institucion,IDTipoNovedad,FechaInicio,FechaFin,IDArea,IDNivel,IDJornada,Sede,Observaciones,Usuario) " & _
"VALUES (" & ConsecutivoNovedad() & "," & .Fields("TipoDoc") & "," & .Fields("Documento") & "," & .Fields("TipoPer") & ",'" & .Fields("CodDANE") & "','" & .Fields("Colegio") & "','" & .Fields("Novedad") & "',#" & .Fields("Inicio") & "#,#" & .Fields("Fin") & "#,'" & .Fields("IDArea") & "'," & .Fields("IDNivel") & "," & .Fields("IDJornada") & ",'" & .Fields("Sede") & "','" & .Fields("Obs") & "','" & .Fields("Usu") & "')"
Set Agregar = DB.CreateQueryDef("", Texto)
Agregar.Execute
resultado = resultado + 1
.MoveNext
Loop
End With
End If
InsertarNovedades = resultado
End Function
Lo que no entiendo es si la tabla en la que importa la informacion de excel y la consulta me muestran un solo dato por ejemplo porque al mirar la tabla novedades que es donde finalmente quedara almacenada me muestra que almaceno dos veces el mismo registro
Function InsertarNovedades() As Integer
Dim DB As Database
Dim tabla As DAO.Recordset
Dim Consulta As QueryDef
Dim Agregar As QueryDef
Dim Texto As String
Dim resultado As String 'Número de registros insertados
Set DB = CurrentDb()
Texto = "SELECT * FROM [Cargue Novedades]"
Set Consulta = DB.CreateQueryDef("", Texto)
Set tabla = Consulta.OpenRecordset
resultado = 0
If (tabla.BOF = True) Then
resultado = 0
Else
With tabla
Do While Not .EOF
Texto = "INSERT INTO NOVEDADES (IDNovedad,IDTipoDoc,NumDocumento,IDTipoPersona,DANE,Institucion,IDTipoNovedad,FechaInicio,FechaFin,IDArea,IDNivel,IDJornada,Sede,Observaciones,Usuario) " & _
"VALUES (" & ConsecutivoNovedad() & "," & .Fields("TipoDoc") & "," & .Fields("Documento") & "," & .Fields("TipoPer") & ",'" & .Fields("CodDANE") & "','" & .Fields("Colegio") & "','" & .Fields("Novedad") & "',#" & .Fields("Inicio") & "#,#" & .Fields("Fin") & "#,'" & .Fields("IDArea") & "'," & .Fields("IDNivel") & "," & .Fields("IDJornada") & ",'" & .Fields("Sede") & "','" & .Fields("Obs") & "','" & .Fields("Usu") & "')"
Set Agregar = DB.CreateQueryDef("", Texto)
Agregar.Execute
resultado = resultado + 1
.MoveNext
Loop
End With
End If
InsertarNovedades = resultado
End Function
Valora esta pregunta


0