自定义函数GetName(ID,TableName)( 返回值EmpoyeeName)
像Excel的函数一样在单元格里写 =GetName(1,Employee)就可以是单元值等于
函数的结果值EmpoyeeName最好有源吗,解决了就给分,分不够再加!

解决方案 »

  1.   

    function GetName(ID,TableName: string): string;
    var
      AdoDataSet: TAdoDataSet;
    begin
      try
        AdoDataSet := TAdoDataSet.Create(Nil);
        AdoDataSet.Connection := Yourconnection;//或者你的连接字符串来连接
        AdoDataSet.CommandText := 'select Employee,'+ID+' from '+ TableName;
        AdoDataSet.Open;
        result := ADoDataSet.FieldByName('Employee').Asstring;
      finally
        FreeAndNIl(AdoDataSet);
      end;
    end;
      

  2.   

    提点建议:
    to : ljmanage(过客) 
    每次都要取每次都要连接,是不是很浪费资源.能不能有更好的办法,还是楼主提供的条件还不够呢???!
    等待!
    关注!
      

  3.   

    ljmanage(过客) :这样在FormulaOne下面可以调用吗?关键是如何调用的问题
      

  4.   

    用VB写自定义函数,很简单---我才做好
    formula one 要实现自定义函数,首先要有一个DLL文件,在这个DLL文件中把所要实现
    的函数写在里面。然后在formula one 控件中调用 F1Book1.LoadAddIn 函数,把所加入的DLL文件引
    入注册一下即可使用在DLL文件定义的函数。下面以VB 为例说明一下怎么写这个DLL文件。首先在VB中选择新建工程,在新建工程对话框中选择 ActiveX DLL 点击确定后进入代码
    编辑框后,首先把类模块中的类的名字改为 F1Functions (注:必须是这个名字)然后把
    类的属性Instancing 设为 5或是 MultiUse。在这个类中所有参数定义必须用BYVAL包搞定!!!
      

  5.   

    '科目余额(科目代号,类型,月份,返回值)
    '类型:0-金额 1-数量 2-外币
    '月份:0=本月 1=1月...12=12月 13=上月 14=下月 15=1季 16=2季 17=3季 18=4季 19=本年
    Function KMYE(ByVal kmno As String, ByVal lx As Double, ByVal yf As Double, ByVal value As Double) As Double
      KMYE = value
    End Function