Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 22-03-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 20
BlackDaemon Va por buen camino
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)');

    // Si, asignamos los parámetros xDD
    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;
    // Ejecutamos e insertamos todos los valores asignados
    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; //quitamos el sonido
    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.

Última edición por BlackDaemon fecha: 22-03-2007 a las 03:58:53.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar Archivos Desde FTP papu24ar Varios 4 21-03-2007 03:50:57
Actualizar una base de datos desde un servidor remoto zvf MySQL 1 22-06-2006 22:21:26
Actualizar una base de datos desde un formulario federiconqn21 Varios 1 14-12-2005 16:43:23
Impresión desde un StringGrid... Lester Impresión 10 26-03-2005 07:14:29
Impresion desde un StringGrid fmonte Varios 3 17-09-2004 05:28:29


La franja horaria es GMT +2. Ahora son las 22:00:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi