• Jueves 23 de Mayo de 2024, 22:52

Autor Tema:  Vb.net + Access  (Leído 1161 veces)

Tagasa

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Vb.net + Access
« en: Martes 12 de Septiembre de 2006, 18:13 »
0
Muy buenas! a ver si alguien me puede ayudar... Lo que quiero hacer es recorrer todos los registros de una tabla de SQL e ir pasandolos a una tabla de access. Tal y como lo tengo puesto en el codigo que pongo abajo, sólo me mete el ultimo registro. No se como pasar a la siguiente linea de access y que me meta todos los registros... El problema esque la cantidad de registros puede variar, lo mismo pueden ser 3 que 6 o los que sean. Agradeceria muchisimo vuestra ayuda ya que es muy importante acabar con este trabajo...
Muchas gracias de antemano y un saludo!

If LectorSQL.HasRows Then '(compruebo que haya lineas en la tabla de sql)

     ParamAccess = New OleDbParameter
     CommandAccess = New OleDbCommand
     cnAccess.Open()  '--> abro la conexion de access

     CommandAccess = New OleDbCommand("INSERT INTO tablaACCESS  ([NOMBRE],[APELLIDO]) values (@nombre,@apel)", cnAccess)

               
While Lectord100m9.Read

           CommandAccess.Parameters.Add(New OleDbParameter "@nombre",          OleDbType.VarChar))
           CommandAccess.Parameters("@nombre").Value = LectorSQL.Item("NOMBRE")

           CommandAccess.Parameters.Add(New OleDbParameter("@apel", OleDbType.VarChar))
           CommandAccess.Parameters("@apel").Value = LectorSQL.Item("APELLIDO")
 
End While

CommandAccess.Parameters.Add(ParamAccess)
CommandAccess.ExecuteNonQuery()

cnAccess.Close()  '--> cierro la conexion de access
End If

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Vb.net + Access
« Respuesta #1 en: Miércoles 13 de Septiembre de 2006, 17:58 »
0
Tienes que acomodar tu codigo para que mandes llamar el CommandAccess.ExecuteNonQuery()
en cada registro que tiene el sqldatareader...

Seria dentro de tu while...

algo asi...

Código: Text
  1.  
  2.  
  3. CommandAccess.Parameters.Add(New OleDbParameter("@apel", OleDbType.VarChar))
  4.  
  5. CommandAccess.Parameters.Add(New OleDbParameter "@nombre", OleDbType.VarChar))
  6.  
  7.  
  8. While Lectord100m9.Read
  9.  
  10. CommandAccess.Parameters("@nombre").Value = LectorSQL.Item("NOMBRE")
  11. CommandAccess.Parameters("@apel").Value = LectorSQL.Item("APELLIDO")
  12.  
  13. CommandAccess.ExecuteNonQuery()
  14.  
  15. End While
  16.  
  17.  
  18.  
  19.  
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Tagasa

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Vb.net + Access
« Respuesta #2 en: Viernes 15 de Septiembre de 2006, 09:18 »
0
Ya está! anda que no darme cuenta... lo que había probado era meter tb la linea                
CommandAccess.Parameters.Add(ParamAccess) dentro del while por eso no me funcionaba. Pero ahora solo con la del ExecuteNonQuery ya funciona.

Muchas gracias!!