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

Cargar una DatagridView con datos de Excel y Acces en vb.net

Estas en el tema de Cargar una DatagridView con datos de Excel y Acces en vb.net en el foro de .NET en Foros del Web. Tengo un Problema con un programita que estoy desarrollando: es una aplicacion la cual lee un archivo de Excel y lo pasa a una datagridview ...
  #1 (permalink)  
Antiguo 03/12/2013, 13:26
 
Fecha de Ingreso: diciembre-2013
Ubicación: Reynosa
Mensajes: 1
Antigüedad: 10 años, 11 meses
Puntos: 0
Cargar una DatagridView con datos de Excel y Acces en vb.net

Tengo un Problema con un programita que estoy desarrollando:

es una aplicacion la cual lee un archivo de Excel y lo pasa a una datagridview en vb.net para posteriromente con una columna hacer una consulta en acces k me de los valores que le corresponden:

Este paso esta dominado

Dim Archivo As String
Dim a As Object
Dim APrueba As Object
a = CreateObject("Excel.Application")
a.Visible = False
Archivo = PathFile
APrueba = a.Workbooks.Open(Archivo)
APrueba.WorkSheets("REYNOSA").Cells(1, 1) = "NoReg"
APrueba.WorkSheets("REYNOSA").Cells(1, 2) = "Nombre"
APrueba.WorkSheets("REYNOSA").Cells(1, 3) = "FechaNotific"
APrueba.WorkSheets("REYNOSA").Cells(1, 4) = "Edad"
APrueba.WorkSheets("REYNOSA").Cells(1, 5) = "Sexo"
APrueba.WorkSheets("REYNOSA").Cells(1, 6) = "CalleyNumero"
APrueba.WorkSheets("REYNOSA").Cells(1, 7) = "Colonia"
APrueba.WorkSheets("REYNOSA").Cells(1, 11) = "CPB"
APrueba.Close(SaveChanges:=True)
a.Quit()
a = Nothing

'Face de integracion de las columnas de Excel a DatagridView
Dim cadenaConexion As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & PathFile & "';Extended Properties='Excel 12.0 Xml;HDR=Yes'"
Using cnn As New OleDbConnection(cadenaConexion)
cnn.Open()
Dim cmd As OleDbCommand = cnn.CreateCommand()
cmd.CommandText = "SELECT NoReg, Nombre, FechaNotific, Edad, Sexo, CalleyNumero, Colonia, CPB FROM [REYNOSA$]"

'cmd.CommandText = "SELECT tblUnidadMedica.Id, tblUnidadMedica.UnidadMedica, tblUnidadMedica.Promotor_Responsable, tblColonias.Id, tblColonias.Colonia FROM tblUnidadMedica INNER JOIN tblColonias ON tblUnidadMedica.Id = tblColonias.Id WHERE tblColonias.Colonia='Hidalgo'"


Dim da As New OleDbDataAdapter(cmd)
Dim dt As New DataTable()
da.Fill(dt)

DataGridView1.DataSource = dt
cnn.Close()
End Using

Despues meto la columna que me interasa a un listbox tambien esta controlado

For Each row As DataGridViewRow In DataGridView1.Rows

ListBox1.Items.Add(Convert.ToString(row.Cells("Col onia").Value))
Next

aqui vien el problema consulto la base de datos pero como es que puedo añadir estos resultados a la misma DataGridView a las dos ultimas columnas

este es el codigo de la consulta

Dim Items As ListBox.ObjectCollection
Items = ListBox1.Items
Dim count As Integer = Items.Count
Dim i As Integer
For i = 0 To count - 1
Dim Colonias As String

Colonias = Items(i)


Dim cnx As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=C:\DataBaseDengue\DengueDB.mdb")
Dim sqlbuscar As String
cnx.Open()


'sqlbuscar = "Select UnidadMedica, Promotor_Responsable from tblUnidadMedica WHERE tblUnidadMedica.Id='001Rod'"
sqlbuscar = "SELECT tblUnidadMedica.UnidadMedica, tblUnidadMedica.Promotor_Responsable FROM tblUnidadMedica INNER JOIN tblColonias ON tblUnidadMedica.Id = tblColonias.Id WHERE tblColonias.Colonia ='" & Colonias & "'"
Dim cmdAcces As New OleDbCommand(sqlbuscar, cnx)
cmdAcces.CommandType = CommandType.Text
Dim lectura As OleDbDataReader = cmdAcces.ExecuteReader
Try
If lectura.Read = True Then





lectura.Close()
Else
MsgBox("No se Encontraron Datos para el Registro '" & Colonias & "'")
End If
cnx.Close()
Catch ex As Exception

End Try

Next



el resultado k espero es k haya datos de excel y de acces en esta datagridview
y solo me arroja datos de excel y cuendo entra la consulta de acces borra lo que ya esta en la grid y lo remplaza por la consulta

Etiquetas: vb
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 13:43.