Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 24-08-2011
Avatar de joelphi
joelphi joelphi is offline
Miembro
 
Registrado: feb 2009
Ubicación: Guerrero
Posts: 24
Poder: 0
joelphi Va por buen camino
probe

Tu consulta esta muy bien..se ve que ya tienes tu experiencia yo todavia soy estudiante..

Ya depure el programa y si se abre la consulta,ahora estoy probando los campos calculados quedo de esta forma solo que ahora no lo calcula
Código Delphi [-]
  Consulta.Close;
    Consulta.SQLs.SelectSQL.Clear;
    Consulta.SQLs.SelectSQL.Add(' Select P.nombre_producto,S.nombre as sustancia, Prov.nombre_proveedor, C.Id_categoria,C.nombre as categoria, P.aplicar_descuento,'+
                                  ' P.costo_referencia,P.iva, P.ganancia, P.precio_farmacia, P.precio_maximo'+
                                  '  From productos P'+
                                  '  Left Join categorias C on c.id_categoria = P.id_categoria'+
                                  '  Left Join sustancias_activas S on S.id_sustancia_activa = P.id_sustancia_activa'+
                                  '  Left Join proveedores Prov on Prov.id_proveedor = P.id_proveedor');
    try

        Consulta.Open;
    except on E: Exception do
    begin
        Raise;
        Exit;
    end;
    end;
   Consulta.Close;

    for I := 0 to Consulta.FieldDefs.Count - 1 do
     Consulta.FieldDefs[i].CreateField(Consulta, nil, Consulta.FieldDefs[i].Name);

  NuevoCampoCalculado := TStringField.Create(Consulta);
  NuevoCampoCalculado.FieldName := 'Precio_Con_Descuento';
//  NuevoCampoCalculado.AsCurrency;
  NuevoCampoCalculado.FieldKind := fkCalculated;
  NuevoCampoCalculado.DataSet := Consulta;
    Consulta.Open;
    Consulta.First;
    while not consulta.Eof do
    begin
        with Consulta do
        begin
        //Si aplica descuento a este producto..
            if(FieldByName('Aplicar_Descuento').AsString = 'SI') then
              begin
                for I := 0 to ListaDescuentos.Count -1  do //entonces buscar su categoria y si es igual aplicar el descuento
                 begin
                     if FieldByName('id_Categoria').AsInteger = TDescuentos_Clientes(ListaDescuentos[i]).Id_Categoria then
                     begin    //Si pasa por aqui pero no realiza la operacion-..
                        //ProductoDescuento.PrecioConDescuento := ProductoDescuento.PrecioMaximo - (ProductoDescuento.PrecioMaximo*descuento);
                        FieldByName('Precio_Con_Descuento').AsCurrency :=FieldByName('Precio_Maximo').AsCurrency - (FieldByname('Precio_Maximo').AsCurrency * TDescuentos_Clientes(ListaDescuentos[i]).Descuento);
                     end;
                 end;
              end;

        consulta.next;
        end;
    end;
    ListaDescuentos.Destroy;
    Result:= TDataSource.Create(Nil);
    Result.DataSet:=Consulta;

funciono bien pero no realiza la operacion..
Saludos..
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
Copiar el contenido de un DataSet a otro DataSet Javi2 Varios 88 22-11-2025 22:17:42
Ocultar campos de un dataset en tiempo de ejecucion hlbarragan SQL 3 08-02-2011 19:46:42
Actualizar DataSet,tabla en tiempo de ejecucion amerika111 Varios 13 05-02-2010 10:35:18
cambiar datasource.dataset en tiempo de ejecución jzginez Conexión con bases de datos 2 30-11-2007 19:42:48
Crear DataSet en tiempo de ejecución. Drahcir Conexión con bases de datos 6 13-04-2006 03:16:45


La franja horaria es GMT +2. Ahora son las 10:39:20.


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