JoanKa
18-01-2007, 23:56:34
Hola todos una pregunta que ya estoy varios dias en estoy me tiene cabezonazo
Haber tengo 2 formularios :
1. FRM_Busqueda_Clientes
2. FRM_Mantenimiento_Clientes
Les explico como va... es respecto a realizar una factura para que tengan una idea
En Frm_Busqueda_Clientes tengo todos los clientes en un grid y tengo tres botones:
A. Nuevo Cliente
B. Seleccionar Cliente
C. Salir
Estando en el Frm_Busqueda_Clientes presiono el Boton Nuevo Cliente el cual en el evento click tengo :
procedure TFRM_Busqueda_Clientes.BTN_Nuevo_ClienteClick(Sender: TObject);
begin
FRM_Busqueda_Clientes.Close;
// Variable declarada Global
var_alta_factura_cliente:='Nuevo_Cliente_Factura';
FRM_Mantenimiento_Clientes.Show;
end;
Y como ven me muestra el Formulario de Clientes : FRM_Mantenimiento_Clientes
Hasta aca todo bien....
Ahora en este formulario(FRM_Mantenimiento_Clientes) hay varios edit asociados a los campos de la Tabla Clientes.
Codigo |------------|
Fecha Alta |------------|
Nif |------------|
Nombre Empresa |------------|
......Otros Edits
Entoces en el evento onActivate del Formulario de Clientes tengo esto:
procedure TFRM_Mantenimiento_Clientes.FormActivate(Sender: TObject);
var
x:string;
begin
TBL_CLIENTES.Active:=True;
if TBL_CLIENTES.Bof then
begin
PGC_Clientes.ActivePage:=TBS_Lista;
ACC_Primero.Enabled := False;
ACC_Anterior.Enabled :=False;
end;
x:=FRM_Busqueda_Clientes.var_alta_factura_cliente;
if x='Nuevo_Cliente_Factura' then
begin
PGC_Clientes.ActivePage:=TBS_Datos;
PAN_Datos.Enabled:=True;
TBL_CLIENTES.Active:=True;
TBL_CLIENTES.Insert;
EDT_Alta.Text:=FormatDateTime('dd/mm/yyyy',now);
QRY_CLIENTES.Active:=True;
QRY_CLIENTES.SQL.Text:='SELECT MAX(CLI_CODIGO) FROM T_CLIENTES';
QRY_CLIENTES.Open;
TXT_CODIGO.Text:= IntToStr(QRY_CLIENTES.Fields[0].AsInteger+1);
EDT_Codigo.Text:='CLI_'+ IntToStr(QRY_CLIENTES.Fields[0].AsInteger+1);
EDT_Nif.SetFocus;
end;
end;
Entonces veran que me genera el codigo con el query, me asigna la fecha bien, Y EL CURSOR SE PONE EN EL NIF, ENTONCES ESCRIBO CUALQUIER NIF Y CUANDO QUIERO SALIR DEL NIF PARA IR A OTRO EDIT ME LO GRABA Y ME GENERA OTRO CODIGO(SI ANTERIORMENTE ERA POR EJMPLO 15200 AHORA ES 15201), LA MISMA FECHA Y EL CURSOR OTRA VEZ SE PONE EN EL CAMPO DEL NIF Y PONGO CUALUQIER NIF Y AHORA ME VOY A OTRO CAMPO Y SI ME DEJA INGRESAR EL NOMBRE DE LA EMPRESA POR EJEMPLO...... Y AHORA SOLO CUANDO PRESIONE EN UN BOTON GRABAR SI ME REGISTRA TODO LOS DATOS INGRESADOS..
¿pOR QUE CUANDO ME VOY DEL FORMULARIO DE BUSQUEDA DEL CLIENTE AL FORMULARIO DE DATOS DEL CLIENTE ME SUCEDE ESTO?
Como puedo controlar esto ya que llevo varios dias ??
Gracias y saludos
Haber tengo 2 formularios :
1. FRM_Busqueda_Clientes
2. FRM_Mantenimiento_Clientes
Les explico como va... es respecto a realizar una factura para que tengan una idea
En Frm_Busqueda_Clientes tengo todos los clientes en un grid y tengo tres botones:
A. Nuevo Cliente
B. Seleccionar Cliente
C. Salir
Estando en el Frm_Busqueda_Clientes presiono el Boton Nuevo Cliente el cual en el evento click tengo :
procedure TFRM_Busqueda_Clientes.BTN_Nuevo_ClienteClick(Sender: TObject);
begin
FRM_Busqueda_Clientes.Close;
// Variable declarada Global
var_alta_factura_cliente:='Nuevo_Cliente_Factura';
FRM_Mantenimiento_Clientes.Show;
end;
Y como ven me muestra el Formulario de Clientes : FRM_Mantenimiento_Clientes
Hasta aca todo bien....
Ahora en este formulario(FRM_Mantenimiento_Clientes) hay varios edit asociados a los campos de la Tabla Clientes.
Codigo |------------|
Fecha Alta |------------|
Nif |------------|
Nombre Empresa |------------|
......Otros Edits
Entoces en el evento onActivate del Formulario de Clientes tengo esto:
procedure TFRM_Mantenimiento_Clientes.FormActivate(Sender: TObject);
var
x:string;
begin
TBL_CLIENTES.Active:=True;
if TBL_CLIENTES.Bof then
begin
PGC_Clientes.ActivePage:=TBS_Lista;
ACC_Primero.Enabled := False;
ACC_Anterior.Enabled :=False;
end;
x:=FRM_Busqueda_Clientes.var_alta_factura_cliente;
if x='Nuevo_Cliente_Factura' then
begin
PGC_Clientes.ActivePage:=TBS_Datos;
PAN_Datos.Enabled:=True;
TBL_CLIENTES.Active:=True;
TBL_CLIENTES.Insert;
EDT_Alta.Text:=FormatDateTime('dd/mm/yyyy',now);
QRY_CLIENTES.Active:=True;
QRY_CLIENTES.SQL.Text:='SELECT MAX(CLI_CODIGO) FROM T_CLIENTES';
QRY_CLIENTES.Open;
TXT_CODIGO.Text:= IntToStr(QRY_CLIENTES.Fields[0].AsInteger+1);
EDT_Codigo.Text:='CLI_'+ IntToStr(QRY_CLIENTES.Fields[0].AsInteger+1);
EDT_Nif.SetFocus;
end;
end;
Entonces veran que me genera el codigo con el query, me asigna la fecha bien, Y EL CURSOR SE PONE EN EL NIF, ENTONCES ESCRIBO CUALQUIER NIF Y CUANDO QUIERO SALIR DEL NIF PARA IR A OTRO EDIT ME LO GRABA Y ME GENERA OTRO CODIGO(SI ANTERIORMENTE ERA POR EJMPLO 15200 AHORA ES 15201), LA MISMA FECHA Y EL CURSOR OTRA VEZ SE PONE EN EL CAMPO DEL NIF Y PONGO CUALUQIER NIF Y AHORA ME VOY A OTRO CAMPO Y SI ME DEJA INGRESAR EL NOMBRE DE LA EMPRESA POR EJEMPLO...... Y AHORA SOLO CUANDO PRESIONE EN UN BOTON GRABAR SI ME REGISTRA TODO LOS DATOS INGRESADOS..
¿pOR QUE CUANDO ME VOY DEL FORMULARIO DE BUSQUEDA DEL CLIENTE AL FORMULARIO DE DATOS DEL CLIENTE ME SUCEDE ESTO?
Como puedo controlar esto ya que llevo varios dias ??
Gracias y saludos