PDA

Ver la Versión Completa : Asignacion de campos


jdangosto
05-08-2005, 10:31:36
Hola a todos.

Tengo el siguiente código
tabla_detalle.FieldByName('num_venta').AsInteger := tabla_ventasNum_venta.AsInteger;

Lo que intento es asignar la tabla detalle el mismo número que existe en la tabla ventas (el campos se llama en ambos lados Num_Venta), lo único que en la tabla ventas el campo es de tipo Autonumérico y en la de detalle es Numérico. Esta relación me permite asociar ambas tablas. El error que me da es que no encuentra num_venta en la tabla detalle.

Luego por otro lado estoy intentando guardar unos campos calculados de un Grid pero no encuentro la instrucción adecuada. ¿Cómo sería para guardar, ejemplo, el campo calculado SubTotal del grid, existente tanto en el grid como en la tabla detalle, en la tabla detalle?

Estoy intentado lo siguiente, pero se que no es lo correcto ya que me da un error y no se cómo solventarlo.
tabla_detalle.FieldByName('SubTotal').AsInteger := dbgrid1.Fields['Subtotal':5];

Gracias

epuigdef
05-08-2005, 10:41:11
Respecto al primer problema, ten en cuenta que el campo autonumérico se asigna cuando se actualiza el campo, por lo que si acabas de hacer un insert en la tabla de ventas, hasta que no hagas el post no tendrás el número.


Si este no es el caso, y ya tienes en número en la tabla de ventas, porqué no accedes a él mediante el fieldbyname como en el de detalle?

table_detalle.fieldbyname('numero').asInteger := tablas_ventas.fieldByName('numero').asInteger;

Y, por cierto, personalmente no me gustan los campos autonuméricos, prefiero asignarle el número con un (select max(numero)) + 1, cuestión de gustos!

Un saludo

Edu