PDA

Ver la Versión Completa : Ayuda Urgente para una consulta!!!!


EfrainSanmiguel
01-11-2005, 16:56:46
Hola a todos, soy muy nuevo en esto de delphi, y estoy desarrollando una pequeña aplicacion en delphi 6.0 la base de datos es dbase, lo que necesito es lo siguiente:

1.- seleccionar de un DBCombo un articulo de una tabla,
2.- escribo en un DBEdit una cantidad ejemplo: 120 kilos,
3.- Oprimir un boton y que con una sentencia SQL (QUE NO SE COMO HACER) se posicione en el articulo seleccionado en la tabla articulo y se sume el valor que tengo en el DBEdit a un campo llamado "cantidad" en la tabla articulo.


gracias de antemano.. Ayundeme porfavor :confused:

Johnny Q
01-11-2005, 17:58:48
Hola,

Si no estoy mal, cuando tu seleccionas el articulo con el DBCombo, delphi te posiciona en esa fila.

Si quieres sumarle una cantidad al articulo que seleccionaste debes programar algo como:

tblArticulo.FieldValues['cantidad'] := tblArticulo.FieldValues['cantidad'] + StrToInt(DBEdit1.Text);

En el momento en que vayas a guardar los cambios

Saludos

EfrainSanmiguel
01-11-2005, 18:27:48
Hola en verdad agradesco que te hayas tomado el tiempo para contestar a mi pregunta. pero una cosita?

como deberia posicionarme en ese registro al seleccionar el articulo del DBComboBox??? es decir me imagino que eso es como una busqueda que seleccionas de un combobox algo y luego oprimes el boton y entonces se posiciona en el registro donde esta ese articulo... como seria ese codigo?? :confused:

Lepe
01-11-2005, 18:35:15
Al ser una BBDD dbase, quizás te convega algo más simple que una sql.

Para el punto1, quizás te venga mejor un DBLookUpCombo, ya que rellena los elementos en la lista desplegable. Busca en el foro para más detalles, se ha hablado mucho sobre él.


procedure boton1Click(...);
begin
if tabla1.Locate('Articulo', combo1.text,[locaseinsensitive]) then
begin // ha encontrado el articulo y se ha posicionado en ese registro.
tabla1.Edit; // nos ponemos en edición para sumar
tabla1.Fieldbyname('cantidad').Asfloat :=
tabla1.Fieldbyname('cantidad').Asfloat + DBedit1.AsFloat;
tabla1.Post; Guardamos los cambios.
end;

EfrainSanmiguel
01-11-2005, 21:08:31
hola gracias, ya pude solventar mi problema, pero una ultima duda, yo tengo un label donde capturo un peso proveniente de una balanza electronica, y luego le resto el valor que introduzca en un Edit1, yo quiero mostrar el resultado de esa resta en un edit2 para hacer lo que me explicaste..

pero como hago esa resta, porque me da un error:

Edit2 := label1.caption - edit1.text; este es el codigo que tengo :confused:

vtdeleon
01-11-2005, 21:29:00
Saludos

No he leído el hilo entero, pero llevandome de estopero como hago esa resta, porque me da un error:

Edit2 := label1.caption - edit1.text; este es el codigo que tengo
Try
Edit2.text := InttoStr(StrtoInt(label1.caption) - StrtoInt(edit1.text));
Except
Showmessage('error....');
End;
...

EfrainSanmiguel
02-11-2005, 23:10:31
Muchas gracias, me funciono a la perfeccion...! :cool: