sábado, 14 de abril de 2012

paso a paso de programacion


Un proyecto pasó a paso

En este caso elaboraremos una ficha para saber en qué sectores encuentran en empresa, Tipo de industria, Numero de empleados.




Para comenzar se debe analizar bien la encuesta  continuamente, dando encuestas a diferentes empresas para que ellos reponda las preguntas según los tipos de respuestas dadas

Analisis de la empresa :

ü  La encuesta está compuesto por los datos específicos de la empresa  (tipo de industria donde se encuentra la empresa, en que sector geográfico se encuentra la empresa, Numero de empleados y terciariazados que laboran, si está totalmente de acuerdo, de acuerdo, medianamente de acuerdo en desacuerdo, total desacuerdo en tercerizar los servicios contable-tributarios).

ü  Selección única.



ü  Sector donde se encuentra la empresa (Selección única).

ü  Número de empleados que hay en la empresas (De 1 a 50, De 51 a 100 o más 100).

ü  Tipo de industria donde se encuentra la empresa



Solución de la Encuesta

1.      En la encuesta se los jefes o gerentes de la empresa deberán responder exactamente la repuesta que se le pide seleccionar.

2.      Los datos de la encuesta  se almacenara en una base datos de Access una sola vez en la tabla de información personal.

3.      Con todo lo anterior se sacara una un porcentaje específico de las empresas.



Ahora a trabajar:

Comenzaremos a e realizar las tablas donde se almacenara la información descompuesta anteriormente, para guardar la información específica de las empresas se utilizara la siguiente tabla:




Luego cerramos la base de datos de Access y listos para ir a trabaja a Visual Basic.Net

1 paso: hacemos el formulario sobre la encuesta que se nos han pedido hacer como todos sabemos para que nuestros datos se almacenes en la hoja de datos de Access debemos programar el formulario el botón salvar y salir aquí pueden observar el código de ellos:



    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        DsEncuesta.Merge(Datos.ObtenerDatos, False)

    End Sub



    Private Sub EncuestasBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EncuestasBindingNavigatorSaveItem.Click

        If validar() = True Then

            EncuestasBindingSource.EndEdit()

            Datos.salvarencuesta(DsEncuesta)

            DsEncuesta.AcceptChanges()

            MsgBox("Los datos se han almacenado correctamente", MsgBoxStyle.Information, "salvar")

        End If

    End Sub



    Private Function validar () As Boolean

        If Preg1.SelectedIndex = -1 Then

            Err.SetError(Preg1, "Seleccione su respuesta")

            Return False

        End If

        If Preg2.SelectedIndex = -1 Then

            Err.SetError(Preg2, "Selecciones su respuesta")

            Return False

        End If

        If preg3.SelectedIndex = -1 Then

            Err.SetError(preg3, "Selecciones su respuesta")

            Return False

        End If

        If Preg4.SelectedIndex = -1 Then

            Err.SetError(Preg4, "Selecciones su respuesta")

            Return False

        End If

        Err.SetError(Preg1, "")

        Err.SetError(Preg2, "")

        Err.SetError(preg3, "")

        Err.SetError(Preg4, "")





        Return True

    End Function



    Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorAddNewItem.Click

        EncuestasBindingSource.EndEdit()

        EncuestasBindingSource.AddNew()

        Preg1.Focus()

        Preg1.SelectedIndex = -1

        Preg2.SelectedIndex = -1

        Preg3.SelectedIndex = -1

        Preg4.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 el registro", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "eliminar") = MsgBoxResult.Yes Then

            EncuestasBindingSource.EndEdit()

            EncuestasBindingSource.RemoveCurrent()

            Datos.salvarencuesta(DsEncuesta)

            DsEncuesta.AcceptChanges()

            MsgBox("el registro se ha eliminado de manera permanente", MsgBoxStyle.Information, "confirmado")

            Preg1.Focus()



Private Sub Salir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Salir.Click

        Close ()

    End Sub








Al ejecutar el formulario debemos contestar la encuesta y lo que uno conteste debe aparecer en las hoja de datos de Access este funcionara si el código esta correcto.



Pero no debemos olvidar agregar un control de usuario a este lo llamaremos entorno este nos sirve para establecer la conexión y así que el programa se nos ejecute sin ningún error en la conexión





 2paso: Realizamos la grafica  de cada una de las preguntas de las encuestas:

*Primero agregamos un formulario.

*Agregamos un tabcontrol.

*y en el tabgrafico le escribimos el nombre de la pregunta de la encuesta.

*Dentro de cada una de las pestañas agregamos un chart.

*Agregamos un botón de comando y le cambiamos en la propiedad en text: Actualizar..

*Agregamos el código De actualizar






 Este código es el mismo  que se utilice en cada una de las graficas  que se tendrán que realizar por cada pregunta que este en la encuesta lo único que tendríamos que cambiar es:

*El numero de la pregunta de la encuesta

*En el titulo ósea la pregunta de la encuesta



ü  Ya una vez realizado todo esto y hecho todas la graficas  nos quedara así:





Pasó 3: El reporte

·        Lo primero que hacemos es agregar un formulario.

·        Y dentro del agregamos un ReportViewer1.


·        Agregamos un nuevo elemento y seguimos haciendo los primeros pasos.

·        En rptencuesta arrastramos un list

·        Dentro de este agregamos











·        Y le damos agregar
·        Y nos aparece una ventana para la configuración de datos
















·        Le damos el botón siguiente y nos aparece esta ventana



·        También le damos siguiente a esta ventana y nos aparece lo siguiente:




·        En esta ventana nos aparece para realizar una conexión de datos

·        Y le damos nueva conexión y seccionamos o examinamos la carpeta donde tenemos guardo.

·        Luego probar conexión aquí nos tendrá que aparecer una ventana de esta forma : diciendo la conexión de prueba se realizo correctamente


                                                                                                                                                                  

·        Luego le damos Ok  y solo le damos siguiente y nos quedara así:


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 pegamos otro cuadro de texto y en la parte de la esquina arriba de nuestro cuadro de texto seleccionamos el Id de nuestra ficha


Luego de Seleccionarlo le damos clic derecho y nos vamos a Expresión y borramos lo que hay y pegamos este código:

=”Encuesta #: “ &Fields! IdEncuesta.Value.ToString
Luego vamos pegando cada una de las preguntas y respuesta de la encuesta  y nos quedara así: los incisos deberán tener color para cuando lo ejecutemos deberán solo aparecer la repuesta que fue seleccionada seleccionada





jueves, 15 de marzo de 2012

DataRow


DATAROW


Objetos DataRow y DataColumn son componentes principales de un DataTable. Utilice el objeto DataRow y sus propiedades y métodos para recuperar, evaluar, insertar, eliminar y actualizar los valores de DataTable. DataRowCollection representa los objetos DataRow reales de DataTable y DataColumnCollection contiene los objetosDataColumn que describen el esquema de DataTable. Utilice la propiedad Item sobrecargada para devolver o establecer el valor de DataColumn.
Utilice las propiedades HasVersion y IsNull para determinar el estado de un valor de fila concreto y la propiedad RowState para determinar el estado de la fila con relación a su objeto DataTable primario.
Para crear un DataRow nuevo, utilice el método NewRow del objeto DataTable. Después de crear un DataRow nuevo, utilice el método Add para agregar el nuevo DataRowa DataRowCollection. Por último, llame al método AcceptChanges del objeto DataTable para confirmar la adición. Para obtener más información sobre la adición de datos a un DataTable, vea Agregar datos a una tabla.

 

Como Eliminar un objeto datarow


Existen dos métodos para eliminar un objeto DataRow de un objetoDataTable: el método Remove del objeto DataRowCollection y el método Delete del objeto DataRow. Mientras que el método Remove elimina un objeto DataRow de la DataRowCollection, el método Delete únicamente lo marca para su eliminación.

La eliminación propiamente dicha se produce cuando la aplicación llama al método AcceptChanges. Si se usa Delete, se puede comprobar mediante programación qué filas están marcadas para eliminación antes de eliminarlas. Cuando una fila está marcada para eliminación, su propiedad RowState está establecida en Deleted.

Si utiliza un DataSet o una DataTable en combinación con un DataAdapter y un origen de datos relacional, utilice el método Delete de la DataRow para quitar la fila. El métodoDelete marca la fila como Deleted en DataSet o DataTable pero no la quita. En su lugar, cuando el DataAdapter encuentra una fila marcada como Deleted, ejecuta el métodoDeleteCommand para eliminar la fila en el origen de datos. A continuación se puede quitar la fila permanentemente utilizando el método AcceptChanges. Si utiliza Removepara eliminar la fila, ésta desaparecerá por completo de la tabla, pero el DataAdapter no eliminará la fila del origen de datos.

El método Remove de la DataRowCollection toma una DataRow como argumento y la elimina de la colección, como se muestra en el ejemplo siguiente.
             * workTable.Rows.Remove (workRow);
Por el contrario, en el siguiente ejemplo se muestra cómo se llama al método Delete en una DataRow para cambiar el RowState a Deleted.
                 *workRow. Delete ();
Ejemplos:
En el ejemplo siguiente se crea un nuevo DataRow mediante una llamada al método NewRow del objeto DataTable.



private void CreateNewDataRow()
{
    // Use the MakeTable function below to create a new table.
    DataTable table;
    table = MakeNamesTable();

    // Once a table has been created, use the
    // NewRow to create a DataRow.
    DataRow row;
    row = table.NewRow();

    // Then add the new row to the collection.
    row["fName"] = "John";
    row["lName"] = "Smith";
    table.Rows.Add(row);

    foreach(DataColumn column in table.Columns)
        Console.WriteLine(column.ColumnName);
    dataGrid1.DataSource=table;
}

private DataTable MakeNamesTable()

En el ejemplo siguiente se crea un nuevo DataRow mediante una llamada al método NewRow del objeto DataTable.


{
    // Create a new DataTable titled 'Names.'
    DataTable namesTable = new DataTable("Names");

    // Add three column objects to the table.
    DataColumn idColumn = new  DataColumn();
    idColumn.DataType = System.Type.GetType("System.Int32");
    idColumn.ColumnName = "id";
    idColumn.AutoIncrement = true;
    namesTable.Columns.Add(idColumn);

    DataColumn fNameColumn = new DataColumn();
    fNameColumn.DataType = System.Type.GetType("System.String");
    fNameColumn.ColumnName = "Fname";
    fNameColumn.DefaultValue = "Fname";
    namesTable.Columns.Add(fNameColumn);

    DataColumn lNameColumn = new DataColumn();
    lNameColumn.DataType = System.Type.GetType("System.String");
    lNameColumn.ColumnName = "LName";
    namesTable.Columns.Add(lNameColumn);

    // Create an array for DataColumn objects.
    DataColumn [] keys = new DataColumn [1];
    keys[0] = idColumn;
    namesTable.PrimaryKey = keys;

    // Return the new DataTable.
    return namesTable;
}