Para iniciar nuestra encuesta debemos a analizarla y plantear las
soluciones para trabajar con nuestra encuesta y formulario
Analisis de la encuesta :
Ø
La encuesta esta compuesta por
:Edad,Sexo,Preg.1-Preg8
Ø Registrarse
anonamente solo con la edad y el sexo
Solución
de la Encuesta
1. Cualquier
persona que fuma puede responder esta encuesta.
2. Su
información quedara totalmente guardada en una base de datos.
A
continuación se les mostrara la formación de pasos al hacer su formulario:
Luego nos vamos a nuestro formulario en .NET
Luego creamos un control de usuario con
el nombre de entorno y nos vamos a las
propiedades de datos y clic derecho elegir elementos y seleccionamos esas 2
La conexión
a oconexion y el dataadapter a daEncuesta y luego clic derecho en daEncuesta en
configuración del dataapadter y volvemos
a establecer la conexión y usamos las instrucciones SQL seguimos en adelante y
borramos lo que sale y la consultamos nuestra instrucción SQL y agregamos
nuestra base de datos y la cerramos y seleccionamos todas las columnas
En ok luego saldrán las 4 instrucciones
SQL y finalizar
Luego a las propiedades y borramos solamente de la instrucción DELETE y
UPDATE borramos después de WHERE después del AND empezamos a borrar todo.
Public
Class entorno
Public Shared Datos As New entorno
Public Sub Conectar()
If
oConexion.State <> ConnectionState.Open
Then
oConexion.Open()
End If
End Sub
Public Function ObtenerDatos() As
DataSet
Dim ds As New DataSet
Conectar()
daEncuesta.Fill(ds, "Encuesta")
oConexion.Close()
Return
ds
End Function
Public Sub salvarencuesta(ByVal
ds As DataSet)
Conectar()
daEncuesta.Update(ds)
oconexion.Close()
End Sub
Function
obtener() As Object
Throw New NotImplementedException
End Function
End
Class
Este código se refiere a obtener los
datos almacenados en nuestra tabla de datos y abrimos una conexión que nos
traiga los datos a través de un dataset y cerramos la conexión después a Salvar
encuesta que abrimos la conexión para que nos actualice toda la información que
esta en el ds y cerramos la conexión.
En nuestro formulario de encuesta
después de tener el binding navigator y binding source. Seleccionando el
binding navigator nos vamos a las propiedades
y en addnewitem lo colocamos en ninguno (none) igual en deleteitem
ninguno (none)
Y
lo programamos con dicho código:
Imports
encuesta.entorno
(Nos trae la información almacenada desde nuestro entorno al
formulario )
Public Class frmEncuesta
Private Sub frmEncuesta_Load(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles MyBase.Load
DsTablas.Merge(Datos.ObtenerDatos,
False)
End Sub
Private Function
Validar() As Boolean
If
TxtEdad.Text = “” Then
Err.SetError(TxtEdad,
“Por favor escriba su edad”)
Return False
End If
If cmbsexo.SelectedIndex = -1 Then
Err.SetError(cmbsexo, “Determine su sexo”)
Return False
End If
If cmbFumador.SelectedIndex = -1 Then
Err.SetError(cmbFumador,
“Responda a ver si es fumador”)
Return False
End If
If cmbCharlas.SelectedIndex = -1 Then
Err.SetError(cmbCharlas,
“Responda a ver si ha recibido charlas”)
Return False
End If
If cmbEfectos.SelectedIndex = -1 Then
Err.SetError(cmbEfectos,
“Responda a ver si ha tenido efectos con el tabaco”)
Return False
End If
If cmbDonde.SelectedIndex = -1 Then
Err.SetError(cmbDonde,
“Determine de donde es”)
Return False
End If
If cmbFamilia.SelectedIndex = -1 Then
Err.SetError(cmbFamilia,
“Responda si hay familia suya que tambien fume”)
Return False
End If
If cmbRehabilitarse.SelectedIndex = -1 Then
Err.SetError(cmbRehabilitarse,
“Determine si se ha rebalitado”)
Return False
End If
If cmbDia.SelectedIndex = -1 Then
Err.SetError(cmbDia,
“Responda cuantas veces fuma al dia”)
Return False
End If
If cmbEnfermedades.SelectedIndex = -1 Then
Err.SetError(cmbEnfermedades,
“Determine alguna enfermedad”)
Return False
End If
Err.SetError(TxtEdad,
“”)
Err.SetError(cmbsexo, “”)
Err.SetError(cmbFumador, “”)
Err.SetError(cmbCharlas, “”)
Err.SetError(cmbEfectos, “”)
Err.SetError(cmbDonde, “”)
Err.SetError(cmbFamilia, “”)
Err.SetError(cmbRehabilitarse, “”)
Err.SetError(cmbEnfermedades, “”)
Return True
End Function
Private Sub
EncuestaBindingNavigatorSaveItem_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
EncuestaBindingNavigatorSaveItem.Click
If
Validar() = True Then
EncuestaBindingSource.EndEdit()
Datos.salvarencuesta(DsTablas)
DsTablas.AcceptChanges()
MsgBox(“Los
datos han sido almacenados correctamente”, MsgBoxStyle.Information,
“Salvar”)
End If
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles BindingNavigatorAddNewItem.Click
EncuestaBindingSource.EndEdit()
EncuestaBindingSource.AddNew()
TxtEdad.Focus()
cmbsexo.SelectedIndex
= -1
cmbFumador.SelectedIndex
= -1
cmbCharlas.SelectedIndex
= -1
cmbEfectos.SelectedIndex
= -1
cmbDonde.SelectedIndex
= -1
cmbFamilia.SelectedIndex
= -1
cmbRehabilitarse.SelectedIndex
= -1
cmbDia.SelectedIndex
= -1
cmbEnfermedades.SelectedIndex
= -1
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”) Then
EncuestaBindingSource.EndEdit()
EncuestaBindingSource.RemoveCurrent()
Datos.salvarencuesta(DsTablas)
DsTablas.AcceptChanges()
MsgBox(“el
registro se ha eliminado de manera permanentemente”, MsgBoxStyle.Information,
“confirmado”)
TxtEdad.Focus()
End If
End Sub
End
Class
eliminarla pero todo queda guardado en la tabla de datos
Imports encuesta.entorno
Imports System.Data.OleDb
Public Class frmGrafico
Private Sub cmdActualizar_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles cmdActualizar.Click
oGrafico.Series.Clear()
Dim cSQL As String = “SELECT
Preg1 as [Usted Fuma?], Count(Preg1) as Total
from Encuesta group by Preg1”
Datos.Conectar()
Dim comando As New OleDbCommand(cSQL,
Datos.oconexion)
Dim lector As OleDbDataReader = comando.ExecuteReader
oGrafico.DataBindTable(lector, “Usted Fuma?”)
Datos.oconexion.Close()
oGrafico.Titles.Add(“Usted Fuma?”)
End
Sub
Así podemos ver a través de una grafica
el porcentaje de cuantas personas que han respondido la encuesta todo eso queda
almacenado para representarlo en las graficas.
Si tenemos más de 3 opciones en nuestro
formulario saldrán igual varios porcentajes de dicho objeto
Por ejemplo: que diga la pregunta de
donde eres?
*Honduras *Guatemala *Panamá *Costa Rica *México
Saldrá nuestra grafica así:
Ahora trabajo de nuestro reporteClic
derecho en la encuesta donde esta nuestro formulario el que esta en negrito
clic derecho como si vamos a crear un Windows form en la parte izquierda
buscamos Reporte y seleccionamos 2.asi
Y le damos el nombre de RptEncuesta y la
agregamos
Para comenzar en las herramientas
seleccionamos un List después de
agregarlo saldrá las propiedades del dataset
Donde le damos un nombre y en el Data
Source saldrá nuestra tabla de datos y solo la seleccionamos y luego en ok.
Estiramos nuestra lista y vamos pegando los cuadros de texto le damos un titulo
como: “Ficha de Encuesta para Encuesta”
Luego de Seleccionarlo le damos clic
derecho y nos vamos a Expresion y borramos lo que hay y pegamos este código:
=”Encuesta
#: “ &Fields!IdEncuesta.Value.ToString
Podemos borrarlo o solo añadirlo, porque
a la hora de abrirlo en Expresion aparece
=Fields!IdEncuesta.Value
La podemos centrar y podemos darle
negrita en la pestaña de arriba en Formato en Fuente y la seleccionamos.
Luego vamos pegando los demás cuadro
texto según la tenemos nuestra encuesta
al final deberá quedar asi:
Luego
al terminar nuestro reporte y para que a la hora ejecutarlo salga solo un
inciso debemos programar en la expresión.
Por ejemplo: La pregunta de la encuesta dice: ¿Ha
salido de viaje alguna vez? La respuesta seria: a) SI b) NO. Y en el formulario
se seleccionara la respuesta almacenada en nuestra tabla de Access o del
formulario que anterior de la encuesta donde se almacenaran los datos.
Para
programar nuestro inciso debemos darle clic derecho en las propiedades del
cuadro de texto y seleccionamos Visibilidad y seleccionamos el 3 inciso que
dice mostrar la base de una expresión.
Y
le damos clic en la botoncito de Fx
Pegamos el código: =not(Fields!Preg1.Value="Si")
Luego
F7 y programamos nuestro formulario
Agregamos el imports encuesta.entorno para que nos
devuelva la información almacenada en el entorno y dstablas para que lo que
tenemos en nuestra tabla nos traiga los documentos almacenada por eso le damos
obtenerdatos
GRACIAS POR TODO