Copiar tablas de access en VB

Quisiera copiar los registros de una tabla en access a otra tabla temporal, cómo puedo hacer esa operación.
O sea, en un recordset por tengo la tabla original, ¿cómo le hago en Visual basic para copiar esa tabla a otra temporal..?

2 respuestas

Respuesta
1
Puedes utilizar el spread de farpoint que soporta por lo menos un millón, el truegrid y otros.
Muchas gracias por tu consejo
Voy a revisar con detalle el código que me recomendaste que viera, con respecto al ultimo comentario que haces sobre el DATAGRID, por ahora mi aplicación no requiere de tantos registros, seguramente no pasarán de 1000, ¿pero si sería bueno saber con qué control pudiera visualizar una tabla de más de 32000 registros...?
Todo depende de la forma de conexión que tengas, siempre trabajo con ADO y solo requerirías hacer un insert directo, algo como:
insert into tablatemporal select * from mitablaoriginal
Si lo haces con recordset, tendrías que generar una sentencia de insert por cada registro leído en el recordset.
Seré más preciso con mi duda, tengo un archivo en Access (PROYECTO.MDB), el cual tiene varias tablas.
Para abrir el archivo en Access desde Visual basic utilizo:
Set Proyecto = New ADODB.Connection
Proyecto.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Proyecto.mdb"
Proyecto.Open
Para abrir una de las tantas tablas que tengo en el archivo PROYECTO.MDB utilizo lo siguiente:
Temporal.CursorType = adOpenKeyset
Temporal.CursorLocation = adUseClient
Temporal.LockType = adLockOptimistic
Temporal.Source = "select * from tab1"
Temporal.ActiveConnection = Proyecto
Temporal.Open
Mi duda es... cómo le hago en Visual basic para copiar TAB1, que es una tabla del archivo PROYECTO.MDB, a otra tabla temporal, la cual siga activa una vez que yo cierre el recordset TEMPORAL.
Esto lo utilizo porque tengo un Datagrid en el cual muestro el estado de la tabla, pero no quiero que permanezca siempre abierta, sino que nada más se abra cuando se haga un cambio, una alta o una baja, así que pienso sacarle una copia que siempre esté abierta para que se pueda mostrar en el Datagrid.
Bien pudiera hacer un ciclo for que recorra todo el recordset TEMPORAL y lo asigne a otra tabla temporal previamente definida en el archivo PROYECTO.MDB, pero quisiera saber si existe otra manera más sencilla de hacerlo en una sola instrucción, así le restaría código al programa y supongo le daría un poco más de rapidez...
Checa el código de la siguiente página y adáptalo:
http://soloasp.com.ar/vereje.asp?eje=37
La inserción de datos es como lo comente anteriormente.
Sugiero que cambies de control el datagrid, solo soporta 32000 datos y esta enlazado en forma directa a la información.
Respuesta
1
Haz un Insert From... al segundo recordset

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas