FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
este es el codigo que estoy utilizando en el evento onchange del campo, en la tabla pedido la cual es la tabla encabezado.
Código:
procedure TFrm_Pedidos.Tbl_PedidoNumero_PedidoChange(Sender: TField); begin ls_Pedido := Tbl_PedidoNumero_Pedido.Value; Qry_Pedidos.Close; with Qry_Pedidos do begin with sql do begin clear; add ('select * from Pedidos'); add ('where numero_Pedido ='+IntToStr(ls_Pedido)); open; if recordcount <> 0 then begin ShowMessage('@@@@@ El Numero ya Existe @@@@@'); Abort; end; end; end; end; y siqueme disculpando es que esta muy estaño este error al meno que no este mal el codigo que utilizo. gracias |
#2
|
||||
|
||||
No queda claro como le atribuyes el número al pedido, también te digo que el evento OnChange no es el más idoneo para comprobar si el pedido existe o no, si se trata de un nuevo número de pedido quizás el evento BeforeInsert te dará lugar a no obtener el error que estás obteniendo, también convendría saber que número tiene el pedido que estás insertando, o bien se repite o quizás ya esté hecho el "Post", y lo que ocurre es que se encuentre a si mismo,
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
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 21:02:06. |
#4
|
||||
|
||||
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:
|
#5
|
|||
|
|||
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 |
#6
|
||||
|
||||
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 17:35:11. |
#7
|
|||
|
|||
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. |
|
|
|