Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/03/2007, 19:34
adanqfb
 
Fecha de Ingreso: marzo-2007
Mensajes: 20
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: mdmzinc-flex y access

Hola, encontré esto en los foros de Zinc, creo que es la causa de tu problema:


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="NO PUEDO PONER LIGAS :(" layout="absolute" creationComplete="initApp();populateCombo();">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.*;
import mdm.Application;
import mdm.Database;
import mdm.Dialogs;

//filename of the database
private var database:String = 'users.mdb';

//Combobox Data Provider
[Bindable]
public var users:ArrayCollection = new ArrayCollection(); // = new

private function initApp():void{
mdm.Application.init(this);
}

//this is a must function to map local files
public static function getPath(aPath:String):String{
if(mdm.Application.path == ""){
return aPath;
}
// else in zinc
aPath = mdm.Application.path+aPath;
// quick fix for paths/separators
aPath = aPath.split("/").join("\\");
aPath = aPath.split("\\\\").join("\\");
return aPath;
}


// Access database connection
private function connectDB():void{
mdm.Database.MSAccess.connectAbs(getPath(database) );
}


//getXML does not work in flex yet
private function selectUsers():void{
mdm.Database.MSAccess.select('SELECT * FROM users');
}


//Populates combobox
private function populateCombo():void{

connectDB();
selectUsers();
if( mdm.Database.MSAccess.getData().length > 0){
var dataSet:Array = mdm.Database.MSAccess.getData();
var i: int;
// Assemble Data (the Database has ID|Login|Password|FirstName|LastName Fields)
for (i=0; i < dataSet.length; i++){
var item: Object = new Object();
item["label"] = dataSet[i][3] + dataSet[i][4];
item["data"] = dataSet[i][0];
users.addItem(item);
}

mycombobox.dataProvider = users;
}
}

]]>
</mx:Script>

<mx:ComboBox x="10" y="10" id="mycombobox"/>

</mx:Application>


Como en el ejemplo lo explica, la instrucción getXML() no sirve con Flex, sino que hay que usar getData(), espero te funcione....y de paso si me pueden decir como le hago para correr código Zinc en Flex, porque de plano ya hice todo lo que me dicen en los manuales y no puedo :(. Saludos.