Despues de la actividad N°1 pasamos a otro ejemplo que siempre nos trae dudas a la hora de programar.
Mediante codigos programaremos el formulario y sus botones para que nos deje usar la base de datos, y con el resultado obtenido le diremos al programa que nos haga un listado de los "Mejores Viajes"
Proceseguimos a hacer el Formulario que quedaria asi.
Si a esta altura con tu conocimiento basico de programacion no sabes lo que agregue... entonces no entiendo que haces en este post
11 Buttons
1 Combobox
2 Textbox
5 Label
1 Listbox
Public Class Form1
Private Sub Cambiar(ByVal Cambio As Boolean)
cmdAgregar.Enabled = Cambio
cmdModificar.Enabled = Cambio
cmdEliminar.Enabled = Cambio
cmdPrimero.Enabled = Cambio
cmdAnterior.Enabled = Cambio
cmdSiguiente.Enabled = Cambio
cmdUltimo.Enabled = Cambio
cmdMostrar.Enabled = Cambio
cmdSalir.Enabled = Cambio
cmdAceptar.Enabled = Not Cambio
cmdCancelar.Enabled = Not Cambio
cboRemisero.Enabled = Not Cambio
txtKms.Enabled = Not Cambio
txtDestino.Enabled = Not Cambio
lblValor.Enabled = Not Cambio
lblRecaudacion.Enabled = Not Cambio
End Sub
Private Sub Iniciar()
cboRemisero.Text = ""
txtDestino.Text = ""
txtKms.Text = ""
lblValor.Text = ""
lblRecaudacion.Text = ""
End Sub
Private Sub Cargar(ByVal nRegistro As Integer)
With MiDataSet.Tables("dtRecaudacion".Rows(nRegistro)
cboRemisero.Text = .Item("Remisero".ToString
txtDestino.Text = .Item("Destino".ToString
txtKms.Text = .Item("Kms".ToString
lblRecaudacion.Text = .Item("Recaudacion".ToString
End With
End Sub
Private Sub Calcular()
Dim Costo As Double
lblValor.Text = "3"
Costo = Val(lblValor.Text) * Val(txtKms.Text)
If Costo >= 8 Then
lblRecaudacion.Text = Costo.ToString
Else
lblRecaudacion.Text = "8"
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cambiar(True)
MiConexion.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & CurDir() & "Remiseria.mdb"
MiConexion.Open()
MiAdapter = New OleDb.OleDbDataAdapter("select * from Recaudacion", MiConexion)
MiAdapter.Fill(MiDataSet, "dtRecaudacion"
MiComandoABM = New OleDb.OleDbCommandBuilder(MiAdapter)
MiConexion.Close()
If MiDataSet.Tables("dtRecaudacion".Rows.Count > 0 Then
Posicion = 0
Cargar(Posicion)
End If
End Sub
Private Sub cmdAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAgregar.Click
Cambiar(False)
Flag = 1
Iniciar()
txtDestino.Focus()
End Sub
Private Sub cmdModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdModificar.Click
Cambiar(False)
Flag = 2
txtDestino.Focus()
End Sub
Private Sub cmdAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAceptar.Click
Cambiar(True)
Dim Registro As DataRow
If Flag = 1 Then
Registro = MiDataSet.Tables("dtRecaudacion".NewRow
Registro("Remisero" = cboRemisero.Text
Registro("Destino" = txtDestino.Text
Registro("Kms" = Val(txtKms.Text)
Registro("Recaudacion" = Val(lblRecaudacion.Text)
MiDataSet.Tables("dtRecaudacion".Rows.Add(Registro)
'Posicion = MiDataSet.Tables("dtRecaudacion".Rows.Count - 1
Else
Registro = MiDataSet.Tables("dtRecaudacion".Rows(Posicion)
Registro("Remisero" = cboRemisero.Text
Registro("Destino" = txtDestino.Text
Registro("Kms" = Val(txtKms.Text)
Registro("Recaudacion" = Val(lblRecaudacion.Text)
End If
MiConexion.Open()
MiAdapter.Update(MiDataSet.Tables("dtRecaudacion")
MiConexion.Close()
End Sub
Private Sub txtKms_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKms.TextChanged
Calcular()
End Sub
Private Sub cmdCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancelar.Click
Cambiar(True)
Cargar(Posicion)
End Sub
Private Sub cmdPrimero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrimero.Click
Posicion = 0
Cargar(Posicion)
End Sub
Private Sub cmdUltimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUltimo.Click
Posicion = MiDataSet.Tables("dtRecaudacion".Rows.Count - 1
Cargar(Posicion)
End Sub
Private Sub cmdAnterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAnterior.Click
If Posicion > 0 Then
Posicion -= 1
Else
Posicion = MiDataSet.Tables("dtRecaudacion".Rows.Count - 1
End If
Cargar(Posicion)
End Sub
Private Sub cmdSiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSiguiente.Click
If Posicion < MiDataSet.Tables("dtRecaudacion".Rows.Count - 1 Then
Posicion += 1
Else
Posicion = 0
End If
Cargar(Posicion)
End Sub
Private Sub cmdSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSalir.Click
End
End Sub
Private Sub cmdEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEliminar.Click
If MessageBox.Show("Confirma la Eliminación", "Borrado de Registro", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then
Dim Registro As DataRow
Registro = MiDataSet.Tables("dtRecaudacion".Rows(Posicion)
If Posicion = MiDataSet.Tables("dtRecaudacion".Rows.Count - 1 Then
Registro.Delete()
Posicion -= 1
Else
Registro.Delete()
End If
MiConexion.Open()
MiAdapter.Update(MiDataSet.Tables("dtRecaudacion")
MiConexion.Close()
Cargar(Posicion)
Else
MessageBox.Show("Eliminación cancelada", "Mensaje"
End If
End Sub
Private Sub cmdMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMostrar.Click
Dim UltimaPosicion As Integer, MenorRemisero As String, MenorDestino As String, _
MenorRecaudacion As Double, CantidadViajesLargos As Integer
Dim Remisero As String, Destino As String, Recaudacion As Double, Kms As Double
UltimaPosicion = Posicion
Posicion = 0
MenorRecaudacion = 999999999999
Lista.Items.Add("Remisero" & vbTab & vbTab & "Destino" & vbTab & "Kms" & vbTab & "Recaudacion"
Do While Posicion <= MiDataSet.Tables("dtRecaudacion".Rows.Count - 1
With MiDataSet.Tables("dtRecaudacion"
Remisero = .Rows(Posicion).Item("Remisero".ToString
Destino = .Rows(Posicion).Item("Destino".ToString
Recaudacion = CDbl(.Rows(Posicion).Item("Recaudacion")
Kms = CDbl(.Rows(Posicion).Item("Kms")
If Recaudacion < MenorRecaudacion Then
MenorRemisero = Remisero
MenorDestino = Destino
MenorRecaudacion = Recaudacion
End If
If Kms > 200 Then
CantidadViajesLargos += 1
End If
If Kms > 10 Then
Lista.Items.Add(Remisero & vbTab & Destino & vbTab & Kms.ToString & vbTab & Recaudacion.ToString)
End If
End With
Posicion += 1
Loop
Posicion = UltimaPosicion
lblMenorRemisero.Text = MenorRemisero
lblMenorDestino.Text = MenorDestino
lblMenorRecaudacion.Text = MenorRecaudacion.ToString
lblCantViajesLargos.Text = CantidadViajesLargos.ToString
End Sub
End Class
PD: COMO DESACTIVO LOS EMOTICONES DE TARINGA PARA MI POST?