Fonction OLE

0000001228     -      27/12/2014
Obsolète

attention_aruba Cette page ne concerne pas la version OLE Majuro.

 

Il faut procéder en deux temps :

  1. D’abord écrire une fonction (PRG compilé en FXP) qui calcule l’information souhaitée. Cette fonction pourrait être en gros comme suit. Par exemple myfunc.prg

    Parameters l_id,l_annee

    Local old_sel,ret

    Old_sel=select()

    Text to reqSql noshow
           select sum(q) as ret
                  from lignes_v
                  inner join pieds_v on ((lignes_v.id=pieds_v.id) and (lignes_v.journal=pieds_v.journal) and (lignes_v.piece=pieds_v.piece))
                  where (id_article=?m.l_id) and (year(date)=?m.l_annee)
    endtext

    if !zselect(m.reqSql,’sqlresult’)
           return -999
    endif

    ret=iif(isNull(ret),0,ret)
    use in sqlresult
    select (m.old_sel)

    return m.ret

    endfunc

     
  2. Utiliser la méthode V de l’objet OLE avec un syntaxe de ce type ox.v("myFunc('id_article',2006)")

 



Bonjour,

Aujourd’hui j’ai une question concernant le module OLE.

Comment pourrais-je calculer les quantités vendues pour chaque article pour une année donnée ? Je ne pense pas qu’il existe une xfonction correspondant à ma demande, ni la possibilité d’insérer un requête sql dans la macro.



Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)

Vous consultez une page relative à une version de Mercator qui n'est plus commercialisée ni supportée.

Mercator est une application .net qui utilise une base de données SQL Server. Les informations sur cette page ne correspondent plus à ces caractéristiques.