Visual Basic - Problemas con una Matriz

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con una Matriz

Publicado por barca1010 (132 intervenciones) el 06/08/2007 10:10:07
Espero que me puedan ayudar, tengo este codigo que utilizo para leer un archivo de excel y luego grabo la informacion en una base de datos, el problema lo tengo al pulsar sobre el boton de importar mas de una vez, en la segunda me aparece el error "Error en el método 'Cells' del objeto '_Global'"

Este es mas o menos el codigo que utilizo, le he quitado la rutina de guardado para que no sea tan largo.

Private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlLibro As Excel.Workbook
Dim xlHoja As Excel.Worksheet
Dim varMatriz() As Variant
Dim MaxRow As Long
Dim MaxCol As Long

Set xlApp = New Excel.Application

Set xlLibro = xlApp.Workbooks.Open("c:\Datos Enero 06.xls")

Set xlHoja = xlApp.Worksheets("Cta Ene06")

MaxRow = xlHoja.Cells.SpecialCells(xlLastCell).Row
MaxCol = xlHoja.Cells.SpecialCells(xlLastCell).Column

varMatriz = xlHoja.Range(Cells(1, 1), Cells(MaxRow, MaxCol))

xlLibro.Close
xlApp.Quit

Set xlHoja = Nothing
Set xlLibro = Nothing
Set xlApp = Nothing
End Sub
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

RE:Problemas con una Matriz

Publicado por barca1010 (132 intervenciones) el 06/08/2007 11:03:12
El problema es que son distintas hojas de excel y todas con nombres distintos.
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

RE:Problemas con una Matriz

Publicado por barca1010 (132 intervenciones) el 06/08/2007 12:47:24
A ver si te explico bien el problema, tengo una aplicacion en VB que tiene que leer distintos archivos o libros de Excel para actualizar la BBDD, yo actualmente utilizo una rutina que abre el archivo XLS y voy leyendo una a una todas las filas de la hoja de excel hasta llegar a la ultima, y mientras las voy leyendo las voy guardando en la BBDD, el problema es que de esta forma la aplicacion va muy lenta, encontre esta otra forma de hacerlo leyendo el rango que desee en la hoja y luego lo grabo, pero solo funciona una vez, cuando intento hacerlo por segunda vez, me da el error que señale anteriormente.......

el codigo que habia escrito no es el original porque es muy largo pero si despues de esta explicacion sigues sin entenderme me avisas y copio el codigo....

muchas 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

RE:Problemas con una Matriz

Publicado por barca1010 (132 intervenciones) el 06/08/2007 13:42:27
Tengo una duda a la hora de hacer la conexion, yo utilizo un ODBC que creo a traves de las heramientas administrativas de Windows, por lo tanto en el codigo de la aplicacion la cadena de conexion queda de esta forma

"ConnectionString = "DSN=(nombre de la bbdd);uid=;pass=;"

como tendria que hacer en este caso porque el odbc apunta a una sola direccion y en esta aplicacion el nombre de los archivos varia y la ubicacion tambien cambia.

Muchas gracias, otra vez
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

RE:Problemas con una Matriz

Publicado por barca1010 (132 intervenciones) el 07/08/2007 07:58:33
Ese es el problema que tengo, porque los usuarios deben seleccionar la hoja de excel desde cualquier ruta, ya sea en una unidad de red, en la unidad de DVD o en cualquier carpeta del disco duro.... por eso mi insitencia de hacerlo como lo habia comentado en el principio, o sea abriendo la hoja de excel llener un vector o una matriz con los datos de la hoja y luego guardar la informacion en la BBDD, lo probe con el codigo que puse al principio pero solo me deja hacerlo una vez a la segunda aparece un error..........!!!!!!!!
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

RE:Problemas con una Matriz

Publicado por barca1010 (132 intervenciones) el 08/08/2007 09:55:07
Estoy intentando lo que me explicastes pero no funciona me da un error.

El codigo es el siguiente

Dim TuConexion As ADODB.Connection

Set TuConexion = New ADODB.Connection
With TuConexion
.ConnectionString = "Data Source= C:\Datos06.xls;" & "Extended_
Properties=Excel 9.0;"
----------> .Open ' aqui es donde aparece el error y dice lo siguiente
"No se encuentra el nombre del origen de datos y no se especifico ningun controlador predeterminado."
End With

Espero que me puedas ayudar. 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