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
excelente material gracias por compartir sus conocimientos
ResponderEliminarGracias por tus palabras. Anima
EliminarSácale el máximo de provecho y compártelo con los panas.
Me agrada haya sido de ayuda
Buen camino
excelente pagina voy a recomendarla
ResponderEliminarGracias por tus palabras. Comparte cuando tengas chance con toda tu gente, y avanzaremos de verdad.
ResponderEliminarBuen camino
por que no me deja manejarla desde visual basic.net 2013
ResponderEliminarTendrá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
Eliminarcomo se hace un sistema D'hondt en visual
ResponderEliminar