domingo, 15 de abril de 2012

Primer Paso: Creación del Formulario Principal de la encuesta.

En este primer paso es donde elaboraremos el formulario principal de la encuesta. Este formulario nos permitirá el ingreso de un  nuevo registro para la encuesta, Guardarlo y de igual manera eliminarlo como también una búsqueda simple de cada uno de los registros por medio de un código, como permitiendo el llamado de las diferentes gráficas y reporte.

Nos vamos a nuestro programa y creamos un nuevo proyecto al que llamaremos Encuesta.



















una vez realizado el proyecto procedemos a crear un control de usuario. Este nos ayudara a contener dentro de el lo que sera nuestra conexión como a su vez otras funciones que necesitaremos. 

Función: Son el conjunto de lineas de código que realizan una tarea especifica y que pueden retornar un valor.



Ya creado nuestro control de usuario le damos el nombre de entorno. Para que dentro de el este contenida nuestra conexión y nuestro DataAdapter nos vamos a la ventana de herramientas y en la sección de datos damos click derecho elegir elementos.

Seguidamente de esto nos saldrá una ventana como esta:




En la cual seleccionaremos las opciones OledbConnection
y OledbDataAdapter para nuestro adaptador de datos y nuestra conexión a la base de datos. Cambiamos el nombre de OledbConnection a oConexion y el del OledbDataAdapter a las siguientes:

en el oConexion aparte de establecer el nombre establecemos la conexión. Nos vamos al cuadro de propiedades y seleccionamos la propiedad connectionString y damos nueva conexión como se muestra en la siguiente imagen:
luego nos aparecerá lo siguiente:















en esta ventana seleccionaremos la ubicación de nuestra base de datos, damos examinar y la seleccionamos probamos la conexión para verificar de que la ruta sea estable y damos aceptar a la ventana de verificación, de igual manera con la ventana de Agregar Conexión. Una vez hecho esto Pasamos a la configuración de el daEncuesta, lo seleccionamos damos click derecho en el y seleccionamos configurar adaptador de datos como
se muestra en esta imagen:
y nos aparecerá una ventana como esta y seguiremos los siguientes pasos:

Elegimos la base de datos y damos siguiente 


luego nos aparecerá otra ventana como esta y de igual manera damos siguiente.

Seguido de esto
nos aparecerá la ventana de generar instrucciones SQL 
damos click en generador de consulta y seleccionamos la tabla en la que trabajaremos, damos aceptar y agregamos todos los campos de la tabla, damos aceptar nuevamente y se nos quedara una ventana con la instruccion Sql de La tabla con todo los campos contenidos en ella, 


damos siguiente y se nos generaran todas las instrucciones Sql y para terminar damos click en finalizar.






Una vez terminado todo esto pasamos a configurar la instruccion Delete y la Update. Siempre con daEncuesta seleccionado nos camos a la ventana de propiedades hacemos click en la propiedad UpdateCommand y la configuramos de la siguiente manera, click en CommandText y configuramos a quedar la instruccion asi:










De igual manera para el DeleteCommand seleccionamos las mismas propiedades correspondientes, a la hora de configurarlo deberá quedar de la siguiente manera:

Una vez terminado la configuración del entorno solo queda por hacer la programación de los diferentes códigos necesarios para hacer la comunicar la transmisión de los diferentes datos de la base de datos al nuestro formulario principal de la encuesta.

Codigo:

El codigo que ingresaremos sera el siguiente :
damos doble click al objeto entorno y comenzamos.

Public Class Entorno
    'crear mediante el public shared una variable que permite acceder mediante ese nombre al objeto entorno Y todas las funciones publicas que este posee
    'el shared nos permite que uno o mas elementos de programacion que esten declarados esten asociados a todas las instancia de una clase
    Public Shared Datos As New Entorno

    Public Sub Conectar()
        'Creamos la funcion Conectar para obtener el valor de la coneccion y abrirla
        'si el valor actual de la conexion es diferente de abierto
        'la propiedad State nos trae el valor actual de una conexion
        If oConexion.State <> ConnectionState.Open Then
            'entonces que nos devuelva la conexion abierta
            oConexion.Open()
        End If
    End Sub
    Public Function obdatos() As DataSet
        'Funcion para obtener datos de el dataset
        'declaramos la variable ds para el Dataset el cual nos obtendra los datos contenidos en la temporalmente en el dataset
        Dim ds As New DataSet
        'abrimos la conexion
        Conectar()
        'llamamos a nuestro data set para llenar nuestra tabla con los datos obtenidos en el dataset por medio de la funcion Fill
        'Fill nos permite llenar una fila con informacion contenida en una tabla o en una memoria temporal como lo es el dataset
        daEncuesta.Fill(ds, "Encuesta")
        'cerramos la conexion
        oConexion.Close()
        'luego que todo esto nos retorne con la informacion ya poblada anteriormente
        Return ds
    End Function
    Public Sub salvEncues(ByVal ds As DataSet)
        'funcion Salvar encuesta, el byval nos permitira que el valor contenido dentro del ds ya poblado no cambie
        'abrimos la conexion
        Conectar()
        'llamamos al daEncuesta y que dentro de el a la hora de guardar se actualisen los datos poblados en el ds
        daEncuesta.Update(ds)
        'Seguido cerramos a conexion
        oConexion.Close()
    End Sub

    Private Sub Entorno_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Para finalizar programamos la ultima linea de codigo


Con esto nos queda Programado ya finalmente lo que es el entorno.



Una vez terminado con la programacion de el entorno pasamos a crear nuestro dataSet al cual llamaremos dsTablas, para esto nos vamos a la pestaña datos y seleccionamos la opción Agregar nuevo origen de datos y pasamos a seleccionar lo siguiente:

Seleccionamos la base de datos damos siguiente y 
elegimos el Conjunto de datos damos siguiente y pasamos a elegir nuestra base de datos, luego nos saldra una ventana de duplicado de conexión damos click en no y desactivamos la opcion de la siguiente ventana, damos click en siguiente.


Seguido de esto pasamos a seleccionar la opcion de las tablas y le damos el nombre a nuestro Dataset, el cual será dsTablas y para terminar damos click en finalizar. 
Dentro de Nuestro DataSet nos quedara ya nuestra tabla agregada la cual se vera de esta manera:

Ahora que ya hemos finalizado nuestro Dataset y nuestro entorno pasaremos al diseño de nuestro formulario de manera enlazada.

Para que nuestro formulario este de manera enlazada abriremos la 
ventana de orígenes de datos estando en nuestro formulario y en el cambiaremos los estilos de los campos dejándolos en Checkboxs, Combobox y cuadros de texto y colocando el Id en Ninguno como se presentan el la imagen.

Luego Cambiamos el estilo de nuestra tabla a estilo de detalle. 
esta nos permitirá el movimiento de cada uno de los campos de forma individual al formulario y de esa manera empesaremos a diseñarlo.

Cuando halamos cada uno de los campos a nuestro formulario notaremos que en la parte inferior se nos anclará nuestro dsTablas, el EncuestaBindingSource y el EncuestaBindingNavigator de esta forma podemos darnos cuenta que nuestro formulario esta de manera enlazada con la tabla de la base de datos.
El EncuestaBindingNavigator es una barra de herramientas el cual nos permite varias opciones como las de desplazarnos y ver cada uno de los registros que contengamos en la base de datos asi tambien como ver el número de registro al cual pertenece, tambien las opciones de agregar un elemento nuevo, eliminarlo y de igual manera guardarlo. Como es una barra de herramientas nos permite agregar elementos nuevos que necesitemos y en este caso agregaremos dos botones de comando , un SplitButton , un cuadro de texto  una etiqueta nueva. Todo esto nos servira para hacer los llamados a las graficas, al reporte y para hacer la busqueda de los registros por medio del codigo. 
El cual nos quedara de esta manera. 


 Una vez teniendo esto y teniendo el diseño ya realizado de la encuesta solo queda por cambiar las siguientes propiedades para empezar a programar.


Formulario
Propiedad
Valor
Text
Encuesta de Servicios de mercadeo
StartPosition
CenterScreen
BackGroundImage
Buscar una imagen y colocarla (opcional)
Combox
DropDownStyle
DropDownList
CodigoText
MaxLegth
3
Botón Reporte, Busqueda y splitButon
Name
cmdReporte, cmdBuscar,
Text
Reporte, Graficas, Buscar Registro
Image
Buscar una imagen de icono para cada uno de ellos
GroupBox’s
Text
Datos Personales, Preguntas, Segunda Parte de Preguntas
ForeColor
ButtonHighligth
BackColor
Web/Transparent
CheckBox’s
BackColor
Web/Transparent
ForeColor
ButtonHighligth
Label´s
BackColor
Web/Transparent
ForeColor
ButtonHighligth


una vez Con las propiedades colocadas a cada uno de los objetos Correspondientes tendra que verse algo como esto:




Creación de Proyecto Paso a Paso

En este proceso tendremos la oportunidad de crear un proyecto paso a paso. En el se hará la realización de
un proyecto de encuesta a cerca de los servicios de mercadeo de una compañía de cable, creando en este proyecto :

  • El formulario principal que agrega, elimina y guarda información de manera enlazada hacia una base de datos, como también la búsqueda de cada uno de los registros, el llamado de las diferentes gráficas y el llamado del reporte de la encuesta .
  • Como crear las diferentes gráficas estadísticas para esta encuesta, haciendo uso del objeto datarow.
  • La creación y el diseño de el reporte de la encuesta.
Una vez dicho cada uno de los procesos que se darán a realizar en el proyecto queda aclarar lo siguiente:
este es un tipo de proyecto que se puede realizar de dos maneras:
  • Si tuviésemos la base de datos de una empresa con cada uno de los registros de los clientes que hay en ella, haríamos el proyecto para la realizar la encuesta directamente para el cliente sin necesidad de agregar un registro nuevo, haciendo solamente una lectura de los datos de la persona a través de un código.
  • Creando una base de datos nueva en la cual se valide y se agregue toda la información de la encuesta que se le realiza a la persona, incluyendo los datos personales básicos y cada una de las preguntas de la encuesta.
Ya que no contamos con la base de datos de la empresa procederemos a realizar el proyecto de la segunda forma que aclaramos, para el cual necesitaremos nuestra estructura de tabla que sera la siguiente:


Tabla: Encuesta
Nombre de campo
Tipo
Descripción
IdEncuesta
Auto numérico

Codigo
Texto

Nombre
Texto
Comprenden los datos personales de el registro
Telefono
Numérico
Direccion
Texto
Email
Texto
Servicio
Texto

Internet
Sí/No
Opciones de servicios que tienen
Cable
Sí/No
Telefonia
Sí/No
Satisfaccion
Texto
Procesos del Proveedor
Atencion
Sí/No
Soluciones
Sí/No
Quejas
Sí/No
Reclamos
Sí/No
Calidad
Sí/No
Internet2
Sí/No
Servicios con los que esta satisfecho
Cable2
Sí/No
Telefonia2
Sí/No
Proveedor
Texto

Seguridad
Texto

CableInternet
Texto

Velocidad
Texto

Colonia
Texto






























Cuando ya tenemos esto listo pasamos a tener nuestra ficha de encuesta que es la siguiente:

Encuesta de Servicios Mercadeo


Su opinión es muy importante,
Para Grupo Cable Sula, la calidad en la prestación del servicio a todos nuestros clientes es nuestro compromiso, por lo que agradecemos su evaluación, así como sus comentarios en áreas que considere podemos mejorar, muchas gracias por su tiempo.


1.       ¿Actualmente tiene servicios (Internet, Cable y Telefonía)?
Cable__  Internet__  Telefonia__  Doble Play__ Triple Play__


Seleccione los servicios que posee:
Cable__ Internet__ Telefonia__


Como se siente con los servicios que usted posse:
Muy-Insatisfecho__  Insatisfecho__ Regular__ Muy-Satisfecho__ Satisfecho__


2.       Por favor califique los procesos de su proveedor en relación a:
Rápida atención al cliente____
Facilidad en gestionar solicitudes___                                                                             
Facilidad en reporte de quejas     ___
Rápida respuesta a reclamos       ___
Calidad de señal en los servicios  ___


3.       ¿Con qué servicio que le ofrece su proveedor esta satisfecho actualmente?  
Cable__ Internet__ Telefonia__


4.       ¿Recomendaría usted a su proveedor actual?
Ninguno__ Si__ No__


5.       ¿Se siente usted seguro en su colonia con respecto a la delincuencia actual de robo de servicios?
Ninguno__ Si__ No__
  
6.       ¿Se interesaría usted en un servicio de Cable-Internet y Telefonía que este enfocado a brindarle seguridad?
Ninguno__ Si__ No__


7.       ¿Le gustaría a usted que se le brinde el servicio de Internet con doble velocidad de forma permanente sin pagar costo adicional?
Ninguno__ Si__ No__


8.       Si Grupo Cable Sula le ofrece los servicios con el Programa Tu Colonia Segura ¿Existe la posibilidad de adquirir nuestros servicios?
Ninguno__ Si__ No__


Nombre:   ___________________________________________-
Teléfono:  ___________________________________________-
Dirección: ___________________________________________-
E-Mail:     ___________________________________________-


Una vez teniendo los datos necesarios para crear la encuesta Creamos Nuestro Primer Paso.
Creación del Formulario principal de la encuesta.