Foros del Web » Programación para mayores de 30 ;) » .NET »

Actualizar datagrid

Estas en el tema de Actualizar datagrid en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/12/2010, 13:06
 
Fecha de Ingreso: diciembre-2010
Mensajes: 24
Antigüedad: 13 años, 3 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
  #2 (permalink)  
Antiguo 30/12/2010, 13:27
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Actualizar datagrid

En sí deseas darle la ruta para que cargue tu excel ?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 30/12/2010, 13:54
 
Fecha de Ingreso: diciembre-2010
Mensajes: 24
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Actualizar datagrid

efectivamente, deseo cargar un nuevo excel ( el cual elijo con un openfiledialog) yme deje hacer lo mismo que hacia al principio de cargar el form... ese es el problema ,que con el nuevo excel lo cargo, lo veo todos los registros , pero no puedo hacerle consultas
  #4 (permalink)  
Antiguo 30/12/2010, 14:40
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Actualizar datagrid

Haber aqui te mando esto, creas 2 sub y ejecuta en tu load el cargarExcel :


Metodo Reintenta
Código vb:
Ver original
  1. Public Sub reintenta(ByVal x As String, ByVal y As String, ByVal q As String, ByVal d As DataGridView)
  2. Try
  3. OpenFileDialog1.Title = "Abrir Archivos *.xls"
  4. OpenFileDialog1.DefaultExt = "rpt"
  5. OpenFileDialog1.Filter = "Excel Files|*.xls"
  6. OpenFileDialog1.FilterIndex = 1
  7. OpenFileDialog1.FileName = String.Empty
  8.  
  9. If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
  10.  
  11. If OpenFileDialog1.FileName = "" Then
  12. Return
  13. End If
  14. cargarExcel(OpenFileDialog1.FileName, y, z, d)
  15. End If
  16. Catch ex As Exception
  17. MessageBox.Show(ex.Message.ToString(), "Error")
  18. End Try
  19.  
  20. End Sub

Metodo cargarExcel :
Código vb:
Ver original
  1. Public Sub cargarExcel(ByVal sFileName As String, ByVal sSheetName As String, ByVal sRange As String, ByVal dv As DataGridView)
  2. Dim d As String
  3. d = Me.COMBOMOLDE.Text
  4. Try
  5.  
  6. ' // Comprobar que el archivo Excel existe
  7. If System.IO.File.Exists(sFileName) Then
  8.  
  9. Dim objDataSet2 As System.Data.DataSet
  10. Dim objDataAdapter2 As System.Data.OleDb.OleDbDataAdapter
  11. ' // Declarar la Cadena de conexión
  12. Dim sCs As String = "provider=Microsoft.Jet.OLEDB.4.0; " & "data source=" & sFileName & "; Extended Properties=Excel 8.0;"
  13. Dim objOleConnection2 As System.Data.OleDb.OleDbConnection
  14. objOleConnection2 = New System.Data.OleDb.OleDbConnection(sCs)
  15.  
  16.  
  17.  
  18. ' // Declarar la consulta SQL que indica el libro y el rango de la hoja
  19. Dim sSql2 As String = "select * from " & "[" & sSheetName & "$" & sRange & "]" & "WHERE MOLDE= '" & d & " '"
  20.  
  21. ' // Obtener los datos
  22. objDataAdapter2 = New System.Data.OleDb.OleDbDataAdapter(sSql2, objOleConnection2)
  23.  
  24. ' // Crear DataSet y llenarlo
  25. objDataSet2 = New System.Data.DataSet
  26.  
  27. objDataAdapter2.Fill(objDataSet2)
  28. ' // Cerrar la conexión
  29. objOleConnection2.Close()
  30.  
  31. ' // Enlazar DataGrid al Dataset
  32. With dv
  33. .DataSource = objDataSet2
  34. .DataMember = objDataSet2.Tables(0).TableName
  35. End With
  36. Else
  37. MsgBox("No se ha encontrado el archivo:\n" & sFileName & "\nPor Favor Eliga la Nueva Ruta", MsgBoxStyle.Exclamation)
  38. reintenta(sFileName, sSheetName, sRange, dv)
  39. End If
  40.  
  41. 'Exit Sub
  42. Catch ex As Exception
  43. MsgBox(ex.Message, MsgBoxStyle.Critical)
  44. End Try
  45.  
  46. End Sub

Espero haberte ayudado. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 30/12/2010 a las 14:45
  #5 (permalink)  
Antiguo 30/12/2010, 15:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 24
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Actualizar datagrid

hecho ........... gracias
  #6 (permalink)  
Antiguo 30/12/2010, 15:35
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Actualizar datagrid

De nada ! para eso estamos! para ayudarnos!. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: datagrid
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:40.