Base de datos en datagrid con columnas predefinida
Publicado por Neo (16 intervenciones) el 18/06/2008 20:53:05
Tengo 2 datagridview en el principal cargo una tabla sobre albaranes y al clickear sobre un botón asociado al datagrid principal me carga solo los datos que contienen el ese numero de albarán en el datagrid secundario.
Hasta ahí todo perfecto, el problema es que mi datagrid secundario tiene unas columnas ya predefinidas (le doy otro uso además de ese) en las que quiero que me cargue los datos, pero en vez de hacer eso me crea otras nuevas al lado de estas. ¿Podria alguien ayudarme?
'Aquí cargo 1ª el numero que corresponda del albarán para que funcione la sentencia SQL
If DataGridView3.Columns(e.ColumnIndex).Index = 5 Then
Label5.Text = DataGridView3.Rows(e.RowIndex).Cells(1).Value
End If
strConexion = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ProgramaciónGestor.accdb;Persist Security Info=False"
Try
'Abrimos la conexión
cn = New OleDbConnection(strConexion)
cn.Open()
Catch ex As Exception
MessageBox.Show("Error al abrir la conexión:" & vbCrLf & ex.Message)
Exit Sub
End Try
ds = New Data.DataSet
Ssql = "SELECT Referencia, Codigo, Descripcion, Cajas FROM Docus WHERE N_Albaran=" & Label5.Text
da = New OleDbDataAdapter(Ssql, cn)
Dim cmdBuilder As New OleDbCommandBuilder(da)
'Añadiríamos esta línea si la tabla tiene clave principal
'autoincremental para poder actualizar posteriormente
da.MissingSchemaAction = MissingSchemaAction.AddWithKey '(Añadir con clave)
'Cargamos el DataSet
Try
da.Fill(ds, "Docus")
Catch ex As Exception
MessageBox.Show("Error al cargar el DataSet:" & vbCrLf & ex.Message)
End Try
Try
DataGridView2.DataSource = ds.Tables("Docus")
Catch ex As Exception
MessageBox.Show("Error:" & vbCrLf & ex.Message)
End Try
Try
'Cerramos la conexión
cn = New OleDbConnection(strConexion)
cn.Close()
Catch ex As Exception
MessageBox.Show("Error al cerrar la conexión:" & vbCrLf & ex.Message)
Exit Sub
End Try
End Sub
Hasta ahí todo perfecto, el problema es que mi datagrid secundario tiene unas columnas ya predefinidas (le doy otro uso además de ese) en las que quiero que me cargue los datos, pero en vez de hacer eso me crea otras nuevas al lado de estas. ¿Podria alguien ayudarme?
'Aquí cargo 1ª el numero que corresponda del albarán para que funcione la sentencia SQL
If DataGridView3.Columns(e.ColumnIndex).Index = 5 Then
Label5.Text = DataGridView3.Rows(e.RowIndex).Cells(1).Value
End If
strConexion = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ProgramaciónGestor.accdb;Persist Security Info=False"
Try
'Abrimos la conexión
cn = New OleDbConnection(strConexion)
cn.Open()
Catch ex As Exception
MessageBox.Show("Error al abrir la conexión:" & vbCrLf & ex.Message)
Exit Sub
End Try
ds = New Data.DataSet
Ssql = "SELECT Referencia, Codigo, Descripcion, Cajas FROM Docus WHERE N_Albaran=" & Label5.Text
da = New OleDbDataAdapter(Ssql, cn)
Dim cmdBuilder As New OleDbCommandBuilder(da)
'Añadiríamos esta línea si la tabla tiene clave principal
'autoincremental para poder actualizar posteriormente
da.MissingSchemaAction = MissingSchemaAction.AddWithKey '(Añadir con clave)
'Cargamos el DataSet
Try
da.Fill(ds, "Docus")
Catch ex As Exception
MessageBox.Show("Error al cargar el DataSet:" & vbCrLf & ex.Message)
End Try
Try
DataGridView2.DataSource = ds.Tables("Docus")
Catch ex As Exception
MessageBox.Show("Error:" & vbCrLf & ex.Message)
End Try
Try
'Cerramos la conexión
cn = New OleDbConnection(strConexion)
cn.Close()
Catch ex As Exception
MessageBox.Show("Error al cerrar la conexión:" & vbCrLf & ex.Message)
Exit Sub
End Try
End Sub
Valora esta pregunta


0