Visual Basic - Agregar datos a datagrid

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder