domingo, 15 de abril de 2012

Formulario en VB .NET






VB .NET
Pasos para hacer un formulario, Grafica, Reporte

Paso1 (Crear la tabla en la base de datos Access)
   1.    Creamos una tabla llamada Encuestaex.
   2.    Clic derecho/Vista diseño, crearemos la tabla como se visualiza en la siguiente imagen.



Paso 2 (Crear el proyecto)
   1.    Hacer un nuevo proyecto en este caso llamare a mi proyecto Encuesta.
   2.    Luego clic derecho en Encuesta/Agregar/Nuevo Carpeta “Formulario”.
Form1/clic derecho/cambiar nombre/frmEncuesta.

Paso 3 (Hacer el entorno ó Origen de datos)
   1.    Encuesta/clic derecho/Agregar/Control de Usuario/nombre
        = Entorno.
   3.    Menú/Clic en Ver/ Clic en Cuadro de Herramientas.
Menú/Clic en Ver/ Clic en Ventana de propiedades.
   4.    Cuadro de Herramientas/Datos/Elegir Elementos/Filtro: Oldb.
   5.    Luego hacemos clic en OledbConnection y OledbDataAdapter.
   6.    En oldbConnection/propiedades/Name/oConexión.
   7.    oldbConnection/Propiedades/ConnectionString/Agregar conexión.
   8.    En OledbDataAdapter/Propiedades/daEncuesta.
   9.    Clic derecho en daEncuesta/Configurar Adaptador de datos/Nueva Conexión/Cambiar/Archivo de base de datos/Aceptar.
  10.                      Examinar/Encuesta/Abrir/Aceptar.
  11.                      Siguiente/No/Siguiente/Generador de Consulta.
  12.                      Tablas/Encuesta/Agregar/Siguiente/Finalizar.






Otra forma de crear la conexion:
Menú/Datos/Agregar nuevo origen de datos
Clic en base de datos/siguiente
Clic en conjunto de datos/siguiente/Nueva conexión.
Clic en Cambiar/clic en Examinar/Aceptar
Clic en siguiente/clic en No/siguiente
Clic en tabla/finalizar.
    1.    Agregar tabla/Encuesta/Agregar/Datos/Conjunto de datos.
    2.    Encuesta/seleccionar todas las columnas/Aceptar. 
    3.    dataAdapter/propiedades/name/daEncuesta.
    4.    daEncuesta/Clic derecho/Propiedades.
  • Delete command/command text/delete from/Clic
 Intruccion Delete:
            Delete from Encuesta
           Where (idEncuesta=?)

  •  Update command/command text/Update from/Clic
Instruccion Update:
Update Encuesta
Where (idEncuesta=?)
Modificamos estas instrucciones ya que el delete y update pueden hacer cambios o eliminar todo los campos de un registro, ecepto el id ya que es autonumerico no se puede realizar nada sobre el.





Paso 4(Programar el Entorno)

  1.  Public Class entorno
    Public Shared Datos As New entorno
    Public Sub Conectar()
        If oConexion.State <> ConnectionState.Open Then
            oConexion.Open()
        End If
    End Sub
  2.  Public Function ObtenerDatos() As DataSet
        Dim ds As New DataSet
        Conectar()
        daEncuesta.Fill(ds, "encuestaex")
        oConexion.Close()
        Return ds
    End Function
  3.  Public Sub salvarencuesta(ByRef ds As DataSet)
        Conectar()
        daEncuesta.Update(ds)
        oConexion.Close()
    End Sub
    Private Sub entorno_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub oConexion_InfoMessage(ByVal sender As System.Object, ByVal e As System.Data.OleDb.OleDbInfoMessageEventArgs) Handles oConexion.InfoMessage

    End Sub
End Class

   1.    Hacemos la conexión, donde abriremos la oConexion.
   2.    Para Obtener los datos del dataSet, declaramos con Dim una variable que llamaremos ds donde aremos nuevo dataSet y conectaremos.
   3.    luego con el daEncuesta(DataAdapterEncuesta)lo que hacemos es llenar el dataset, en este caso llamado encuestaex cerramos la conexión.
Salvarencuesta, vamos a conectar los datos del dataset,donde el daEncuesta.Update(ds) nos modifica el dataset y cierramos  la conexión.

 
Paso 5(Colocar los controles al formulario)
1.    Nos vamos al formulario, luego a sus propiedades/text/Encuesta.
2.    Propiedades/starPosition/center screen.
3.    Luego Opciones de menú/Datos/Mostrar Orígenes de datos/dsEncuesta/encuestaex.
4.    Cambiaremos el idEncuesta/Clic en la fleca/Ninguno.
5.    Cambiaremos los demás controles ya que son de encuestas cerrada/Clic en la flecha/combobox.
6.    Cuadro de Herramientas/Binding Source/Name/EncuestaexBindingSource.
7.    Cuadro Herramientas/ErrorProvider/name/Err
8.    Cuadro de Herramientas/BindingNavigator/Name/EncuestaexBindingNavigator.
9.    Cuadro de Herramientas/Datos/DataSet/Aceptar.

Nota: Los campos en la tabla no pueden ir con espacios en blanco, ya que generara error.

Paso 7 (Programar el formulario)
      1.    Guardaremos los datos con el botón saveItem, Usaremos una condición (if) para el validar, donde mediante la condición sea verdadera se ejecutara los códigos 1, 2,3.
Luego el err es el que nos enviara una advertencia si faltara algún dato o sea incorrecto en el formulario cuando lo ejecutas.
       2.    Eliminaremos los datos ya almacenados con el botón deleteItem, lo que queremos entender en este código el msgboxStyle muestra los botones si y no cuando se ejecuta el msgbox.
   3.  Nuevo datos con el botón NewItem donde aplicamos los cambios pendientes con el EndEdit a el bindingsource luego agregaremos nuevos elementos al bingdingsource con el Addnew, luego obtenemos los indixes preestablecidos esto lo hacemos con el Selectindex.
Imports Encuesta_ex.entorno
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DsEncuesta.Merge(Datos.ObtenerDatos, False)

    End Sub

    Private Sub EncuestaexBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EncuestaexBindingNavigatorSaveItem.Click
        If validar() = True Then
1.  EncuestaexBindingSource.EndEdit()
2.  Datos.salvarencuesta(DsEncuesta)
3.  DsEncuesta.AcceptChanges()
            MsgBox("Los datos se han almacenado correctamente", MsgBoxStyle.Information, "salvar")
            Pregunta1ComboBox.Focus()
        End If
    End Sub
    Private Function validar() As Boolean
        If Pregunta1ComboBox.Text = "" Then
            Err.SetError(Pregunta1ComboBox, "debe seleccionar una respuesta")
            Return False

        End If
        If Pregunta2ComboBox.Text = "" Then
            Err.SetError(Pregunta2ComboBox, "debe seleccionar una respuesta")
            Return False

        End If
        If Pregunta3ComboBox.Text = "" Then
            Err.SetError(Pregunta3ComboBox, "debe seleccionar una respuesta")
            Return False

        End If
        Return True
    End Function

    Private Sub EncuestaexBindingNavigator_RefreshItems(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EncuestaexBindingNavigator.RefreshItems

    End Sub

    Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
        If MsgBox("Desea eliminar este registro", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Eliminar") = MsgBoxResult.Yes Then
EncuestaexBindingSource.EndEdit()
EncuestaexBindingSource.RemoveCurrent()
Datos.salvarencuesta(DsEncuesta)
DsEncuesta.AcceptChanges()
            MsgBox("El registro se ha eliminado de manera permanente", MsgBoxStyle.Information, "confirmado")
            Pregunta1ComboBox.Focus()

        End If
    End Sub

    Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorAddNewItem.Click
        EncuestaexBindingSource.EndEdit()
        EncuestaexBindingSource.AddNew()
        Pregunta1ComboBox.Focus()
        Pregunta1ComboBox.SelectedIndex = -1
        Pregunta2ComboBox.SelectedIndex = -1
        Pregunta3ComboBox.SelectedIndex = -1
        Pregunta4ComboBox.SelectedIndex = -1
        Pregunta5ComboBox.SelectedIndex = -1
        Pregunta6ComboBox.SelectedIndex = -1
        Pregunta7ComboBox.SelectedIndex = -1
        Pregunta8ComboBox.SelectedIndex = -1
        Pregunta9ComboBox.SelectedIndex = -1
        Pregunta10ComboBox.SelectedIndex = -1
        Pregunta11ComboBox.SelectedIndex = -1
        Pregunta12ComboBox.SelectedIndex = -1

    End Sub
End Class


 
Pasos para crear la grafica
Paso 1
   1.    Clic derecho a mi proyecto/Agregar/Nuevo Elemento/Form/Nombre/Grafica
   2.    Cuadro de Herramientas/Datos/Chart.
   3.    Chart/Propiedades/name/oGrafico
   4.    Cuadro de Herramientas/Buton.
   5.    Buton/Propiedades/text Actualizar/Name cmdActualizar.



 
Pasos para hacer el Reporte

Paso 1

    1.    Clic derecho/Agregar/Nuevo Elemento/Elementos comunes/Reporting
    2.    Cuadros de Herramientas/Lista.
    3.    Cuadro de Herramientas/Cuadro de texto.


Código para la creación de mi reporte:
Colocamos un cuadro de herramientas, lo llamaremos «Expr», luego clic derecho/Propiedades de Cuadro de texto/General/Valor/fx.
Escribimos dentro de fx el siguiente código:
="Encuesta # " & Fields!Idencuesta.Value.ToString
  1. Hacemos los cuadro necesarios en mi caso son 12 cuadros de preguntas y cada una de ellas lleva 4 cuadros, pero antes de mis preguntas hice 2 cuadros como se los había mostrado anteriormente donde programamos uno de ellos.
  2. Luego de colocar los cuadros, en los cuadros a) y b) en todo el reporte se programaran, porque lo que queremos es visualizar los registros almacenados en la base de datos y tener cuales son las repuesta en el reporte.
  3.Lo que hacemos es dar clic derecho sobre el cuadro “a)”  seleccionamos propiedades de cuadro de texto/visibilidad/fx

  4. Ahora les mostrare como programar los cuadros a) y b), en este caso será una condición y es de la siguiente manera:
    =not(Fields!Pregunta1.Value="Si")


 
Paso2 (Crear el formulario de reporte)

   1.    Clic derecho encuestaex/Agregar/Nuevo Elemento/Nombre frmReporte.
   2.    Cuadro de Herramientas/Informe/ReportViewer.
   3.    Clic en la flecha del reporte/Elegir informe.
Public Class frmReporte

    Private Sub frmReporte_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 'dsEncuesta.encuestaex' Puede moverla o quitarla según sea necesario.
        Me.encuestaexTableAdapter.Fill(Me.dsEncuesta.encuestaex)

        Me.ReportViewer1.RefreshReport()
    End Sub
End Class



Nota: para ejecutar F5 o el botón de depuración.
Encuesta #13




No hay comentarios:

Publicar un comentario