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
  #4  
Antiguo 21-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
En el stringGrid tienes la columna 3 con el código del producto. Teniendo la tabla tarifas, te sale más fácil, ya que en esa tabla tienes el código del producto y el tipo de tarifa:

Código Delphi [-]
    DM.ZQActualizaListaPrecio.Close;
    DM.ZQActualizaListaPrecio.SQL.Clear;
    DM.ZQActualizaListaPrecio.SQL.Add('SELECT precio FROM Tarifas');
    DM.ZQActualizaListaPrecio.SQL.Add('Where CodProducto = :codigo');
    DM.ZQActualizaListaPrecio.SQL.Add('and Tipo_Tarifa = :Tarifa');
    DM.ZQActualizaListaPrecio.prepare;

with DM.ZQActualizaListaPrecio DO
For i:=0 to  SGListaProductos.RowCount-1 Do
Begin
  ParamByName('codigo').AsInteger  := StrToInt(SGListaProductos.Cells[3,i]);
  ParamByName('Tarifa').AsString = combobox1.items[combobox1.Itemindex];
  Open; // abrimos la consulta
   if not IsEmpty then

      SGListaProductos.Cells[7,i] := Fieldbyname('Precio').AsString; 
  //solo debería existir un registro para esta tarifa y este producto.
   else
   begin
     ShowMessage('No existe El tipo de tarifa para el producto' + StrToInt(SGListaProductos.Cells[3,i]));
     SGListaProductos.Cells[7,i] := '<< Error >>';
  end;  
  Close; // cerramos la consulta para la próxima iteración del bucle.   
End;

Edito:
Como ahora el usuario es el que creará los "tipos de tarifas", en el combobox1 (el combo de precios) tendrás que cargarlo dinámicamente, por ejemplo al crear la ventana, usando un TZQuery convenientemente preparado:
Código SQL [-]
 select distinct Tipo_Tarifa from Tarifas
y ya en el Oncreate de la ventana:
Código Delphi [-]
qryTiposTarifas.Open;
Combobox1.items.Clear;
qryTiposTarifas.DisableControls; // agilizar las iteraciones por la consulta.
combobox1.items.BeginUpdate;  // agilizar las adiciones al combo.
while not qryTiposTarifas.eof do
begin
  Combobox1.Items.Add(qrytiposTarifas.Fields[0].AsString;
  qryTiposTarifas.Next;
end;

qryTiposTarifas.Close;
qryTiposTarifas.EnableControls; // dejar las cosas como estaban.
combobox1.Items.EndUpdate;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 21-03-2007 a las 18:02:59.
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:12.


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