
Agregar datos a datagrid
Publicado por Carlos (4 intervenciones) el 05/10/2009 21:45:15
Hola a todos
Antes que me reclamen que no estoy en el foro correspondiente, expreso que he dejado similar consulta en el vb net foro pero no he tenido respuesta, es por eso que recurro a este foro mas amigable
Estoy trabajando con visual basic 2008 express y una base datos access
Carga bien en el form_load
El problema que tengo es que cuando presiono un boton guardar se me queda como colgado y no termina de cargar nunca
alguien podria darme una mano por favor
Gracias
Carlos
Imports System.Data.OleDb
Imports System.Data.DataRow
Public Class frmBase
Private MiConexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|" & "\costo01.mdb")
Private MiAdaptadorMat As New OleDbDataAdapter("SELECT * FROM precios WHERE COS_MATMDO = 'MAT' ORDER BY COS_DESCR", MiConexion)
Private MiDataSetMat As New DataSet()
Private MiEnlazadorMat As New BindingSource
'Monedas
Private MiAdaptadorMoneda As New OleDbDataAdapter("SELECT COS_MONEDA FROM precios GROUP BY COS_MONEDA", MiConexion)
Private MiDataSetMoneda As New DataSet()
Private MiEnlazadorMoneda As New BindingSource
'Unidad de medida
Private MiAdaptadorUnimed As New OleDbDataAdapter("SELECT COS_UNIMED FROM precios GROUP BY COS_UNIMED", MiConexion)
Private MiDataSetUnimed As New DataSet()
Private MiEnlazadorUnimed As New BindingSource
Private Sub Cargar_datos()
MiEnlazadorMat.DataSource = Nothing
Dim commandbuilderMat As New OleDb.OleDbCommandBuilder(Me.MiAdaptadorMat) 'Materiales
Dim commandbuilderMoneda As New OleDb.OleDbCommandBuilder(Me.MiAdaptadorRD) 'Tipo moneda
With MiAdaptadorMat
.InsertCommand = commandbuilderMat.GetInsertCommand
.DeleteCommand = commandbuilderMat.GetDeleteCommand
.UpdateCommand = commandbuilderMat.GetUpdateCommand
End With
MiAdaptadorMat.Fill(MiDataSetMat) 'Materiales
MiEnlazadorMat.DataSource = MiDataSetMat.Tables(0)
Me.cmbMat.DataSource = Nothing
Me.cmbMat.DataSource = MiEnlazadorMat
Me.cmbMat.DisplayMember = "COS_DESCR"
Me.cmbMat.ValueMember = "COS_COSTO"
Me.cmbUnidadMat.DataSource = Nothing
Me.cmbUnidadMat.DataSource = MiEnlazadorMat
Me.cmbUnidadMat.DisplayMember = "COS_UNIMED"
Me.cmbMonedaMat.DataSource = Nothing
Me.cmbMonedaMat.DataSource = MiEnlazadorMat
Me.cmbMonedaMat.DisplayMember = "COS_MONEDA"
Me.MiAdaptadorMat.Update(CType(Me.MiEnlazadorMat.D ataSource, DataTable))
Me.txtCostoMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_COSTO"))
Me.txtCostoMat.Text = String.Format("{0:#,##0.##}", Convert.ToDouble(txtCostoMat.Text))
Me.cmbMonedaMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_MONEDA"))
Me.txtMonedaMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_MONEDA"))
Me.txtFechaMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_FECHA"))
Me.txtUnidadMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_UNIMED"))
If cmbMat.SelectedItem(7) Is DBNull.Value Then 'Observaciones
Me.txtObservacionesMat.Text = String.Empty
Else
Me.txtObservaciones.Text = cmbMat.SelectedItem(7)
End If
If cmbMat.SelectedItem(8) Is DBNull.Value Then 'Proveedor
Me.txtProveedorMat.Text = String.Empty
Else
Me.txtProveedorMat.Text = cmbMat.SelectedItem(8)
End If
Me.GridMateriales.DataSource = Nothing
Me.GridMateriales.DataSource = MiDataSetMat.Tables(0)
MiEnlazadorMoneda.DataSource = Nothing
MiAdaptadorMoneda.Fill(MiDataSetMoneda) 'Tipo de moneda
MiEnlazadorMoneda.DataSource = MiDataSetMoneda.Tables(0)
Me.cmbMonedaMat.DataSource = MiEnlazadorMoneda
Me.cmbMonedaMat.DisplayMember = "COS_DESCR"
'
MiEnlazadorUnimed.DataSource = Nothing
MiAdaptadorUnimed.Fill(MiDataSetUnimed) 'Unidad de medida
MiEnlazadorUnimed.DataSource = MiDataSetUnimed.Tables(0)
Me.cmbUnidadMat.DataSource = MiEnlazadorUnimed
Me.cmbUnidadMat.DisplayMember = "COS_UNIMED"
'Primero cuales seran visibles
Me.GridMateriales.Columns("COS_MATMDO").Visible = False
Me.GridMateriales.Columns("COS_ACTUAL").Visible = False
'Orden de las columnas
Me.GridMateriales.Columns("COS_DESCR").DisplayInde x = 0
Me.GridMateriales.Columns("COS_COSTO").DisplayInde x = 2
Me.GridMateriales.Columns("COS_UNIMED").DisplayInd ex = 1
Me.GridMateriales.Columns("COS_MONEDA").DisplayInd ex = 3
Me.GridMateriales.Columns("COS_FECHA").DisplayInde x = 4
Me.GridMateriales.Columns("COS_MEMO").DisplayIndex = 6
Me.GridMateriales.Columns("COS_PROVEEDOR").Display Index = 5
'Encabezado de las columnas
Me.GridMateriales.Columns("COS_DESCR").HeaderText = "Descripción"
Me.GridMateriales.Columns("COS_COSTO").HeaderText = "Costo"
Me.GridMateriales.Columns("COS_UNIMED").HeaderText = "Unidad"
Me.GridMateriales.Columns("COS_MONEDA").HeaderText = "Moneda"
Me.GridMateriales.Columns("COS_FECHA").HeaderText = "Fecha"
Me.GridMateriales.Columns("COS_MEMO").HeaderText = "Observaciones"
Me.GridMateriales.Columns("COS_PROVEEDOR").HeaderT ext = "Proveedor"
'Ancho de columnas
Me.GridMateriales.Columns("COS_DESCR").Width = 250
Me.GridMateriales.Columns("COS_COSTO").Width = 100
Me.GridMateriales.Columns("COS_UNIMED").Width = 50
Me.GridMateriales.Columns("COS_MONEDA").Width = 80
Me.GridMateriales.Columns("COS_FECHA").Width = 70
Me.GridMateriales.Columns("COS_MEMO").Width = 300
Me.GridMateriales.Columns("COS_PROVEEDOR").Width = 150
'Alineacion de cada columna
Me.GridMateriales.Columns("COS_COSTO").DefaultCell Style.Alignment = DataGridViewContentAlignment.BottomRight
Me.GridMateriales.Columns("COS_UNIMED").DefaultCel lStyle.Alignment = DataGridViewContentAlignment.BottomRight
Me.GridMateriales.Columns("COS_MONEDA").DefaultCel lStyle.Alignment = DataGridViewContentAlignment.BottomRight
Me.GridMateriales.Columns("COS_FECHA").DefaultCell Style.Alignment = DataGridViewContentAlignment.BottomRight
'Formato de columnas numéricas
Me.GridMateriales.Columns("COS_COSTO").DefaultCell Style.Format = "##,##0"
'Formato de encabezado
Me.GridMateriales.Columns("COS_DESCR").HeaderCell. Style.Alignment = DataGridViewContentAlignment.MiddleCenter
Me.GridMateriales.Columns("COS_COSTO").HeaderCell. Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_UNIMED").HeaderCell .Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_MONEDA").HeaderCell .Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_FECHA").HeaderCell. Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_MEMO").HeaderCell.S tyle.Alignment = DataGridViewContentAlignment.MiddleCenter
End Sub
Private Sub frmBase_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Cargar_datos()
End Sub
Private Sub toolMaterialGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
toolMaterialGuardar.Click
With MiAdaptadorMat
.InsertCommand = New System.Data.OleDb.OleDbCommand
.InsertCommand.Connection = MiConexion
.InsertCommand.CommandText = "INSERT INTO Precios(COS_DESCR,COS_COSTO,COS_UNIMED,COS_MONEDA, COS_FECHA,COS_MATMDO,COS_ACTUAL,COS_MEMO,COS_PROVE EDOR) VALUES (@material,@costo,@medida,@moneda,@fecha,@matmdo,@ actual,@memo,@proveedor)"
.InsertCommand.CommandType = System.Data.CommandType.Text
.InsertCommand.Parameters.Add("@material", OleDbType.VarChar).Value = txtMaterialesNuevoMat.Text
.InsertCommand.Parameters.Add("@costo", OleDbType.VarChar).Value = txtCostoEditMat.Text
.InsertCommand.Parameters.Add("@medida", OleDbType.VarChar).Value = cmbUnidadMat.Text
.InsertCommand.Parameters.Add("@moneda", OleDbType.VarChar).Value = txtMonedaMat.Text
.InsertCommand.Parameters.Add("@fecha", OleDbType.VarChar).Value = dateMat.Text
.InsertCommand.Parameters.Add("@matmdo", OleDbType.VarChar).Value = "MAT"
.InsertCommand.Parameters.Add("@actual", OleDbType.VarChar).Value = "N"
.InsertCommand.Parameters.Add("@memo", OleDbType.VarChar).Value = txtObservacionesEditMat.Text
.InsertCommand.Parameters.Add("@proveedor", OleDbType.VarChar).Value = txtProveedorEditMat.Text
.Update(CType(Me.MiEnlazadorMat.DataSource, DataTable))
End With
cmbMat.Text = txtMaterialesNuevoMat.Text
txtCostoMat.Text = txtCostoEditMat.Text
MiConexion.Open()
Dim Resultado = MiAdaptadorMat.InsertCommand.ExecuteNonQuery()
MiConexion.Close()
Call Cargar_datos()
End Sub
Private Sub toolMaterialNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles toolMaterialNuevo.Click
txtMaterialesNuevoMat.Visible = True
txtCostoEditMat.Visible = True
cmbMonedaMat.Visible = True
dateMat.Visible = True
txtProveedorEditMat.Visible = True
cmbUnidadMat.Visible = True
txtObservacionesEditMat.Visible = True
'
txtMaterialesNuevoMat.Text = ""
txtCostoEditMat.Text = ""
txtProveedorEditMat.Text = ""
txtObservacionesEditMat.Text = ""
'
dateMat.Text = Date.Today
End Sub
End Class
Antes que me reclamen que no estoy en el foro correspondiente, expreso que he dejado similar consulta en el vb net foro pero no he tenido respuesta, es por eso que recurro a este foro mas amigable
Estoy trabajando con visual basic 2008 express y una base datos access
Carga bien en el form_load
El problema que tengo es que cuando presiono un boton guardar se me queda como colgado y no termina de cargar nunca
alguien podria darme una mano por favor
Gracias
Carlos
Imports System.Data.OleDb
Imports System.Data.DataRow
Public Class frmBase
Private MiConexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|" & "\costo01.mdb")
Private MiAdaptadorMat As New OleDbDataAdapter("SELECT * FROM precios WHERE COS_MATMDO = 'MAT' ORDER BY COS_DESCR", MiConexion)
Private MiDataSetMat As New DataSet()
Private MiEnlazadorMat As New BindingSource
'Monedas
Private MiAdaptadorMoneda As New OleDbDataAdapter("SELECT COS_MONEDA FROM precios GROUP BY COS_MONEDA", MiConexion)
Private MiDataSetMoneda As New DataSet()
Private MiEnlazadorMoneda As New BindingSource
'Unidad de medida
Private MiAdaptadorUnimed As New OleDbDataAdapter("SELECT COS_UNIMED FROM precios GROUP BY COS_UNIMED", MiConexion)
Private MiDataSetUnimed As New DataSet()
Private MiEnlazadorUnimed As New BindingSource
Private Sub Cargar_datos()
MiEnlazadorMat.DataSource = Nothing
Dim commandbuilderMat As New OleDb.OleDbCommandBuilder(Me.MiAdaptadorMat) 'Materiales
Dim commandbuilderMoneda As New OleDb.OleDbCommandBuilder(Me.MiAdaptadorRD) 'Tipo moneda
With MiAdaptadorMat
.InsertCommand = commandbuilderMat.GetInsertCommand
.DeleteCommand = commandbuilderMat.GetDeleteCommand
.UpdateCommand = commandbuilderMat.GetUpdateCommand
End With
MiAdaptadorMat.Fill(MiDataSetMat) 'Materiales
MiEnlazadorMat.DataSource = MiDataSetMat.Tables(0)
Me.cmbMat.DataSource = Nothing
Me.cmbMat.DataSource = MiEnlazadorMat
Me.cmbMat.DisplayMember = "COS_DESCR"
Me.cmbMat.ValueMember = "COS_COSTO"
Me.cmbUnidadMat.DataSource = Nothing
Me.cmbUnidadMat.DataSource = MiEnlazadorMat
Me.cmbUnidadMat.DisplayMember = "COS_UNIMED"
Me.cmbMonedaMat.DataSource = Nothing
Me.cmbMonedaMat.DataSource = MiEnlazadorMat
Me.cmbMonedaMat.DisplayMember = "COS_MONEDA"
Me.MiAdaptadorMat.Update(CType(Me.MiEnlazadorMat.D ataSource, DataTable))
Me.txtCostoMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_COSTO"))
Me.txtCostoMat.Text = String.Format("{0:#,##0.##}", Convert.ToDouble(txtCostoMat.Text))
Me.cmbMonedaMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_MONEDA"))
Me.txtMonedaMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_MONEDA"))
Me.txtFechaMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_FECHA"))
Me.txtUnidadMat.Text = CStr(MiDataSetMat.Tables(0).Rows(0)("COS_UNIMED"))
If cmbMat.SelectedItem(7) Is DBNull.Value Then 'Observaciones
Me.txtObservacionesMat.Text = String.Empty
Else
Me.txtObservaciones.Text = cmbMat.SelectedItem(7)
End If
If cmbMat.SelectedItem(8) Is DBNull.Value Then 'Proveedor
Me.txtProveedorMat.Text = String.Empty
Else
Me.txtProveedorMat.Text = cmbMat.SelectedItem(8)
End If
Me.GridMateriales.DataSource = Nothing
Me.GridMateriales.DataSource = MiDataSetMat.Tables(0)
MiEnlazadorMoneda.DataSource = Nothing
MiAdaptadorMoneda.Fill(MiDataSetMoneda) 'Tipo de moneda
MiEnlazadorMoneda.DataSource = MiDataSetMoneda.Tables(0)
Me.cmbMonedaMat.DataSource = MiEnlazadorMoneda
Me.cmbMonedaMat.DisplayMember = "COS_DESCR"
'
MiEnlazadorUnimed.DataSource = Nothing
MiAdaptadorUnimed.Fill(MiDataSetUnimed) 'Unidad de medida
MiEnlazadorUnimed.DataSource = MiDataSetUnimed.Tables(0)
Me.cmbUnidadMat.DataSource = MiEnlazadorUnimed
Me.cmbUnidadMat.DisplayMember = "COS_UNIMED"
'Primero cuales seran visibles
Me.GridMateriales.Columns("COS_MATMDO").Visible = False
Me.GridMateriales.Columns("COS_ACTUAL").Visible = False
'Orden de las columnas
Me.GridMateriales.Columns("COS_DESCR").DisplayInde x = 0
Me.GridMateriales.Columns("COS_COSTO").DisplayInde x = 2
Me.GridMateriales.Columns("COS_UNIMED").DisplayInd ex = 1
Me.GridMateriales.Columns("COS_MONEDA").DisplayInd ex = 3
Me.GridMateriales.Columns("COS_FECHA").DisplayInde x = 4
Me.GridMateriales.Columns("COS_MEMO").DisplayIndex = 6
Me.GridMateriales.Columns("COS_PROVEEDOR").Display Index = 5
'Encabezado de las columnas
Me.GridMateriales.Columns("COS_DESCR").HeaderText = "Descripción"
Me.GridMateriales.Columns("COS_COSTO").HeaderText = "Costo"
Me.GridMateriales.Columns("COS_UNIMED").HeaderText = "Unidad"
Me.GridMateriales.Columns("COS_MONEDA").HeaderText = "Moneda"
Me.GridMateriales.Columns("COS_FECHA").HeaderText = "Fecha"
Me.GridMateriales.Columns("COS_MEMO").HeaderText = "Observaciones"
Me.GridMateriales.Columns("COS_PROVEEDOR").HeaderT ext = "Proveedor"
'Ancho de columnas
Me.GridMateriales.Columns("COS_DESCR").Width = 250
Me.GridMateriales.Columns("COS_COSTO").Width = 100
Me.GridMateriales.Columns("COS_UNIMED").Width = 50
Me.GridMateriales.Columns("COS_MONEDA").Width = 80
Me.GridMateriales.Columns("COS_FECHA").Width = 70
Me.GridMateriales.Columns("COS_MEMO").Width = 300
Me.GridMateriales.Columns("COS_PROVEEDOR").Width = 150
'Alineacion de cada columna
Me.GridMateriales.Columns("COS_COSTO").DefaultCell Style.Alignment = DataGridViewContentAlignment.BottomRight
Me.GridMateriales.Columns("COS_UNIMED").DefaultCel lStyle.Alignment = DataGridViewContentAlignment.BottomRight
Me.GridMateriales.Columns("COS_MONEDA").DefaultCel lStyle.Alignment = DataGridViewContentAlignment.BottomRight
Me.GridMateriales.Columns("COS_FECHA").DefaultCell Style.Alignment = DataGridViewContentAlignment.BottomRight
'Formato de columnas numéricas
Me.GridMateriales.Columns("COS_COSTO").DefaultCell Style.Format = "##,##0"
'Formato de encabezado
Me.GridMateriales.Columns("COS_DESCR").HeaderCell. Style.Alignment = DataGridViewContentAlignment.MiddleCenter
Me.GridMateriales.Columns("COS_COSTO").HeaderCell. Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_UNIMED").HeaderCell .Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_MONEDA").HeaderCell .Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_FECHA").HeaderCell. Style.Alignment = DataGridViewContentAlignment.MiddleRight
Me.GridMateriales.Columns("COS_MEMO").HeaderCell.S tyle.Alignment = DataGridViewContentAlignment.MiddleCenter
End Sub
Private Sub frmBase_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Cargar_datos()
End Sub
Private Sub toolMaterialGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
toolMaterialGuardar.Click
With MiAdaptadorMat
.InsertCommand = New System.Data.OleDb.OleDbCommand
.InsertCommand.Connection = MiConexion
.InsertCommand.CommandText = "INSERT INTO Precios(COS_DESCR,COS_COSTO,COS_UNIMED,COS_MONEDA, COS_FECHA,COS_MATMDO,COS_ACTUAL,COS_MEMO,COS_PROVE EDOR) VALUES (@material,@costo,@medida,@moneda,@fecha,@matmdo,@ actual,@memo,@proveedor)"
.InsertCommand.CommandType = System.Data.CommandType.Text
.InsertCommand.Parameters.Add("@material", OleDbType.VarChar).Value = txtMaterialesNuevoMat.Text
.InsertCommand.Parameters.Add("@costo", OleDbType.VarChar).Value = txtCostoEditMat.Text
.InsertCommand.Parameters.Add("@medida", OleDbType.VarChar).Value = cmbUnidadMat.Text
.InsertCommand.Parameters.Add("@moneda", OleDbType.VarChar).Value = txtMonedaMat.Text
.InsertCommand.Parameters.Add("@fecha", OleDbType.VarChar).Value = dateMat.Text
.InsertCommand.Parameters.Add("@matmdo", OleDbType.VarChar).Value = "MAT"
.InsertCommand.Parameters.Add("@actual", OleDbType.VarChar).Value = "N"
.InsertCommand.Parameters.Add("@memo", OleDbType.VarChar).Value = txtObservacionesEditMat.Text
.InsertCommand.Parameters.Add("@proveedor", OleDbType.VarChar).Value = txtProveedorEditMat.Text
.Update(CType(Me.MiEnlazadorMat.DataSource, DataTable))
End With
cmbMat.Text = txtMaterialesNuevoMat.Text
txtCostoMat.Text = txtCostoEditMat.Text
MiConexion.Open()
Dim Resultado = MiAdaptadorMat.InsertCommand.ExecuteNonQuery()
MiConexion.Close()
Call Cargar_datos()
End Sub
Private Sub toolMaterialNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles toolMaterialNuevo.Click
txtMaterialesNuevoMat.Visible = True
txtCostoEditMat.Visible = True
cmbMonedaMat.Visible = True
dateMat.Visible = True
txtProveedorEditMat.Visible = True
cmbUnidadMat.Visible = True
txtObservacionesEditMat.Visible = True
'
txtMaterialesNuevoMat.Text = ""
txtCostoEditMat.Text = ""
txtProveedorEditMat.Text = ""
txtObservacionesEditMat.Text = ""
'
dateMat.Text = Date.Today
End Sub
End Class
Valora esta pregunta


0