La razón de ser

La vuelta a la Patria es un compromiso...la responsabilidad social...el aporte generoso...el modelo...la vida misma.

Parte 03 Aprendiendo Visual Basic 2010 Express




Ejercicio Nº  13


Implementar un formulario, para obtener la suma de  los

datos de la única columna













Public Class Form1

    Dim dato_col As Decimal
    Dim sumando As Integer
    Dim suma As Decimal
    Dim col0 As New DataGridViewTextBoxColumn()
    Public ingreso As Boolean = False


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e _
                           As System.EventArgs) Handles MyBase.Load

        Label1.Text = "Resultado"
        Button1.Text = "Sumar"
        Button2.Text = "Anexar registros"
        Button3.Text = "Anexar ünica columna"
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As  _
                              System.EventArgs) Handles Button1.Click

        ' módulo para hacer suma

        If ingreso Then
            sumando = 0
            suma = 0
            Do While sumando <= DataGridView1.RowCount - 1
                suma = suma + Me.DataGridView1.Item(0, sumando).Value
                sumando = sumando + 1

            Loop
            Label1.Text = Format(suma, "fixed")
        Else
            Label1.Text = "Grid sin data"
        End If

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As  _
                              System.EventArgs) Handles Button2.Click

        'módula para ingresar filas con números random

        If DataGridView1.ColumnCount > 0 Then
            dato_col = Rnd()
            dato_col = dato_col * 100
            DataGridView1.Rows.Add(New String() {Me.dato_col})
            ingreso = True
        Else
            Label1.Text = "Grid sin columnas"
        End If


    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As  _
                           System.EventArgs) Handles Button3.Click

        ' módulo para ingresar una única columna

        If DataGridView1.ColumnCount = 0 Then
            Me.DataGridView1.Columns.AddRange((New  _
                                               System.Windows.Forms.DataGridViewColumn() {col0}))
            col0.Name = "Columna0"
            col0.HeaderText = "Columna0"
        Else
            Label1.Text = "Coluna única ya ingresada"
        End If

    End Sub

End Class

Ejercicio Nº  14

Instalar en su computador la base de datos NORTHWNDD.mdf que es la base para futuros ejercicios con tablas.

Pasos:
1. Descargar  base de datos ejemplo SQL 
2. Extraerlo en el directorio por defecto C:\SQL Server 2000 Sample Databases

Ejercicio Nº  15

Generar un formulario con la tabla Region y un botón para cambiar el orden de ua columna

 Pasos
1.   Definir un origen de datos con Datos/Agregar nuevo origen de datos
 
 
2.   Click en nueva conexión
3.   Click en  cambiar



 
 

 
4.   Probar conexión

 
5.   Seleccionbar tablas y finalizar
6.   Insertar una tabla y un botón

 
 7.   Definir el orden de la columna  RegionDescripcion por propiedades de RegionBindingSource



 8.   Programar el boton para ordenar la columna RegionID de modo descendente
 




9.   Ingresar manualmente datos en la tabla

10. Salvar y salir

11. Abrir nuevamente el proyecto

12. Se guardaron los datos que ingresó mnualmente? ... posiblemente NO

13. Configurar para que por defecto se salven los cambios




    13.1  Click en el explorador de soluciones


    13.2. Poner en Propiedades

 


14. Probar si se salvan los datos ingresados en la tabla

15. Quitar y reubicar líneas de código









Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'NORTHWNDDataSet._Region
        ' Puede moverla o quitarla según sea necesario.
        Me.RegionTableAdapter.Fill(Me.NORTHWNDDataSet._Region)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
        Me.RegionBindingSource.Sort = "RegionID desc"
        Me.Validate()
        Me.RegionBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.NORTHWNDDataSet)

    End Sub

End Class


Ejercicio Nº  16

Generar un formulario para ingresar datos, de dos maneras diferentes,en la tabla region sin repeticion del dato RegionID.
Considerando
1.- Que el cursor se coloque, para edición del primer dato, en el primer textbox (Propiedades)
2.- Que luego de pulsar la tecla TAB, se ubique en el segundo texbox (Propiedades)
3.- Que no permira editar los datos de la tabla ni anexar (Propiedades)





 

Public Class form1

    Dim A1 As String = "Anexar datos"
    Dim n_fila As Integer
    Dim salir_1 As Boolean
    Dim salir_2 As Boolean

    Dim dato_1 As Integer
    Dim dato_2 As String

    Dim dato_3 As Integer
    Dim dato_4 As String

    Dim newRegionRow As NORTHWNDDataSet.RegionRow

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e _
     As System.EventArgs) Handles Label1.Click

        dato_1 = Val(TextBox1.Text) 'dato de RegionID
        dato_2 = TextBox2.Text 'dato de RegionDescription
        dato_3 = dato_1 + 1 'Dato de RegionID incrementado en 1
        dato_4 = "Prueba" + LTrim(Str(dato_3)) 'dato de RegionDescription

        If dato_1 > 0 And Len(dato_2) > 0 Then

            n_fila = 0
            salir_1 = True

            ' Chequear si RegioID # 1 existe
            Do While n_fila <= Me.RegionDataGridView.RowCount - 1
                If dato_1 = Me.RegionDataGridView.Item(0, n_fila).Value() Then
                    salir_1 = False
                    Exit Do
                End If
                n_fila = n_fila + 1
            Loop

            n_fila = 0
            salir_2 = True

            ' Chequear si RegioID # 2 existe
            Do While n_fila <= Me.RegionDataGridView.RowCount - 1

                If dato_3 = Me.RegionDataGridView.Item(0, n_fila).Value() Then
                    salir_2 = False
                    Exit Do
                End If
                n_fila = n_fila + 1
            Loop


            If salir_1 And salir_2 Then 'Las 2 RegionID no existen

                ' Crear una nueva fila
                newRegionRow = Me.NORTHWNDDataSet._Region.NewRegionRow()

                newRegionRow.RegionID = dato_1
                newRegionRow.RegionDescription = dato_2

                Try
                    'inserta una fila (método 1)
                    Me.NORTHWNDDataSet._Region.Rows.Add(newRegionRow)

                    ' añade la nueva fila a la tabla (método 2)
                    RegionTableAdapter.Insert(dato_3, dato_4)

                    Me.Validate()
                    Me.RegionBindingSource.EndEdit()

                    'Actualiza los cambios
                    Me.RegionTableAdapter.Update(Me.NORTHWNDDataSet._Region)
                    MsgBox("Update exitosa")

                    'Visualizar la tabla
                    Me.RegionTableAdapter.Fill(Me.NORTHWNDDataSet._Region)
                Catch ex As Exception
                    MsgBox("Update fallida")
                End Try
            Else
                MsgBox("RegionID existente")
            End If

        Else
            MsgBox("Dato Nulo")
        End If
      
    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As  _
                           System.EventArgs) Handles MyBase.Load
        'TODO: esta línea carga datos en la tabla
        'NORTHWNDDataSet._Region y muestra el contenido
        Me.RegionTableAdapter.Fill(Me.NORTHWNDDataSet._Region)

        Me.RegionBindingSource.Sort = "RegionID"

        Label1.Text = A1
        Label2.Text = "RegionID"
        Label3.Text = "RegionDescription"
        Label4.Text = "Salir"

    End Sub

    Private Sub TextBox1_KeyPress(ByVal sender As Object, _
       ByVal e As System.Windows.Forms.KeyPressEventArgs) _
       Handles TextBox1.KeyPress

        If InStr(1, "0123456789" & Chr(8), e.KeyChar) = 0 Then
            e.KeyChar = ""
        End If

    End Sub


    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click
        Me.Close() 'cierra el formulario actual
    End Sub

End Class





7 comentarios:

  1. excelente material gracias por compartir sus conocimientos

    ResponderEliminar
    Respuestas
    1. Gracias por tus palabras. Anima
      Sácale el máximo de provecho y compártelo con los panas.

      Me agrada haya sido de ayuda

      Buen camino

      Eliminar
  2. excelente pagina voy a recomendarla

    ResponderEliminar
  3. Gracias por tus palabras. Comparte cuando tengas chance con toda tu gente, y avanzaremos de verdad.

    Buen camino

    ResponderEliminar
  4. por que no me deja manejarla desde visual basic.net 2013

    ResponderEliminar
    Respuestas
    1. Tendrás que revisar si hay algún comando que no migró a la nueva versión o algo más simple, error de sintaxis, lo más posible. Un abrazo y buen camino

      Eliminar

Escribir comentario, el más fácil es como anónimo