tema enviado por carlosanpy en Visual Basic .NET
tema iniciado el 09/10/2009
Hola a todos
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 guarda en la base datos pero no se refleja en el grid
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