///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN : Consultar_Accesos
        ///DESCRIPCIÓN          : Regresa un DataTable con los Registros encontrados.
        ///PARAMETROS           : Accesos: Instancia de Cls_Ope_Accesos_Negocio con los valores de la Consulta a ser ejecutada
        ///CREO                 : Antonio Salvador Benavides Guardado
        ///FECHA_CREO           : 03/Octubre/2013
        ///MODIFICO             :
        ///FECHA_MODIFICO       :
        ///CAUSA_MODIFICACIÓN   :
        ///*******************************************************************************
        public static System.Data.DataTable Consultar_Accesos(Cls_Ope_Accesos_Negocio Accesos)
        {
            String    Mi_SQL;
            DataTable Dt_Consulta = new DataTable();

            Conexion.Iniciar_Helper();
            Conexion.HelperGenerico.Conexion_y_Apertura();

            Mi_SQL  = "SELECT " + Ope_Accesos.Campo_No_Acceso;
            Mi_SQL += ", " + Ope_Accesos.Campo_No_Venta;
            Mi_SQL += ", " + Ope_Accesos.Campo_Producto_ID;
            // subconsulta nombre producto
            Mi_SQL += ", (SELECT " + Cat_Productos.Campo_Nombre + " FROM " + Cat_Productos.Tabla_Cat_Productos
                      + " WHERE " + Cat_Productos.Campo_Producto_Id + "=" + Ope_Accesos.Tabla_Ope_Accesos + "." + Ope_Accesos.Campo_Producto_ID + ") AS NOMBRE_PRODUCTO";
            Mi_SQL += ", " + Ope_Accesos.Campo_Terminal_ID;
            Mi_SQL += ", " + Ope_Accesos.Campo_Numero_Serie;
            Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Inicio;
            Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Fin;
            Mi_SQL += ", " + Ope_Accesos.Campo_Estatus;
            Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Hora_Acceso;
            Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Hora_Salida;
            Mi_SQL += ", " + Ope_Accesos.Campo_Tipo;
            Mi_SQL += ", " + Ope_Accesos.Campo_Usuario_Creo;
            Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Creo;
            Mi_SQL += ", " + Ope_Accesos.Campo_Usuario_Modifico;
            Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Modifico;
            Mi_SQL += " FROM " + Ope_Accesos.Tabla_Ope_Accesos;
            Mi_SQL += " WHERE ";
            if (Accesos.P_No_Acceso != "" && Accesos.P_No_Acceso != null)
            {
                Mi_SQL += Ope_Accesos.Campo_No_Acceso + " = '" + Accesos.P_No_Acceso + "' AND ";
            }
            if (!string.IsNullOrEmpty(Accesos.P_Numero_Serie))
            {
                Mi_SQL += Ope_Accesos.Campo_Numero_Serie + " = '" + Accesos.P_Numero_Serie + "' AND ";
            }
            if (!string.IsNullOrEmpty(Accesos.P_Estatus))
            {
                Mi_SQL += Ope_Accesos.Campo_Estatus + " = '" + Accesos.P_Estatus + "' AND ";
            }
            if (Accesos.P_No_Venta != "" && Accesos.P_No_Venta != null)
            {
                Mi_SQL += Ope_Accesos.Campo_No_Venta + " = '" + Accesos.P_No_Venta + "' AND ";
            }
            if (Accesos.P_Producto_ID != "" && Accesos.P_Producto_ID != null)
            {
                Mi_SQL += Ope_Accesos.Campo_Producto_ID + " = '" + Accesos.P_Producto_ID + "' AND ";
            }
            if (Accesos.P_Terminal_ID != "" && Accesos.P_Terminal_ID != null)
            {
                Mi_SQL += Ope_Accesos.Campo_Terminal_ID + " = '" + Accesos.P_Terminal_ID + "' AND ";
            }

            if (Mi_SQL.EndsWith(" WHERE "))
            {
                Mi_SQL = Mi_SQL.Substring(0, Mi_SQL.Length - 7);
            }

            if (Mi_SQL.EndsWith(" AND "))
            {
                Mi_SQL = Mi_SQL.Substring(0, Mi_SQL.Length - 5);
            }

            Dt_Consulta = Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString());
            Conexion.HelperGenerico.Cerrar_Conexion();
            return(Dt_Consulta);
        }
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN : Consultar_Accesos
        ///DESCRIPCIÓN          : Regresa un DataTable con los Registros encontrados.
        ///PARAMETROS           : Accesos: Instancia de Cls_Ope_Accesos_Negocio con los valores de la Consulta a ser ejecutada
        ///CREO                 : Antonio Salvador Benavides Guardado
        ///FECHA_CREO           : 03/Octubre/2013
        ///MODIFICO             :
        ///FECHA_MODIFICO       :
        ///CAUSA_MODIFICACIÓN   :
        ///*******************************************************************************
        public static DataTable Consultar_Accesos(Cls_Ope_Accesos_Negocio Accesos)
        {
            String    Mi_SQL;
            DataTable Dt_Consulta = new DataTable();

            try
            {
                Mi_SQL  = "SELECT " + Ope_Accesos.Campo_No_Acceso;
                Mi_SQL += ", " + Ope_Accesos.Campo_No_Venta;
                Mi_SQL += ", " + Ope_Accesos.Campo_Producto_ID;
                // subconsulta nombre producto
                Mi_SQL += ", (SELECT " + Cat_Productos.Campo_Nombre + " FROM " + Cat_Productos.Tabla_Cat_Productos
                          + " WHERE " + Cat_Productos.Campo_Producto_Id + "=" + Ope_Accesos.Tabla_Ope_Accesos + "." + Ope_Accesos.Campo_Producto_ID + ") AS NOMBRE_PRODUCTO";
                Mi_SQL += ", " + Ope_Accesos.Campo_Terminal_ID;
                Mi_SQL += ", " + Ope_Accesos.Campo_Numero_Serie;
                Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Inicio;
                Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Fin;
                Mi_SQL += ", " + Ope_Accesos.Campo_Estatus;
                Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Hora_Acceso;
                Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Hora_Salida;
                Mi_SQL += ", " + Ope_Accesos.Campo_Tipo;
                Mi_SQL += ", " + Ope_Accesos.Campo_Usuario_Creo;
                Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Creo;
                Mi_SQL += ", " + Ope_Accesos.Campo_Usuario_Modifico;
                Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Modifico;
                Mi_SQL += " FROM " + Ope_Accesos.Tabla_Ope_Accesos;
                Mi_SQL += " WHERE ";
                if (Accesos.P_No_Acceso != "" && Accesos.P_No_Acceso != null)
                {
                    Mi_SQL += Ope_Accesos.Campo_No_Acceso + " = '" + Accesos.P_No_Acceso + "' AND ";
                }
                if (!string.IsNullOrEmpty(Accesos.P_Numero_Serie))
                {
                    Mi_SQL += Ope_Accesos.Campo_Numero_Serie + " = '" + Accesos.P_Numero_Serie + "' AND ";
                }
                if (!string.IsNullOrEmpty(Accesos.P_Estatus))
                {
                    Mi_SQL += Ope_Accesos.Campo_Estatus + " = '" + Accesos.P_Estatus + "' AND ";
                }
                if (Accesos.P_No_Venta != "" && Accesos.P_No_Venta != null)
                {
                    Mi_SQL += Ope_Accesos.Campo_No_Venta + " = '" + Accesos.P_No_Venta + "' AND ";
                }
                if (Accesos.P_Producto_ID != "" && Accesos.P_Producto_ID != null)
                {
                    Mi_SQL += Ope_Accesos.Campo_Producto_ID + " = '" + Accesos.P_Producto_ID + "' AND ";
                }
                if (Accesos.P_Terminal_ID != "" && Accesos.P_Terminal_ID != null)
                {
                    Mi_SQL += Ope_Accesos.Campo_Terminal_ID + " = '" + Accesos.P_Terminal_ID + "' AND ";
                }

                if (Mi_SQL.EndsWith(" WHERE "))
                {
                    Mi_SQL = Mi_SQL.Substring(0, Mi_SQL.Length - 7);
                }

                if (Mi_SQL.EndsWith(" AND "))
                {
                    Mi_SQL = Mi_SQL.Substring(0, Mi_SQL.Length - 5);
                }

                BDMySQL BD = new BDMySQL();

                return(BD.Consultar(Mi_SQL));
            }
            catch (Exception e)
            {
                throw new Exception("Consultar Acceso: " + e.Message);
            }
        }