Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2010, 13:06
ruboma
 
Fecha de Ingreso: diciembre-2010
Mensajes: 24
Antigüedad: 13 años, 4 meses
Puntos: 0
Actualizar datagrid

A ver si me explico : quiero hacer un form para ver una tabla excel que unos compañeros actulizan de vez en cuando e incluso la mueven de sitio .
Tengo un data grid viex para ver dicha hoja de excel, y en un combo se cargan los valores de la primera columna. A media que selecionas distintos valores de dicho combo , en unos texbox se actualizan los datoa asociados ...esto lo hago con una consulta sql,con la cual hago una busqueda de los datos y me aprece en un segundo datagridview los datos conincidentes con mi criterio (que es la fila de excel cuya primera columna es el dato que aprece en el combo ,..en el codigo es "d")
bien. todo funciona perfecto salvo si cambio la ruta del archivo excel, es decir ,el excel incial esta en C:\ , pero si por ejemplo hago una copia, lo muevo a mis documentos, me carga el primer datagrid bien, con todos los datos, pero la consulta no me la hace y me salta un error de no se han especificado valores

Os pongo el codigo que uso para hacer la consulta

Private Sub loadRange2( _
ByVal sFileName As String, _
ByVal sSheetName As String, _
ByVal sRange As String, _
ByVal dv As DataGridView)
Dim d As String
d = Me.COMBOMOLDE.Text
Try

' // Comprobar que el archivo Excel existe
If System.IO.File.Exists(sFileName) Then

Dim objDataSet2 As System.Data.DataSet
Dim objDataAdapter2 As System.Data.OleDb.OleDbDataAdapter
' // Declarar la Cadena de conexión
Dim sCs As String = "provider=Microsoft.Jet.OLEDB.4.0; " & "data source=" & sFileName & "; Extended Properties=Excel 8.0;"
Dim objOleConnection2 As System.Data.OleDb.OleDbConnection
objOleConnection2 = New System.Data.OleDb.OleDbConnection(sCs)



' // Declarar la consulta SQL que indica el libro y el rango de la hoja
Dim sSql2 As String = "select * from " & "[" & sSheetName & "$" & sRange & "]" & "WHERE MOLDE= '" & d & " '"

' // Obtener los datos
objDataAdapter2 = New System.Data.OleDb.OleDbDataAdapter(sSql2, objOleConnection2)

' // Crear DataSet y llenarlo
objDataSet2 = New System.Data.DataSet

objDataAdapter2.Fill(objDataSet2)
' // Cerrar la conexión
objOleConnection2.Close()

' // Enlazar DataGrid al Dataset
With dv
.DataSource = objDataSet2
.DataMember = objDataSet2.Tables(0).TableName
End With
Else
MsgBox("No se ha encontrado el archivo: " & sFileName, MsgBoxStyle.Exclamation)
End If

'Exit Sub
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try

ME AYUDAIS ....LLEVO DIAS DESEPSERADO CON ESTO