Bueno pues el motivo de este post es el siguiente.. dejando aparte el anterior problema .. que ya estoy por sulicionarlo pero al solucionar ese surgieron muchos problemas mas.. bueno para mi

el primero es este.
http://img301.imageshack.us/img301/8...oductosfu0.jpg
como podrán ver antes usaba esos DBEdits que estaban enlasados a cada campo de mi TABLA PRODUCTOS pero ahora agregué esos Edits normales para hacer la inserción de los precios en la tabla nueva TARIFAS.. que lo hago sin problemas.. pero antes cuando hacian clic en el botón NET o PRIOR, LAST, etc.. este recorria la TTable y se visualizaban en los DBEdits para así poder EDITAR o ELIMINAR.. pero ahora como los EDITS normales no están enlasados a ninguna TABLA no es posible hacer eso.. y quedan con el TEXTO que se le escribe la primera vés que uno hace un registro..
además que cuando elimino con TTable.delete; no me borrará de la tabla TARIFAS los precios correspondientes a esa descripción..ya que no estarán en la mis TABLA.. bueno es un problema grave para mi por que no se como resolverlo.. y si no lo resulevo eso no puedo pasar el otro punto de mi problema que es el primer post de este tema.
Aquí les pongo el código con el que registraba un nuevo producto.
Código Delphi
[-]procedure TFrmAgregarProductos.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FrmAgregarProductos := nil;
Action := caFree;
FrmAgregarProductos.Free;
end;
procedure TFrmAgregarProductos.SBNuevoClick(Sender: TObject);
begin
modoEditar(True);
DM.ZTAlmacen.Append;
DBECodigoProducto.SetFocus;
DateTimePicker1.DateTime := Now;
DateTimePicker1.BringToFront;
end;
procedure TFrmAgregarProductos.SBEditarClick(Sender: TObject);
begin
DM.ZTAlmacen.Edit;
modoEditar(True);
DBECodigoProducto.SetFocus;
end;
procedure TFrmAgregarProductos.SBGuardarClick(Sender: TObject);
begin
with DM.ZQTarifas do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO `tarifas` ( `CodigoBarra` , `CodProducto` , `TipoTarifa` , `Precio` )');
SQL.Add('VALUES (:CB, :CP, :TT1, :P1), ');
SQL.Add('(:CB, :CP, :TT2, :P2), ');
SQL.Add('(:CB, :CP, :TT3, :P3), ');
SQL.Add('(:CB, :CP, :TT4, :P4), ');
SQL.Add('(:CB, :CP, :TT5, :P5), ');
SQL.Add('(:CB, :CP, :TT6, :P6)');
ParamByName('CB').AsString := ECodigoBarra.Text;
ParamByName('CP').AsString := ECodProducto.Text;
ParamByName('TT1').AsString := 'Precio1';
ParamByName('TT2').AsString := 'Precio2';
ParamByName('TT3').AsString := 'Precio3';
ParamByName('TT4').AsString := 'Precio4';
ParamByName('TT5').AsString := 'Precio5';
ParamByName('TT6').AsString := 'Precio6';
ParamByName('P1').AsString := EPrecio1.Text;
ParamByName('P2').AsString := EPrecio2.Text;
ParamByName('P3').AsString := EPrecio3.Text;
ParamByName('P4').AsString := EPrecio4.Text;
ParamByName('P5').AsString := EPrecio5.Text;
ParamByName('P6').AsString := EPrecio6.Text;
ExecSQL;
end;
DM.ZTAlmacen.FieldByName('FechaActualizacion').AsDateTime := DateTimePicker1.Date;
DM.ZTAlmacen.Post;
ModoEditar(False);
end;
procedure TFrmAgregarProductos.SBEliminarClick(Sender: TObject);
var
resp : Integer;
begin
if Editando then begin
DM.ZTAlmacen.Cancel;
modoEditar(False);
end
else begin
resp := Application.MessageBox(Pchar('¿Desea eliminar el código '+DBECodigoProducto.Text+'?'),'Eliminar un registro',MB_YESNO+MB_ICONERROR);
if resp = ID_YES then begin
DM.ZTAlmacen.Delete;
modoEditar(False);
end;
end;
end;
procedure TFrmAgregarProductos.FormShow(Sender: TObject);
begin
try
DM.ZTUnidad.Active := True;
DM.ZTUnidadPrecio.Active := True;
DM.ZTAlmacen.Active := True;
DM.ZTProveedores.Active := True;
DM.ZTCategorias.Active := True;
DM.ZTSubCategorias.Active := True;
except
Application.MessageBox(Pchar('Error de conexión a la base de datos:'+#13+#13+'Verifique si la ruta es correcta'),'Error de conexión',MB_ICONWARNING);
Application.Terminate;
end;
ModoEditar(False);
end;
procedure TFrmAgregarProductos.SBPrimeroClick(Sender: TObject);
begin
DM.ZTAlmacen.First;
end;
procedure TFrmAgregarProductos.SBAnteriorClick(Sender: TObject);
begin
DM.ZTAlmacen.Prior;
end;
procedure TFrmAgregarProductos.SBSiguienteClick(Sender: TObject);
begin
DM.ZTAlmacen.Next;
end;
procedure TFrmAgregarProductos.SBUltimoClick(Sender: TObject);
begin
DM.ZTAlmacen.Last;
end;
procedure TFrmAgregarProductos.DBEPrecio1KeyPress(Sender: TObject;
var Key: Char);
var precio : Integer;
begin
if Key = #13 then begin
Key := #0; precio := (StrToInt(DBEPrecio1.Text) * 16 Div 100 + StrToInt(DBEPrecio1.Text));
DBEPrecio2.Text := IntToStr(precio);
precio := (StrToInt(DBEPrecio1.Text) * 25 Div 100 + StrToInt(DBEPrecio1.Text));
DBEPrecio3.Text := IntToStr(precio);
precio := (StrToInt(DBEPrecio1.Text) * 35 Div 100 + StrToInt(DBEPrecio1.Text));
DBEPrecio4.Text := IntToStr(precio);
precio := (StrToInt(DBEPrecio1.Text) * 40 Div 100 + StrToInt(DBEPrecio1.Text));
DBEPrecio5.Text := IntToStr(precio);
precio := (StrToInt(DBEPrecio1.Text) * 8 Div 100 + StrToInt(DBEPrecio1.Text));
DBEPrecio6.Text := IntToStr(precio);
end;
end;
end.
Disculpen por poner un código tan largo.. pero espero así ser lo mas claro posible
cual sería la solución para este caso ?? ( pueden ver la imagen para tener una idea mas clara )
Bueno.. creo que son esas todas mis dudas tontas que tengo y no puedo resolverlas solo
Bueno pues según yo tendré que hacerlo TODO con SQL no ??? ya no usaré una TTabla para eso verdad ?
Saludos y gracias por leeme.