UNJBG
                                      ¡¡LÍDER EN CAPACITACIÓN INFORMÁTICA!!
           ITEL
                                 Garantía del proceso Enseñanza-Aprendizaje con las últimas
         CARRERA
                                    tecnologías, con computadoras de última generación,
      Técnico Analista                                                                                        CURSO
                                  impresoras, escáner, multimedia, redes, Internet, material
      Programador de                                                                                 Programación Visual .NET II
                               didáctico paso a paso, biblioteca y aula virtual con docentes del
         Sistemas
                                                        más alto nivel.



                                    GUÍA DE LABORATORIO N° 02

OBJETIVOS:
• Creación por código de objetos: Command, DataReader (Escenario Conectado)
• Uso de Plantillas de Formulario de Inicio de Sesión, y Pantalla de Bienvenida, Cuadro Acerca de,
   Formulario Primario MDI (Componentes utilizados: MenuStrip, ToolStrip, StatusStrip)
• Creación y uso de objetos DataView.

1.   ENTORNO INTEGRADO DE DESARROLLO
     • Proceda a ingresar Visual Studio .NET y realice lo siguiente:
     • Deberá Abrir la solución realizada en la práctica anterior (SisVentas)

2.   CREACION DE FORMULARIO DE ACCESO Y ACTUALIZACIÓN DE DATOS EN MODO CONECTADO
     (FRMMODOCONECTADO.VB)
     2.1. Agregue un nuevo formulario a su proyecto y guárdelo con el nombre de frmModoConectado.vb
     2.2. Proceda a agregar los siguientes objetos según se observa a continuación:




     2.3. Establezca los nombres (NAME) a los objetos según lo siguiente:
          • Para los RadioButton: rbtnSeleccion, rbtnModificar, rbtnInsertar, rbtnEliminar respectivcamente
          • Para los TextBox: txtCodigo, txtDescripcion, txtPrecio, txtStock respectivamente
          • Para el Button, será btnEjecutar
          • Para el Label, será lblMensaje
          Así también establezca las otras propiedades para obtener la apariencia deseada



Bimestre Académico   : 2009-                                                               Docente    : José L. Ponce Segura.
Ciclo                : V                                (1 de 7)                           Fecha      : Tacna, Mayo del 2009
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                     Curso: Programación Visual .Net II



     2.4. Ahora procederemos a escribir el código correspondiente:

  Option Compare Text
  Imports System.Data.SqlClient
  Imports System.Data


En la Sección de Declaraciones escriba:
    Dim codi As String, contar As Boolean

Private Sub vergrupos(ByVal x1 As Boolean)
  GroupBox1.Enabled = x1
  GroupBox2.Enabled = Not x1
End Sub
Private Sub CargarDataReader()
  Try
    If Conexion.State = ConnectionState.Closed Then Conexion.Open()
    ' Crear una orden de recuperación
    Dim miOrden As SqlCommand = New SqlCommand("SELECT * FROM Articulo", Conexion)
    ' Crear el DataReader
    Dim drArticulos As SqlDataReader
    ' Crear el DataTable
    Dim tabla As New DataTable
    ' Ejec.la consulta y cargamos los datos devueltos en un DataReader "DrArticulos"
    drArticulos = miOrden.ExecuteReader
    'Cargamos los datos desde el DataReader "drArticulos" en el DataTable "Tabla"
    tabla.Load(drArticulos, LoadOption.OverwriteChanges)
    ' Enlazamos/Mostramos los datos en la grilla
    DataGridView1.DataSource = tabla
    drArticulos.Close()
    Conexion.Close()
  Catch exc As Exception
    MessageBox.Show(exc.Message)
  End Try
End Sub
Private Sub verDetalle(ByVal fila As Integer)
  txtCodigo.Text = DataGridView1.Item(0, fila).Value.ToString
  txtDescripcion.Text = DataGridView1.Item(1, fila).Value.ToString
  txtPrecio.Text = DataGridView1.Item(2, fila).Value.ToString
  txtStock.Text = DataGridView1.Item(3, fila).Value.ToString
End Sub
Private Function noseleccion(ByVal cc As String) As Boolean
  If cc = Nothing Then
    MessageBox.Show("Debe seleccionar un registro")
    rbtnSeleccion.PerformClick()
    Return True
  End If
End Function
Private Sub LimpiarCajas()
  Dim micontrol As Control
  For Each micontrol In Me.GroupBox2.Controls
    If TypeOf (micontrol) Is TextBox Then
      micontrol.Text = ""
      End If
  Next
End Sub




Docente: José Luis Ponce Segura                      Prac02 (2 de 7)      e-mail: jlponcesg@hotmail.com
Cel.: 952636911                                                                        www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                     Curso: Programación Visual .Net II



Private Sub FrmModoConectado_Load(ByVal sender As System.Object, ByVal e As
                                                  System.EventArgs) Handles MyBase.Load
  CargarDataReader()
  DataGridView1.ReadOnly = True
  verDetalle(0)    :    vergrupos(True)
End Sub
Private Sub btnEjecutar_Click(ByVal sender As System.Object, ByVal e As
                                            System.EventArgs) Handles btnEjecutar.Click
  Try
    Dim rpta As Windows.Forms.DialogResult
    Dim n As Integer, strsql As String = ""
    Dim mensaje As String = "", op As Boolean
    If contar = False Then
      rpta = MessageBox.Show("Ejecutar Instrucción SQL=SI ó Desea Cancelar=NO", _
                     "Operacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question,   _
                  MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign, False)
      If rpta = Windows.Forms.DialogResult.No Then
        verDetalle(0)
        CargarDataReader()
        lblMensaje.Text = "Seleccione una opcion"
        vergrupos(True)
        Exit Sub
      End If
    End If
    If Conexion.State = ConnectionState.Closed Then Conexion.Open()
    If rbtnSeleccion.Checked = True Then
      strsql = "SELECT   COUNT(*)   FROM Articulo"
      mensaje = "Número de filas/registros: "
      op = True
    ElseIf rbtnModificar.Checked = True Then
      strsql = "UPDATE Articulo SET CODART='" & txtCodigo.Text & "', " & _
       "DESART='" & txtDescripcion.Text & "', " & "PREART=" & txtPrecio.Text & ", " & _
                             "STOART=" & txtStock.Text & " WHERE CODART='" & codi & "'"
      mensaje = "Número de filas/registros Modificadas: "
      op = False
    ElseIf rbtnInsertar.Checked = True Then
      strsql = "INSERT INTO Articulo (codart,desart,preart,stoart) VALUES ('" & _
                              txtCodigo.Text & "','" & txtDescripcion.Text & "','" & _
                                          txtPrecio.Text & "','" & txtStock.Text & "')"
      mensaje = "Número de filas/registros Insertados: "
      op = False
    ElseIf rbtnEliminar.Checked = True Then
      strsql = "DELETE FROM Articulo WHERE CodArt='" & codi & "'"
      mensaje = "Número de filas/registros Eliminados: "
      op = False
    End If
    Dim miOrden As SqlCommand = New SqlCommand(strsql, Conexion)
    If op = True Then
      n = miOrden.ExecuteScalar
    Else
      n = miOrden.ExecuteNonQuery()
    End If
    vergrupos(True)
    CargarDataReader()    :     verDetalle(0)
    lblMensaje.Text = mensaje & CStr(n)
    Conexion.Close()
  Catch exc As Exception
    MessageBox.Show(exc.Message)
  End Try
End Sub

Docente: José Luis Ponce Segura                      Prac02 (3 de 7)      e-mail: jlponcesg@hotmail.com
Cel.: 952636911                                                                        www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                     Curso: Programación Visual .Net II

Private Sub DataGridView1_CellMouseClick(ByVal sender As Object,
                        ByVal e As System. . . . ) Handles DataGridView1.CellMouseClick
  Dim f As Integer = DataGridView1.CurrentRow.Index
  codi = DataGridView1.Item(0, f).Value.ToString
  verDetalle(f)
  lblMensaje.Text = "Artículo de codigo Nro. :" & codi
End Sub
Private Sub rbtnSeleccion_Click(ByVal sender . . . System.EventArgs) Handles
       rbtnSeleccion.Click, rbtnModificar.Click, rbtnInsertar.Click, rbtnEliminar.Click
  Select Case sender.name
    Case "rbtnSeleccion"
      contar = True
      DataGridView1.Enabled = True
      vergrupos(True)
      Exit Sub
    Case "rbtnModificar"
      If noseleccion(codi) = True Then Exit Sub
      txtCodigo.Enabled = False
      DataGridView1.Enabled = True
      vergrupos(False)
    Case "rbtnInsertar"
      txtCodigo.Enabled = True
      LimpiarCajas()
      txtCodigo.Text = GeneraCodigo()
      DataGridView1.Enabled = False
      vergrupos(False)
    Case "rbtnEliminar"
      If noseleccion(codi) = True Then Exit Sub
      vergrupos(False)
  End Select
  contar = False
End Sub


3.   CREACIÓN DE FORMULARIO DE INICIO DE SESIÓN(FrmInicio.vb)
     3.1. Desde el Menú [Proyecto], seleccione
          [Agregar Nuevo Elemento], luego nos
          visualizará la siguiente ventana:
     3.2. En ésta ventana seleccione la Plantilla
          [Formulario de inicio de sesión].
     3.3. Luego deberá escribir el nombre para nuestro
          formulario: FrmInicioSesion.vb
     3.4. Luego para finalizar haga clic en [Agregar].
     3.5. Luego tendremos el siguiente formulario con
          todos los objetos necesarios para su uso:




Docente: José Luis Ponce Segura                      Prac02 (4 de 7)      e-mail: jlponcesg@hotmail.com
Cel.: 952636911                                                                        www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                                    Curso: Programación Visual .Net II



   3.6. Luego sólo nos queda agregar el código necesario para darle funcionalidad al mismo:
 ' Antes de Public Class FrmInicioSesion
 Imports         System.Data
 Imports         System.Data.SqlClient
 ' Esto va en la sección declaraciones, después de Public Class FrmInicioSesion
 Dim    objDataAdapter As SqlDataAdapter                'objeto Adaptador de datos
 Dim    objDataSet As DataSet            'objeto Conjunto de datos
 Private Sub frmInicioSesion_Load(ByVal sender As System......) Handles MyBase.Load
    ' Abriendo la conexion al origen de datos
    Conexion.Open()
    'Creando objeto DataAdapter
    objDataAdapter = New SqlDataAdapter("select * from usuario", Conexion)
    'Creando objeto DataSet
    objDataSet = New DataSet()
    objDataAdapter.Fill(objDataSet, "usuario")
    ' Cerrando la conexión
    Conexion.Close()
 End Sub
 Private Sub OK_Click(ByVal sender As System.Object, .......) Handles OK.Click
    Static cuenta As Integer
    Dim objDataView As New DataView()
    objDataView.Table = objDataSet.Tables("usuario")
    objDataView.RowFilter = "usuario='" & Trim(Me.UsernameTextBox.Text) & "'" & _
    " and " & "clave='" & Trim(Me.PasswordTextBox.Text) & "'"
    If objDataView.Count > 0 Then
         Dim oDr As DataRow
         oDr = objDataView.Item(0).Row
         ‘ Declara la variable sesion en el módulo de tipo string
         sesion = oDr("nombre") & “, “ & oDr("apellido")
         ‘ el contenido la variable usuario podras utilizarla en cualquier form del
         ‘ sistema, para que veas el usuario que ingreso al sistema, por citar un
         ‘ ejemplo u otros usos que se le puede dar
         MsgBox("Esta Usted ingresando como Operador")
         Me.Hide
         Dim frm As New FrmVisArticulos              ' luego deberá ser FrmPrincipal
         frm.Show()
    Else
         cuenta = cuenta + 1
         If cuenta = 3 Then
             MsgBox("PARA OTRA VEZ SERÁ", MsgBoxStyle.Critical, "LO SIENTO")
             End
         End If
         MsgBox("Te queda: " + Str(3 - cuenta) + " oportunidad(es)", 16, "Error")
         UsernameTextBox.Clear() : PasswordTextBox.Clear() : UsernameTextBox.Focus()
    End If
 End Sub

     3.7. LUEGO DEBE ESTABLECER COMO OBJETO INICIAL AL FORMULARIO FrmInicioSesion.

4.   CREACIÓN DE EL FORMULARIO PRINCIPAL MDI (INTERFAZ DE MÚLTIPLES DOCUMENTOS)
     (FrmPrincipal.VB)

     Para ello utilizaremos una plantilla como en los casos de Inicio de Sesión, Pantalla de Bienvenida, etc. Pero
     haciendo los cambios necesarios para poder acceder a todos los formularios, reportes, Ayuda, etc. Para ello siga
     los siguientes pasos:
     4.1. Desde el Menú [Proyecto], seleccione [Agregar Nuevo Elemento], luego en la ventana deberá elegir la
          Plantilla [Formulario Primario MDI].
     4.2. Luego deberá escribir el nombre para nuestro formulario: FrmPrincipal.vb
     4.3. Luego para finalizar haga clic en [Agregar].
Docente: José Luis Ponce Segura                      Prac02 (5 de 7)                     e-mail: jlponcesg@hotmail.com
Cel.: 952636911                                                                                       www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                                          Curso: Programación Visual .Net II

     4.4. Luego tendremos el siguiente formulario con un Menú, Barra de Herramientas y Barra de Estado:




     PERSONALIZANDO EL MENÚ:

     4.5. Como se puede apreciar ya disponemos de un formulario “esqueleto/estructura” de un Formulario Principal,
          con ello hemos ahorrado tiempo en el diseño del mismo, pero debemos hacerle las siguientes
          modificaciones:
     4.6. Para nuestro caso no utilizaremos los Menús Archivo y Editar, entonces podemos borrarlo o NO hacerlos
          visibles en tiempo de ejecución, optaremos por el segundo caso.
     4.7. Haga clic en el menú Archivo (FileMenu), luego ubíquese en la propiedad Visible = False. Haga lo
          mismo para el menú Editar (EditMenu).
     4.8. Ahora proceda a agregar los Menús necesarios según la siguiente estructura:

       Actualizar            Visualizar         Consultas              Transacción             Reportes
        Clientes               Clientes          Clientes               Venta con Factura       Clientes
        Empleados              Empleados         Empleados              Visualiza Factura       Empleado
        Artículos              Artículos         Artículos                                      Artículo
        Cargo                  Cargo             Cargo                                          Facturas x Mes
        Salir                  Factura           Facturas




     4.9. Las opciones de Menú sólo son referenciales, pudiendo Usted agregar otras si así lo requieran.




Docente: José Luis Ponce Segura                      Prac02 (6 de 7)                           e-mail: jlponcesg@hotmail.com
Cel.: 952636911                                                                                             www.redtacna.net
Universidad Nacional Jorge Basadre Grohmann - ITEL
Carrera: Técnico Analista Programador de Sistemas.                                         Curso: Programación Visual .Net II

     PERSONALIZANDO LA BARRA DE HERRAMIENTAS:

     4.10. Ahora procederemos a personalizar la barra de herramientas, es decir el componente ToolStrip, para ello
           empiece seleccionando éste, luego seleccione la propiedad Ítems y haga clic en Colección:
                                                         , luego nos visualizará la siguiente ventana




     4.11. Deberá Usted agregar botones para Artículos, Factura, Reportes, Calculadora, Ayuda, Salir, etc. Debe tener
           en cuenta que estos botones son como accesos directos hacia las tareas que frecuentemente se utilizarán,
           por ello deberá agregar otros botones según su criterio.

     4.12. Como ejemplo agregaremos el Botón Salir, para ello haga clic en [Agregar], observará que se agregar un
           nuevo miembro o botón con el nombre ToolStripButton1.

     4.13. A continuación procederemos a establecer algunas propiedades a éste nuevo botón, para ello seleccione
           el nuevo botón ToolStripButton1:
           • (Name)             = SalirToolStripButton
           • Text               = Salir
           • ToolTipText        = Salir
           • Image              = Deberá buscar el icono adecuado
     4.14. Utilice los botones               para cambiar el orden o eliminar los botones que no se utilizarán.
     4.15. Para finalizar haga clic en Aceptar.

TAREA ENCARGADA:
•   Proceda a crear un Formulario de Bienvenida (Pantalla de Bienvenida), para ello deberá seguir los pasos del
    Formulario de Inicio de Sesión, pero esta vez deberá seleccionar Pantalla de Bienvenida y el nombre de
    éste deberá ser FrmBienvenida.vb. Luego Observe Usted en Propiedades del Proyecto en la opción
    Pantalla de Bienvenida.
•   De forma similar al punto anterior, pero en esta ocasión deberá seleccionar otra plantilla, ésta será Cuadro
    Acerca de y el nombre de éste deberá ser FrmAcercade.vb., luego deberá enlazarlo al menú correspondiente.
•   Realice los procedimientos necesarios para mejorar el formulario frmModoConectado, principalmente referente
    a validación: ejemplo, no se puede eliminar algunos artículos si éstos están relacionados con otra tabla, etc.



Docente: José Luis Ponce Segura                      Prac02 (7 de 7)                          e-mail: jlponcesg@hotmail.com
Cel.: 952636911                                                                                            www.redtacna.net

Guia de Laboratorios 2 - VB.NET 2005

  • 1.
    UNJBG ¡¡LÍDER EN CAPACITACIÓN INFORMÁTICA!! ITEL Garantía del proceso Enseñanza-Aprendizaje con las últimas CARRERA tecnologías, con computadoras de última generación, Técnico Analista CURSO impresoras, escáner, multimedia, redes, Internet, material Programador de Programación Visual .NET II didáctico paso a paso, biblioteca y aula virtual con docentes del Sistemas más alto nivel. GUÍA DE LABORATORIO N° 02 OBJETIVOS: • Creación por código de objetos: Command, DataReader (Escenario Conectado) • Uso de Plantillas de Formulario de Inicio de Sesión, y Pantalla de Bienvenida, Cuadro Acerca de, Formulario Primario MDI (Componentes utilizados: MenuStrip, ToolStrip, StatusStrip) • Creación y uso de objetos DataView. 1. ENTORNO INTEGRADO DE DESARROLLO • Proceda a ingresar Visual Studio .NET y realice lo siguiente: • Deberá Abrir la solución realizada en la práctica anterior (SisVentas) 2. CREACION DE FORMULARIO DE ACCESO Y ACTUALIZACIÓN DE DATOS EN MODO CONECTADO (FRMMODOCONECTADO.VB) 2.1. Agregue un nuevo formulario a su proyecto y guárdelo con el nombre de frmModoConectado.vb 2.2. Proceda a agregar los siguientes objetos según se observa a continuación: 2.3. Establezca los nombres (NAME) a los objetos según lo siguiente: • Para los RadioButton: rbtnSeleccion, rbtnModificar, rbtnInsertar, rbtnEliminar respectivcamente • Para los TextBox: txtCodigo, txtDescripcion, txtPrecio, txtStock respectivamente • Para el Button, será btnEjecutar • Para el Label, será lblMensaje Así también establezca las otras propiedades para obtener la apariencia deseada Bimestre Académico : 2009- Docente : José L. Ponce Segura. Ciclo : V (1 de 7) Fecha : Tacna, Mayo del 2009
  • 2.
    Universidad Nacional JorgeBasadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .Net II 2.4. Ahora procederemos a escribir el código correspondiente: Option Compare Text Imports System.Data.SqlClient Imports System.Data En la Sección de Declaraciones escriba: Dim codi As String, contar As Boolean Private Sub vergrupos(ByVal x1 As Boolean) GroupBox1.Enabled = x1 GroupBox2.Enabled = Not x1 End Sub Private Sub CargarDataReader() Try If Conexion.State = ConnectionState.Closed Then Conexion.Open() ' Crear una orden de recuperación Dim miOrden As SqlCommand = New SqlCommand("SELECT * FROM Articulo", Conexion) ' Crear el DataReader Dim drArticulos As SqlDataReader ' Crear el DataTable Dim tabla As New DataTable ' Ejec.la consulta y cargamos los datos devueltos en un DataReader "DrArticulos" drArticulos = miOrden.ExecuteReader 'Cargamos los datos desde el DataReader "drArticulos" en el DataTable "Tabla" tabla.Load(drArticulos, LoadOption.OverwriteChanges) ' Enlazamos/Mostramos los datos en la grilla DataGridView1.DataSource = tabla drArticulos.Close() Conexion.Close() Catch exc As Exception MessageBox.Show(exc.Message) End Try End Sub Private Sub verDetalle(ByVal fila As Integer) txtCodigo.Text = DataGridView1.Item(0, fila).Value.ToString txtDescripcion.Text = DataGridView1.Item(1, fila).Value.ToString txtPrecio.Text = DataGridView1.Item(2, fila).Value.ToString txtStock.Text = DataGridView1.Item(3, fila).Value.ToString End Sub Private Function noseleccion(ByVal cc As String) As Boolean If cc = Nothing Then MessageBox.Show("Debe seleccionar un registro") rbtnSeleccion.PerformClick() Return True End If End Function Private Sub LimpiarCajas() Dim micontrol As Control For Each micontrol In Me.GroupBox2.Controls If TypeOf (micontrol) Is TextBox Then micontrol.Text = "" End If Next End Sub Docente: José Luis Ponce Segura Prac02 (2 de 7) e-mail: jlponcesg@hotmail.com Cel.: 952636911 www.redtacna.net
  • 3.
    Universidad Nacional JorgeBasadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .Net II Private Sub FrmModoConectado_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CargarDataReader() DataGridView1.ReadOnly = True verDetalle(0) : vergrupos(True) End Sub Private Sub btnEjecutar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEjecutar.Click Try Dim rpta As Windows.Forms.DialogResult Dim n As Integer, strsql As String = "" Dim mensaje As String = "", op As Boolean If contar = False Then rpta = MessageBox.Show("Ejecutar Instrucción SQL=SI ó Desea Cancelar=NO", _ "Operacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question, _ MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign, False) If rpta = Windows.Forms.DialogResult.No Then verDetalle(0) CargarDataReader() lblMensaje.Text = "Seleccione una opcion" vergrupos(True) Exit Sub End If End If If Conexion.State = ConnectionState.Closed Then Conexion.Open() If rbtnSeleccion.Checked = True Then strsql = "SELECT COUNT(*) FROM Articulo" mensaje = "Número de filas/registros: " op = True ElseIf rbtnModificar.Checked = True Then strsql = "UPDATE Articulo SET CODART='" & txtCodigo.Text & "', " & _ "DESART='" & txtDescripcion.Text & "', " & "PREART=" & txtPrecio.Text & ", " & _ "STOART=" & txtStock.Text & " WHERE CODART='" & codi & "'" mensaje = "Número de filas/registros Modificadas: " op = False ElseIf rbtnInsertar.Checked = True Then strsql = "INSERT INTO Articulo (codart,desart,preart,stoart) VALUES ('" & _ txtCodigo.Text & "','" & txtDescripcion.Text & "','" & _ txtPrecio.Text & "','" & txtStock.Text & "')" mensaje = "Número de filas/registros Insertados: " op = False ElseIf rbtnEliminar.Checked = True Then strsql = "DELETE FROM Articulo WHERE CodArt='" & codi & "'" mensaje = "Número de filas/registros Eliminados: " op = False End If Dim miOrden As SqlCommand = New SqlCommand(strsql, Conexion) If op = True Then n = miOrden.ExecuteScalar Else n = miOrden.ExecuteNonQuery() End If vergrupos(True) CargarDataReader() : verDetalle(0) lblMensaje.Text = mensaje & CStr(n) Conexion.Close() Catch exc As Exception MessageBox.Show(exc.Message) End Try End Sub Docente: José Luis Ponce Segura Prac02 (3 de 7) e-mail: jlponcesg@hotmail.com Cel.: 952636911 www.redtacna.net
  • 4.
    Universidad Nacional JorgeBasadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .Net II Private Sub DataGridView1_CellMouseClick(ByVal sender As Object, ByVal e As System. . . . ) Handles DataGridView1.CellMouseClick Dim f As Integer = DataGridView1.CurrentRow.Index codi = DataGridView1.Item(0, f).Value.ToString verDetalle(f) lblMensaje.Text = "Artículo de codigo Nro. :" & codi End Sub Private Sub rbtnSeleccion_Click(ByVal sender . . . System.EventArgs) Handles rbtnSeleccion.Click, rbtnModificar.Click, rbtnInsertar.Click, rbtnEliminar.Click Select Case sender.name Case "rbtnSeleccion" contar = True DataGridView1.Enabled = True vergrupos(True) Exit Sub Case "rbtnModificar" If noseleccion(codi) = True Then Exit Sub txtCodigo.Enabled = False DataGridView1.Enabled = True vergrupos(False) Case "rbtnInsertar" txtCodigo.Enabled = True LimpiarCajas() txtCodigo.Text = GeneraCodigo() DataGridView1.Enabled = False vergrupos(False) Case "rbtnEliminar" If noseleccion(codi) = True Then Exit Sub vergrupos(False) End Select contar = False End Sub 3. CREACIÓN DE FORMULARIO DE INICIO DE SESIÓN(FrmInicio.vb) 3.1. Desde el Menú [Proyecto], seleccione [Agregar Nuevo Elemento], luego nos visualizará la siguiente ventana: 3.2. En ésta ventana seleccione la Plantilla [Formulario de inicio de sesión]. 3.3. Luego deberá escribir el nombre para nuestro formulario: FrmInicioSesion.vb 3.4. Luego para finalizar haga clic en [Agregar]. 3.5. Luego tendremos el siguiente formulario con todos los objetos necesarios para su uso: Docente: José Luis Ponce Segura Prac02 (4 de 7) e-mail: jlponcesg@hotmail.com Cel.: 952636911 www.redtacna.net
  • 5.
    Universidad Nacional JorgeBasadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .Net II 3.6. Luego sólo nos queda agregar el código necesario para darle funcionalidad al mismo: ' Antes de Public Class FrmInicioSesion Imports System.Data Imports System.Data.SqlClient ' Esto va en la sección declaraciones, después de Public Class FrmInicioSesion Dim objDataAdapter As SqlDataAdapter 'objeto Adaptador de datos Dim objDataSet As DataSet 'objeto Conjunto de datos Private Sub frmInicioSesion_Load(ByVal sender As System......) Handles MyBase.Load ' Abriendo la conexion al origen de datos Conexion.Open() 'Creando objeto DataAdapter objDataAdapter = New SqlDataAdapter("select * from usuario", Conexion) 'Creando objeto DataSet objDataSet = New DataSet() objDataAdapter.Fill(objDataSet, "usuario") ' Cerrando la conexión Conexion.Close() End Sub Private Sub OK_Click(ByVal sender As System.Object, .......) Handles OK.Click Static cuenta As Integer Dim objDataView As New DataView() objDataView.Table = objDataSet.Tables("usuario") objDataView.RowFilter = "usuario='" & Trim(Me.UsernameTextBox.Text) & "'" & _ " and " & "clave='" & Trim(Me.PasswordTextBox.Text) & "'" If objDataView.Count > 0 Then Dim oDr As DataRow oDr = objDataView.Item(0).Row ‘ Declara la variable sesion en el módulo de tipo string sesion = oDr("nombre") & “, “ & oDr("apellido") ‘ el contenido la variable usuario podras utilizarla en cualquier form del ‘ sistema, para que veas el usuario que ingreso al sistema, por citar un ‘ ejemplo u otros usos que se le puede dar MsgBox("Esta Usted ingresando como Operador") Me.Hide Dim frm As New FrmVisArticulos ' luego deberá ser FrmPrincipal frm.Show() Else cuenta = cuenta + 1 If cuenta = 3 Then MsgBox("PARA OTRA VEZ SERÁ", MsgBoxStyle.Critical, "LO SIENTO") End End If MsgBox("Te queda: " + Str(3 - cuenta) + " oportunidad(es)", 16, "Error") UsernameTextBox.Clear() : PasswordTextBox.Clear() : UsernameTextBox.Focus() End If End Sub 3.7. LUEGO DEBE ESTABLECER COMO OBJETO INICIAL AL FORMULARIO FrmInicioSesion. 4. CREACIÓN DE EL FORMULARIO PRINCIPAL MDI (INTERFAZ DE MÚLTIPLES DOCUMENTOS) (FrmPrincipal.VB) Para ello utilizaremos una plantilla como en los casos de Inicio de Sesión, Pantalla de Bienvenida, etc. Pero haciendo los cambios necesarios para poder acceder a todos los formularios, reportes, Ayuda, etc. Para ello siga los siguientes pasos: 4.1. Desde el Menú [Proyecto], seleccione [Agregar Nuevo Elemento], luego en la ventana deberá elegir la Plantilla [Formulario Primario MDI]. 4.2. Luego deberá escribir el nombre para nuestro formulario: FrmPrincipal.vb 4.3. Luego para finalizar haga clic en [Agregar]. Docente: José Luis Ponce Segura Prac02 (5 de 7) e-mail: jlponcesg@hotmail.com Cel.: 952636911 www.redtacna.net
  • 6.
    Universidad Nacional JorgeBasadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .Net II 4.4. Luego tendremos el siguiente formulario con un Menú, Barra de Herramientas y Barra de Estado: PERSONALIZANDO EL MENÚ: 4.5. Como se puede apreciar ya disponemos de un formulario “esqueleto/estructura” de un Formulario Principal, con ello hemos ahorrado tiempo en el diseño del mismo, pero debemos hacerle las siguientes modificaciones: 4.6. Para nuestro caso no utilizaremos los Menús Archivo y Editar, entonces podemos borrarlo o NO hacerlos visibles en tiempo de ejecución, optaremos por el segundo caso. 4.7. Haga clic en el menú Archivo (FileMenu), luego ubíquese en la propiedad Visible = False. Haga lo mismo para el menú Editar (EditMenu). 4.8. Ahora proceda a agregar los Menús necesarios según la siguiente estructura: Actualizar Visualizar Consultas Transacción Reportes Clientes Clientes Clientes Venta con Factura Clientes Empleados Empleados Empleados Visualiza Factura Empleado Artículos Artículos Artículos Artículo Cargo Cargo Cargo Facturas x Mes Salir Factura Facturas 4.9. Las opciones de Menú sólo son referenciales, pudiendo Usted agregar otras si así lo requieran. Docente: José Luis Ponce Segura Prac02 (6 de 7) e-mail: jlponcesg@hotmail.com Cel.: 952636911 www.redtacna.net
  • 7.
    Universidad Nacional JorgeBasadre Grohmann - ITEL Carrera: Técnico Analista Programador de Sistemas. Curso: Programación Visual .Net II PERSONALIZANDO LA BARRA DE HERRAMIENTAS: 4.10. Ahora procederemos a personalizar la barra de herramientas, es decir el componente ToolStrip, para ello empiece seleccionando éste, luego seleccione la propiedad Ítems y haga clic en Colección: , luego nos visualizará la siguiente ventana 4.11. Deberá Usted agregar botones para Artículos, Factura, Reportes, Calculadora, Ayuda, Salir, etc. Debe tener en cuenta que estos botones son como accesos directos hacia las tareas que frecuentemente se utilizarán, por ello deberá agregar otros botones según su criterio. 4.12. Como ejemplo agregaremos el Botón Salir, para ello haga clic en [Agregar], observará que se agregar un nuevo miembro o botón con el nombre ToolStripButton1. 4.13. A continuación procederemos a establecer algunas propiedades a éste nuevo botón, para ello seleccione el nuevo botón ToolStripButton1: • (Name) = SalirToolStripButton • Text = Salir • ToolTipText = Salir • Image = Deberá buscar el icono adecuado 4.14. Utilice los botones para cambiar el orden o eliminar los botones que no se utilizarán. 4.15. Para finalizar haga clic en Aceptar. TAREA ENCARGADA: • Proceda a crear un Formulario de Bienvenida (Pantalla de Bienvenida), para ello deberá seguir los pasos del Formulario de Inicio de Sesión, pero esta vez deberá seleccionar Pantalla de Bienvenida y el nombre de éste deberá ser FrmBienvenida.vb. Luego Observe Usted en Propiedades del Proyecto en la opción Pantalla de Bienvenida. • De forma similar al punto anterior, pero en esta ocasión deberá seleccionar otra plantilla, ésta será Cuadro Acerca de y el nombre de éste deberá ser FrmAcercade.vb., luego deberá enlazarlo al menú correspondiente. • Realice los procedimientos necesarios para mejorar el formulario frmModoConectado, principalmente referente a validación: ejemplo, no se puede eliminar algunos artículos si éstos están relacionados con otra tabla, etc. Docente: José Luis Ponce Segura Prac02 (7 de 7) e-mail: jlponcesg@hotmail.com Cel.: 952636911 www.redtacna.net