Buenas, les cuento de que estoy haciendo un programa de gestion de stock, precios y esas cosas. Ya lo tengo casi hecho, el unico problema que tengo es que no se como sumar y restar variables que se encuentran en la base de datos. La base de datos es en Access y el programa tambien esta hecho con MDM ZINC.
El codigo tiene algunos errores que no importan porque despues lo arreglo.
Aqui el codigo:
var databaseFile:String = "base_de_datos.mdb";
var databasePassword:String = "";
var path:String = mdm.Application.path+databaseFile;
mdm.Database.MSAccess.connect(databaseFile,databas ePassword);
var success = mdm.Database.MSAccess.success();
if (success == false) {
var msg:String = "No se puede conectar a la base de datos";
mdm.Dialogs.prompt(msg);
return;
}
//FUNCION PARA HACER LA CONSULTA A LA BBDD
function consulta(){
theDataGrid.removeAll();
var sqlString:String = "SELECT id,producto,precio,stock,vendido FROM base_de_datos 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.Producto = dataSet[i][1];
datos.Precio = dataSet[i][2];
datos.Stock = dataSet[i][3];
datos.Venta = dataSet[i][4];
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", "Producto", "Precio", "Stock", "Venta"];
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 = "Producto:";
theDataGrid.getColumnAt(2).width = 0.15*gridWidth;
theDataGrid.getColumnAt(2).headerText = "Precio:";
theDataGrid.getColumnAt(3).width = 0.15*gridWidth;
theDataGrid.getColumnAt(3).headerText = "Stock:";
theDataGrid.getColumnAt(4).width = 0.15*gridWidth;
theDataGrid.getColumnAt(4).headerText = "Vendido/s:";
theDataGrid.setStyle("alternatingRowColors", [0xFFFFFF, 0xF9FCFD]);
}
//Funcion para insertar un dato
btn_agregar.onRelease=function(){
if(producto_txt.text==""){
producto_txt.text="Este campo no puede estar vacio";
}else{
mdm.Database.MSAccess.runQuery("INSERT INTO base_de_datos (producto,precio,stock,vendido) VALUES ('"+producto_txt.text+"','"+precio_txt.text+"','"+ stock_txt.text+"',"+venta_txt.text+")");
consulta();
producto_txt.text="";
precio_txt.text="";
stock_txt.text="";
venta_txt.text="";
}
}
//Borrado de datos
btn_borrar.onRelease=function(){
LineaGrid = theDataGrid.selectedIndex;
if(LineaGrid!=undefined){
var sqlString:String = "DELETE FROM base_de_datos where id="+theDataGrid.getItemAt(LineaGrid).ID;
mdm.Database.MSAccess.runQuery(sqlString);
theDataGrid.removeItemAt(LineaGrid);
consulta();
producto_txt.text="";
precio_txt.text="";
stock_txt.text="";
venta_txt.text="";
}
}
//Edicion de datos
theDataGrid.addEventListener("change", editar);
function editar(Obj) {
btn_actualizar.enabled=true;
//Obtiene los datos de la linea seleccionada
DatosGrid = Obj.target.selectedItem;
//Asigna valores de los campos de texto
producto_txt.text = DatosGrid.Producto;
precio_txt.text = DatosGrid.Precio;
stock_txt.text = DatosGrid.Stock;
venta_txt.text = DatosGrid.Vendido;
}
btn_actualizar.onRelease=function(){
LineaGrid = theDataGrid.selectedIndex;
var sqlString:String = "UPDATE base_de_datos set producto='"+producto_txt.text+"', precio='"+precio_txt.text+"', stock="+stock_txt.text+"' venta="+venta_txt.text+"' where id="+theDataGrid.getItemAt(LineaGrid).ID;
mdm.Database.MSAccess.runQuery(sqlString);
consulta();
btn_actualizar.enabled=false;
producto_txt.text = "";
precio_txt.text = "";
stock_txt.text = "";
venta_txt.text ="";
}
btn_actualizar.enabled=false;
layoutGUI();
consulta();//Obtenemos los datos de la bbdd
Como dije antes mi problema es que no se como sumar y restar variables que estan dentro de la base de datos. Hablando mas directamente lo que quiero es que si un producto tiene un stock de 100 y vendo 50 que el stock baje segun lo vendido.
Espero respuestas serias. Desde ya, muchas gracias.