![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
marcos disculpa todas las molestia pero creo que ya estamos llegando donde queremos.
cuando preciono el boton de insetar, el DBGrid me deja que digite la primera linea del DBGrid correctamente y me inserte una nueva lienea, pero me enconde la linea que digite, cuando estoy digitando en la segunda linea en el ultimo registro del DBGrid que en este caso es la cantidad del articulo como tengo un campo calculado el cual automaticamente me calculo el precio por la cantidad en esa parte es donde me esta dondo el error. estoy ulizando este codigo en el onkeypress de la forma. Código:
procedure TFrm_Pedidos.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
if not (ActiveControl is TDBGrid) then begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0);
end
else if (ActiveControl is TDBGrid) then
with TDBGrid(ActiveControl) do
if selectedindex < (fieldcount -1) then
selectedindex := selectedindex +1
else
selectedindex := 0;
Última edición por marcoszorrilla fecha: 05-07-2004 a las 22:02:06. |
|
#2
|
||||
|
||||
|
He releido el hilo y veo que tienes una relación entre las tablas, desde Access pulsas botón derecho vas a relaciones y miras a ver si la relación es uno a muchos, verás gráficamente que de la tabla cabecera tiene que salir una unión hacia la tabla de detalle en esta mostrará el símbolo de infinito, mira no sea que por error hayas establecido una relación uno a uno y entonces puede vernir por ahí el error.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#3
|
|||
|
|||
|
Mucha Gracias por tu apreciado tiempo y disculpa todas las molestia pero es que quiero a prender a programar y lo quiero hacer en delphi, creo que ya encontre el problema y tedigo a continuacion.
el problema es que las dos tablas son iguales la cual contienen un campo llamado codigo_interno_pedio pero este campo es numerico en la tabla encabezado tengo una rutina para autoincrementarlo el campo y me funciona perfectamente, ahora bien en la tabla detalle este campo cuando utilizo la rutina para autoincremetarlo me dejaba añadir el primer registro y grababa 0 y 1. Entoce puse el campo de la tabla detalle Autoincremento y por el momento esta funcionando bien. pero dejame aprobechar y hacerte dos pregunta. Estoy usando el Enter por el Tab en el DBGrid, como puedo hacer para cuando digite el ultimo campo en el DBGrid y precione el Enter me añada una nueva fila y por que me enconde la primera fila cuando inserta una nueva (esto lo hace solo con el tab). mil gracias por ayudarme y pasa un feliz resto del dia |
|
#4
|
||||
|
||||
|
Pon este código en el lugar apropiado:
En cuanto a que las dos tablas el campo sea autoincrementado, no es buena idea, si está bien creada la relación maestro detalle, toda alta dada en la tabla detalle tendrá el mismo número que tenga la cabecera en ese momento. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 06-07-2004 a las 18:35:11. |
|
#5
|
|||
|
|||
|
mil gracias por su sugerencia pero es que no tengo otra opcion para resolver este mequeño problema.
sigue pasando un feliz resto del dia. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|