PDA

Ver la Versión Completa : Pasar datos de un edit a un datamodule


dani86
27-10-2004, 01:06:41
Hola a todos
Empiezo desde el principio, estoy haciendo un programa de facturación casero en el cual tengo tres tablas (empresa,artículo y pedido) relacionadas entre si por sus claves. Para ello he utilizado una serie de Forms y un Datamodule que contiene los Ttables, Datasources y los Querys.

Mi problema viene a la hora de generar un nuevo pedido cuando introduzco cantidad (Cantidad es un campo integer calculado que esta en el query)en un edit del form, tengo:


procedure TDataModule7.Query8CalcFields(DataSet: TDataSet);
begin
Query8Cantidad.Value.asinteger:=Form6.Edit1.Text; --> no va
Query8Total.value:=(Query8Cantidad.value*Query8Precio_unitario.value); --> si va
end;

la de bajo si que va porque poniendo Query8Cantidad.Value:=3; ya tiene candidad para multiplicar; Bueno he proba muchas cosas, con StrtoInt, con variables, y no me sale con nada, por lo que ya no se si estara bien puesto.

Luego otro poblema es a la hora de guardarla, que el edit y el post no me van:

//para nombre empresa

DATAMODULE7.QUERY6.CLOSE;
DATAMODULE7.QUERY6.PARAMBYNAME('invento').ASSTRING:=DBLookupComboBox1.text;
DATAMODULE7.QUERY6.OPEN;

//para descripcion articulo

DATAMODULE7.QUERY7.CLOSE;
DATAMODULE7.QUERY7.PARAMBYNAME'invento2').ASSTRING:=DBLookupListBox1.SelectedItem;
DATAMODULE7.QUERY7.OPEN;
//los convertimos

//uno:=StrToInt(DBEdit3.Text); estan sin hacer nada
//dos:=StrToInt(DBEdit2.Text); nada

//para introducir datos

DATAMODULE7.Table4.Edit;
DATAMODULE7.Table4.AppendRecord([StrToInt(DBEdit3.Text),StrToInt(DBEdit2.Text),date]);
DATAMODULE7.Table4.Post;
Bueno luego en el Qreport ya pongo lo de Cantidad y el Total.

Muchas gracias, y si alguien me puede ayudar pos muy agradecido:rolleyes:

Pablo Carlos
27-10-2004, 01:48:19
procedure TDataModule7.Query8CalcFields(DataSet: TDataSet);
begin
Query8Cantidad.Value.asinteger:=Form6.Edit1.Text; // no va
Query8Total.value:=(Query8Cantidad.value*Query8Precio_unitario.value); // si va
end;


Hola... debes poner query8Cantidad.AsInteger (sin Value) y pasar a integer el edit1 StrToInt(Form6.edit1.Text). (si no mal recuerdo :D )

Pablo Carlos
27-10-2004, 01:56:59
DATAMODULE7.Table4.Edit;
DATAMODULE7.Table4.AppendRecord([StrToInt(DBEdit3.Text),StrToInt(DBEdit2.Text),date]);
DATAMODULE7.Table4.Post;
Esto no lo entiendo :confused:

Investment
27-10-2004, 09:33:43
DATAMODULE7.Table4.AppendRecord([StrToInt(DBEdit3.Text),StrToInt(DBEdit2.Text),date]);
Esto no lo entiendo :confused:

AppendRecord añade un nuevo registro al final del dataset y hace un post en el database insertando el registro.