exportar de excel a access (porrrrrsupuesto con VB)

31/05/2006 - 11:53 por xabi | Informe spam
Buenas!!!
Aqui sigo pegandome con el Visual.Lo que intento hacer aora es exportar
una tabla de Excel a Access.Anteriormente he comprobado que los campos estan
en el orden adecuado(menos una columna en la tabla access llamanada id para
identificar cada grupo nuevo que importo)
Es decir:
tabla access
id lote sublote denominacion
tabla excel
lote sublote denominacion

Lo que quiero aora es rellenar mi tabla de acces con los datos que el
usuario a matido en el EXCEL.He encontrado varias maneras pero no se si sera
cosa de la configuracion de la conexion pero no hace nada.La que mas me
atraia era la de INSERT INTO tabla access IN ruta SELECT * FROM Hoja1$
pero no he conseguido nada.Mi ruta la tengo en una variable que se llama
NombreArchivo.Trabajo con un projecto de access(*.adp).
Alguien sabe como hacer esto?
Mi conexio al EXCEL es esta:
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = " + NombreArchivo
.Properties("Extended Properties") = "Excel 8.0;HDR=Yes"
.Open
End With

lo hago al principio del projecto visual y no la vuelvo a cambiar...le falta
algo para poder hacer la exportacion?
muchisimas gracias como siempre!!!
:):)

Preguntas similare

Leer las respuestas

#26 xabi
05/06/2006 - 09:58 | Informe spam
y por ejemplo como se haria para insertar en el campo "id" el resultado de
una variable(nuevo_id)?

sql = "INSERT INTO hdi_reducido" & _
"IN ''[ODBC;Driver={SQL Server};" & _
"Server=ALEB2B;" & _
"Database=master;" & _
"UID=sa;" & _
"PWD=manager] " & _
"&nuevo_id&"

y luego para seguir insertando datos en la misma fila en la que has
insertado esas variable?Es decir:obtengo el nombre de la variable,la inserto
y luego en esa misma fila de datos sigo insertando los datos que leo de otra
fuente.
:)

"xabi" escribió en el mensaje
news:u9Hf$
muchisimas gracias,va perfecto,vamos haber si con esto ya queda todo
encarrilado... :)
muchisimas gracias a todos como siempre,,, :)
"SoftJaén" escribió en el mensaje
news:un%
> "xabi" escribió:
>
> > la sentencia INSERT INTO no me va...
> > Deberia de ser INSERT INTO hdi_reducido(campo1,campo2)
> > VALUES(valor1,valor2...) algo asi verdad?
> >
>
> Sería así si solamente vas a añadir un único registro. Pero lo normal en
> estos casos, es que ejecutes una inserción masiva de registros. Si


deseas
> añadir a la tabla, todos los registros existentes en la hoja de Excel,
> ejecuta la siguiente consulta:
>
> sql = "INSERT INTO hdi_reducido " & _
> "IN ''[ODBC;Driver={SQL Server};" & _
> "Server=ALEB2B;" & _
> "Database=master;" & _
> "UID=sa;" & _
> "PWD=manager] " & _
> "SELECT * FROM [Hoja1$]"
>
> Si deseas conocer la sintaxis del lenguaje SQL del motor Microsoft Jet,


en
> el siguiente enlace encontrarás un breve manual de primeros auxilios:
>
> Manual del lenguaje SQL del motor Microsoft Jet versión 4.0
> http://mvp-access.com/softjaen/manu.../index.htm
>
> Enrique Martínez
> [MS MVP - VB]
>
> Nota informativa: La información contenida en este mensaje, así como el
> código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
> garantías de ninguna clase, y no otorga derecho alguno. Usted asume
> cualquier riesgo al poner en práctica, utilizar o ejecutar lo


recomendado
o
> sugerido en el presente mensaje.
>
>


Respuesta Responder a este mensaje
#27 xabi
05/06/2006 - 10:20 | Informe spam
atope :)
ondo pasaaa!!!
"Eva" escribió en el mensaje
news:
Sigo por la Euskadi profunda :) aunque no tanto

"xabi" escribió en el mensaje
news:
>y donde andas aora?
>
>


Respuesta Responder a este mensaje
#28 Eva
05/06/2006 - 12:15 | Informe spam
Para actualizar la tabla, el update de toda la vida
update <tabla>
set <campo1> = <valor1>, <campo2> = <valor2>.

El campo ID, si es autonumérico, no lo vas a poder actualizar.


"xabi" escribió en el mensaje
news:
y por ejemplo como se haria para insertar en el campo "id" el resultado de
una variable(nuevo_id)?

sql = "INSERT INTO hdi_reducido" & _
"IN ''[ODBC;Driver={SQL Server};" & _
"Server=ALEB2B;" & _
"Database=master;" & _
"UID=sa;" & _
"PWD=manager] " & _
"&nuevo_id&"

y luego para seguir insertando datos en la misma fila en la que has
insertado esas variable?Es decir:obtengo el nombre de la variable,la
inserto
y luego en esa misma fila de datos sigo insertando los datos que leo de
otra
fuente.
:)

"xabi" escribió en el mensaje
news:u9Hf$
muchisimas gracias,va perfecto,vamos haber si con esto ya queda todo
encarrilado... :)
muchisimas gracias a todos como siempre,,, :)
"SoftJaén" escribió en el mensaje
news:un%
> "xabi" escribió:
>
> > la sentencia INSERT INTO no me va...
> > Deberia de ser INSERT INTO hdi_reducido(campo1,campo2)
> > VALUES(valor1,valor2...) algo asi verdad?
> >
>
> Sería así si solamente vas a añadir un único registro. Pero lo normal
> en
> estos casos, es que ejecutes una inserción masiva de registros. Si


deseas
> añadir a la tabla, todos los registros existentes en la hoja de Excel,
> ejecuta la siguiente consulta:
>
> sql = "INSERT INTO hdi_reducido " & _
> "IN ''[ODBC;Driver={SQL Server};" & _
> "Server=ALEB2B;" & _
> "Database=master;" & _
> "UID=sa;" & _
> "PWD=manager] " & _
> "SELECT * FROM [Hoja1$]"
>
> Si deseas conocer la sintaxis del lenguaje SQL del motor Microsoft Jet,


en
> el siguiente enlace encontrarás un breve manual de primeros auxilios:
>
> Manual del lenguaje SQL del motor Microsoft Jet versión 4.0
> http://mvp-access.com/softjaen/manu.../index.htm
>
> Enrique Martínez
> [MS MVP - VB]
>
> Nota informativa: La información contenida en este mensaje, así como el
> código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
> garantías de ninguna clase, y no otorga derecho alguno. Usted asume
> cualquier riesgo al poner en práctica, utilizar o ejecutar lo


recomendado
o
> sugerido en el presente mensaje.
>
>






Respuesta Responder a este mensaje
#29 xabi
05/06/2006 - 12:51 | Informe spam
Con Autonumerico te refieres a que es el ID que el propio access me inserta
para diferenciar unos registros de otros?Si es asi no,el id es un campo que
yo he insertado y el que pillara diferentes valores(el siguiente uno mas que
el anterior)Pero el caso es que lo guardo en una variable llamada
nuevo_id,esta variable debe de ser insertada junto con la demas informacion
que copie del excel...como lo hago "todo de una?" o por pasos:
1-Consigo el valor de nuevo_id

2-Lo inserto en la tabla access
id lote sublote
4 null null

3-Copio los datos de mi excel a la tabla access
id lote sublote
4 dato1 dato2

Con uptdate bastaria o deberia de hacer insert into dos veces?

"Eva" escribió en el mensaje
news:%
Para actualizar la tabla, el update de toda la vida
update <tabla>
set <campo1> = <valor1>, <campo2> = <valor2>.

El campo ID, si es autonumérico, no lo vas a poder actualizar.


"xabi" escribió en el mensaje
news:
>y por ejemplo como se haria para insertar en el campo "id" el resultado


de
> una variable(nuevo_id)?
>
> sql = "INSERT INTO hdi_reducido" & _
> "IN ''[ODBC;Driver={SQL Server};" & _
> "Server=ALEB2B;" & _
> "Database=master;" & _
> "UID=sa;" & _
> "PWD=manager] " & _
> "&nuevo_id&"
>
> y luego para seguir insertando datos en la misma fila en la que has
> insertado esas variable?Es decir:obtengo el nombre de la variable,la
> inserto
> y luego en esa misma fila de datos sigo insertando los datos que leo de
> otra
> fuente.
> :)
>
> "xabi" escribió en el mensaje
> news:u9Hf$
>> muchisimas gracias,va perfecto,vamos haber si con esto ya queda todo
>> encarrilado... :)
>> muchisimas gracias a todos como siempre,,, :)
>> "SoftJaén" escribió en el mensaje
>> news:un%
>> > "xabi" escribió:
>> >
>> > > la sentencia INSERT INTO no me va...
>> > > Deberia de ser INSERT INTO hdi_reducido(campo1,campo2)
>> > > VALUES(valor1,valor2...) algo asi verdad?
>> > >
>> >
>> > Sería así si solamente vas a añadir un único registro. Pero lo normal
>> > en
>> > estos casos, es que ejecutes una inserción masiva de registros. Si
> deseas
>> > añadir a la tabla, todos los registros existentes en la hoja de


Excel,
>> > ejecuta la siguiente consulta:
>> >
>> > sql = "INSERT INTO hdi_reducido " & _
>> > "IN ''[ODBC;Driver={SQL Server};" & _
>> > "Server=ALEB2B;" & _
>> > "Database=master;" & _
>> > "UID=sa;" & _
>> > "PWD=manager] " & _
>> > "SELECT * FROM [Hoja1$]"
>> >
>> > Si deseas conocer la sintaxis del lenguaje SQL del motor Microsoft


Jet,
> en
>> > el siguiente enlace encontrarás un breve manual de primeros auxilios:
>> >
>> > Manual del lenguaje SQL del motor Microsoft Jet versión 4.0
>> > http://mvp-access.com/softjaen/manu.../index.htm
>> >
>> > Enrique Martínez
>> > [MS MVP - VB]
>> >
>> > Nota informativa: La información contenida en este mensaje, así como


el
>> > código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
>> > garantías de ninguna clase, y no otorga derecho alguno. Usted asume
>> > cualquier riesgo al poner en práctica, utilizar o ejecutar lo
> recomendado
>> o
>> > sugerido en el presente mensaje.
>> >
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
#30 Eva
05/06/2006 - 15:04 | Informe spam
Si tú generas el id (supongo que es identificador único del registro) tienes
que tener mucho cuidado y asegurarte de generar correctamente el id y que no
haya, por nada del mundo, duplicados. Si lo haces en bloque, tienes que
tener en cuenta que otra persona puede estar generando un nuevo id para un
nuevo registro. Si te estás basando en el id del último registro insertado,
está casi garantizado que tú y la otra persona vayáis a generar un id
duplicado.

En este caso, deberías plantear la inserción de cada uno de los registros
como una transacción atómica, con control de id duplicado y vuelta atrás si
fuera necesario. Podemos verlo en detalle si es necesario.

"xabi" escribió en el mensaje
news:
Con Autonumerico te refieres a que es el ID que el propio access me
inserta
para diferenciar unos registros de otros?Si es asi no,el id es un campo
que
yo he insertado y el que pillara diferentes valores(el siguiente uno mas
que
el anterior)Pero el caso es que lo guardo en una variable llamada
nuevo_id,esta variable debe de ser insertada junto con la demas
informacion
que copie del excel...como lo hago "todo de una?" o por pasos:
1-Consigo el valor de nuevo_id

2-Lo inserto en la tabla access
id lote sublote
4 null null

3-Copio los datos de mi excel a la tabla access
id lote sublote
4 dato1 dato2

Con uptdate bastaria o deberia de hacer insert into dos veces?

"Eva" escribió en el mensaje
news:%
Para actualizar la tabla, el update de toda la vida
update <tabla>
set <campo1> = <valor1>, <campo2> = <valor2>.

El campo ID, si es autonumérico, no lo vas a poder actualizar.


"xabi" escribió en el mensaje
news:
>y por ejemplo como se haria para insertar en el campo "id" el resultado


de
> una variable(nuevo_id)?
>
> sql = "INSERT INTO hdi_reducido" & _
> "IN ''[ODBC;Driver={SQL Server};" & _
> "Server=ALEB2B;" & _
> "Database=master;" & _
> "UID=sa;" & _
> "PWD=manager] " & _
> "&nuevo_id&"
>
> y luego para seguir insertando datos en la misma fila en la que has
> insertado esas variable?Es decir:obtengo el nombre de la variable,la
> inserto
> y luego en esa misma fila de datos sigo insertando los datos que leo de
> otra
> fuente.
> :)
>
> "xabi" escribió en el mensaje
> news:u9Hf$
>> muchisimas gracias,va perfecto,vamos haber si con esto ya queda todo
>> encarrilado... :)
>> muchisimas gracias a todos como siempre,,, :)
>> "SoftJaén" escribió en el mensaje
>> news:un%
>> > "xabi" escribió:
>> >
>> > > la sentencia INSERT INTO no me va...
>> > > Deberia de ser INSERT INTO hdi_reducido(campo1,campo2)
>> > > VALUES(valor1,valor2...) algo asi verdad?
>> > >
>> >
>> > Sería así si solamente vas a añadir un único registro. Pero lo
>> > normal
>> > en
>> > estos casos, es que ejecutes una inserción masiva de registros. Si
> deseas
>> > añadir a la tabla, todos los registros existentes en la hoja de


Excel,
>> > ejecuta la siguiente consulta:
>> >
>> > sql = "INSERT INTO hdi_reducido " & _
>> > "IN ''[ODBC;Driver={SQL Server};" & _
>> > "Server=ALEB2B;" & _
>> > "Database=master;" & _
>> > "UID=sa;" & _
>> > "PWD=manager] " & _
>> > "SELECT * FROM [Hoja1$]"
>> >
>> > Si deseas conocer la sintaxis del lenguaje SQL del motor Microsoft


Jet,
> en
>> > el siguiente enlace encontrarás un breve manual de primeros
>> > auxilios:
>> >
>> > Manual del lenguaje SQL del motor Microsoft Jet versión 4.0
>> > http://mvp-access.com/softjaen/manu.../index.htm
>> >
>> > Enrique Martínez
>> > [MS MVP - VB]
>> >
>> > Nota informativa: La información contenida en este mensaje, así como


el
>> > código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
>> > garantías de ninguna clase, y no otorga derecho alguno. Usted asume
>> > cualquier riesgo al poner en práctica, utilizar o ejecutar lo
> recomendado
>> o
>> > sugerido en el presente mensaje.
>> >
>> >
>>
>>
>
>






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida