Hola

En el Software educativo que estoy haciendo,.. necesito imprimir o generar reportes ... Estoy trabajando con MDM ZINC 4.0, fLASH CS6 Y ACCESS 2010 en AS2...

Este post lo coloque aqui por estar trabajando con FLASH y en PHP MYSQL ya que es de base de datos

Debo generar un reporte por niño, pero al emitir el reporte no me me indica nada de nada...

Esta es la programación:

Código :

stop();
//REPORTE POR NIÑO
_global.alumnoR = 0;


// _root.reporte_btn.enabled = false;
var etx:String = "";
var idsx:Number = 0;
var largo:Number = 0;
var sesionSeln:Number = 0;
var sesionSel = "";
 //conectamos la base de datos
var databaseFile:String = "aprenderdb.mdb";
var databasePassword:String = "";
var path:String = mdm.Application.path+databaseFile;
mdm.Database.MSAccess.connect(databaseFile,databasePassword);
var success = mdm.Database.MSAccess.success();
if (success == false)
{
   var msg:String = "No se puede conectar a la bbdd";
   mdm.Dialogs.prompt(msg);
}   
else
{
   //creamos los dos arreglos requeridos y la variable de cantidad
   //obtenemos la cadena
   var sqlstr0:String = "SELECT distinct idAlum FROM maestraactivasesion where idU = "+_global.usuario;
   //ejecutamos la consulta
   mdm.Database.MSAccess.select(sqlstr0);
   //recuperamos la información mediante un arreglo
   var yeye:Array = mdm.Database.MSAccess.getData();
    var largo = yeye.length;
   etiqueta = new Array(largo);
   identifica = new Array(largo);
   //hacemos otra consulta para 
   //mdm.Dialogs.prompt("largo: "+largo);
   //hacemos la consulta para llenar los dos arreglos requeridos
   var sqlstrA:String = "SELECT distinct m.idAlum,a.nomAlum FROM maestraactivasesion m inner join alumnos a on(m.idAlum = a.idAlum) where m.idU ="+_global.usuario;
   //ejecutamos la consulta
   mdm.Database.MSAccess.select(sqlstrA);
   //recuperamos la información mediante un arreglo
   var yaya:Array = mdm.Database.MSAccess.getData();
   var yaya_largo:Number = 0;
   var yaya_largo = yaya.length;
   //mdm.Dialogs.prompt("largo de la consulta actual: "+yaya_largo+" largo: "+largo+" !!");
   for (var i = 0; i<yaya_largo; i++)
   {
      idsx = parseInt(yaya[i][0]);
      identifica[i] = idsx;
      etx = "Alumno:  ("+idsx+") "+yaya[i][1];
      etiqueta[i] = etx;
      //mdm.Dialogs.prompt("indice "+identifica[i]+" etiqueta: "+etiqueta[i]+" !!!");
   }
   llenarCombo();
   //cerramos la base de datos
   mdm.Database.MSAccess.close();
}
//
//////funcion llenarcombobox
function llenarCombo()
{
   listadoN.setStyle("fontSize",14);
   //Le asignamos un proveedor de datos
   losDatosN = new Array();
   listadoN.dataProvider = losDatosN;
   
   //Metemos los datos en el ComboBox
   for (i=0; i<identifica.length; i++)
   {
      losDatosN.addItem({ label: etiqueta[i], data: identifica[i] });
   }
}
//fin de la funcion llenar combobox
/************* LISTENERS ****************/
   //Eventos
listadoN.addEventListener("change", alSeleccionar);
//Listeners para cuando seleccionamos alguna opcion
function alSeleccionar(Obj)
{
   //_root.reporte_btn.enabled = true;
   DatosListaN = Obj.target.selectedItem;
   //idSel_txt.text = DatosGrid.data;
   //LineaGrid = listado.selectedIndex;
   var alumnoSel2N= DatosListaN.data
   _global.alumnoR = parseInt(alumnoSel2N);
   //sesionSelR = ""+_global.sesion+"";
   //mdm.Dialogs.prompt("niño seleccionado " + _global.alumnoR);

   //no me vuestra el valor de  la variable en la caja de texto ????
} 
_root.reporteN_btn.onRelease = function()
{
    //conectamos la base de datos
      var databaseFile:String = "aprenderdb.mdb";
      var databasePassword:String = "";
      var path:String = mdm.Application.path+databaseFile;
      mdm.Database.MSAccess.connect(databaseFile,databasePassword);
      var success = mdm.Database.MSAccess.success();
      if (success == false)
      {
         var msg:String = "No se puede conectar a la bbdd";
         mdm.Dialogs.prompt(msg);
      }   
      else
      {
            //limpiamos la cola de impresion
            var sqlxxy:String = "UPDATE imprecontrolN SET imprecontrolN.pendiente = '5', imprecontrolN.idU = '0', imprecontrolN.idAlumno = '0',  imprecontrolN.nombreU = 'nada' WHERE imprecontrolN.pendiente ='1'";
         mdm.Database.MSAccess.runQuery(sqlxxy);
         var yuyuxy:Number = mdm.Database.MSAccess.getRecordCount();
          var isError:Boolean = mdm.Database.MSAccess.error();
         if(mdm.Database.MSAccess.error() == true)
         {
         var myError2:String = mdm.Database.MSAccess.errorDetails;
            mdm.Dialogs.prompt("nro de registros: "+yuyuxy+" error Nro.: "+isRerror+"  detalle error: "+myError2);
      }            
       //movemos los datos globales a vaeriables comunes
      var idux:Number = _global.usuario;
      var idAx:Number = _global.alumnoR;
      var nombreUX:String = _global.nombreUS;
      //mdm.Dialogs.prompt("idU: "+idux+" nombreU: "+nombreUX+" idAlumno: "+idAx);
      //actualizamos el control de impresora que activara el macro
      var sqlupdate:String = "UPDATE imprecontrolN set imprecontrolN.pendiente='1',imprecontrolN.idU='"+idux+"',imprecontrolN.idAlumno='"+idAx+"',imprecontrolN.nombreU='"+nombreUX+"' WHERE imprecontrolN.pendiente='5' and imprecontrolN.nombreU='nada'";
      mdm.Database.MSAccess.runQuery(sqlupdate);
      mdm.Database.MSAccess.getRecordCount();
      //cerrar la base de datos lo hará directamente el macro
      mdm.Database.MSAccess.close();
      var macroImprimeN:String = "WinEsp\ macroASN.exe";
      //mdm.Dialogs.prompt("procedo a cerrar access y nitroPDF si estan abiertos");
      //mdm.System.exec(macroCierraN);
      //mdm.Dialogs.prompt("procedo a realizar la consulta");
      mdm.System.exec(macroImprimeN);
      
   }
}
 
stop();


De ante mano gracias por sus aportes