Estoy tratando de pasar el código AS2 de la conexión entre Flash y Access al código AS3. No sé si hay algo ya resuelto y me quitaría un gran problema, de momento llevo un par de días con ello y sigo...
Código ActionScript :
var databaseFile:String = "ejemplo_agenda.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); return; } //FUNCION PARA HACER LA CONSULTA A LA BBDD function consulta(){ theDataGrid.removeAll(); var sqlString:String = "SELECT id,nombre,apellidos,telefono FROM ejemplo_agenda order by id asc"; // Ejecutamos la consulta sql mdm.Database.MSAccess.select(sqlString); // Comprobamos los errores var error:Boolean = (mdm.Database.MSAccess.error() == "true"); if (error) { var msg:String = "Ha ocurrido un error en la consulta!"; mdm.Dialogs.prompt(msg); return; } //Obtenemos los datos de la consulta var dataSet:Array = mdm.Database.MSAccess.getData(); var datos:Object; var newItemsArray:Array = new Array(); for (var i = 0; i<dataSet.length; i++) { datos = {}; datos.ID = parseInt(dataSet[i][0]); datos.Nombre = dataSet[i][1]; datos.Apellidos = dataSet[i][2]; datos.Telefono = dataSet[i][3]; newItemsArray.push(datos); } theDataGrid.dataProvider = newItemsArray; } //FUNCION PARA MONTAR EL DATAGRID function layoutGUI():Void { // Montamos el encabezado del datagrid theDataGrid.setStyle("fontSize",10); theDataGrid.columnNames = ["ID", "Nombre", "Apellidos", "Telefono"]; theDataGrid.vScrollPolicy = "auto"; var gridWidth:Number = theDataGrid.width; theDataGrid.getColumnAt(0).width = 0.05*gridWidth; theDataGrid.getColumnAt(0).headerText = "ID:"; theDataGrid.getColumnAt(1).width = 0.35*gridWidth; theDataGrid.getColumnAt(1).headerText = "Nombre:"; theDataGrid.getColumnAt(2).width = 0.45*gridWidth; theDataGrid.getColumnAt(2).headerText = "Apellidos:"; theDataGrid.getColumnAt(3).width = 0.15*gridWidth; theDataGrid.getColumnAt(3).headerText = "Telefono:"; theDataGrid.setStyle("alternatingRowColors", [0xFFFFFF, 0xF9FCFD]); } //Funcion para insertar un dato bot_insertar.onRelease=function(){ if(nombre_txt.text==""){ nombre_txt.text="Este campo no puede estar vacio"; }else{ mdm.Database.MSAccess.runQuery("INSERT INTO ejemplo_agenda (nombre,apellidos,telefono) VALUES ('"+nombre_txt.text+"','"+apellidos_txt.text+"',"+telf_txt.text+")"); consulta(); nombre_txt.text=""; apellidos_txt.text=""; telf_txt.text=""; } } //Borrado de datos bot_borrar.onRelease=function(){ LineaGrid = theDataGrid.selectedIndex; if(LineaGrid!=undefined){ var sqlString:String = "DELETE FROM ejemplo_agenda where id="+theDataGrid.getItemAt(LineaGrid).ID; mdm.Database.MSAccess.runQuery(sqlString); theDataGrid.removeItemAt(LineaGrid); consulta(); } } //Edicion de datos theDataGrid.addEventListener("change", editar); function editar(Obj) { bot_editar.enabled=true; //Obtiene los datos de la linea seleccionada DatosGrid = Obj.target.selectedItem; //Asigna valores de los campos de texto nombre_txt.text = DatosGrid.Nombre; apellidos_txt.text = DatosGrid.Apellidos; telf_txt.text = DatosGrid.Telefono; } bot_editar.onRelease=function(){ LineaGrid = theDataGrid.selectedIndex; var sqlString:String = "UPDATE ejemplo_agenda set nombre='"+nombre_txt.text+"', apellidos='"+apellidos_txt.text+"', telefono="+telf_txt.text+" where id="+theDataGrid.getItemAt(LineaGrid).ID; mdm.Database.MSAccess.runQuery(sqlString); consulta(); bot_editar.enabled=false; nombre_txt.text = ""; apellidos_txt.text = ""; telf_txt.text = ""; } bot_editar.enabled=false; layoutGUI(); consulta();//Obtenemos los datos de la bbdd