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