Sql Server中:
Database:长沙银太
3个表字段:
1)资金进帐            2资金出帐            3资金清算       
进帐资金                出帐资金             进帐总资金
                                             出帐总资金
                                             资金差率
--------------------------------------------------------------------------
Form1中挂接如下:
1)资金进帐               2资金出帐             3资金清算
AdoQuery1                  AdoQuery2             AdoQuery3
Datasource1                Datasource2           Datasource3 
DbGrid1                    DbGrid2               DbGrid3 
DBNavigator1               DBNavigator2          DBNavigator3
--------------------------------------------------------------------------
功能:
    希望将“资金进帐”中 进帐资金 字段的sum()结果 赋值给 资金清算表中的 进帐总资金中。
          “资金出帐”中的 出帐资金字段的sum()结果 赋值给资金清算表中的 出帐总资金中。
--------------------------------------------------------------------------
代码如下:
Procedure TForm1.Button1Click(Sender : TOBject);
 begin
  Form1.ADOTable1.Filtered := False;
  Form1.ADOTable1.Active := False;
  Form1.ADOTable1.Insert;
  Form1.AdoTable1.FieldByName('日期').Asstring := Edit1.text;
  Form1.AdoTable1.FieldByName('进帐总资金').Asstring := ss;
  Form1.ADOTable1.Post;
  Form1.ADOTable1.Filtered := True;
  Form1.ADOTable1.Close
 end;Function TForm1.ss : String;
 begin
  Form1.ADOQuery1.Active := False;
  Form1.ADOQuery1.Sql.Clear;
  Form1.ADOQuery1.Sql.Add('use 长沙银太');
  Form1.ADOQuery1.Sql.Add('select sum(进帐资金) as total From 资金进帐')
 end;
--------------------------------------------------------------------------
问题:
按F9键以后运行的结果怎么DbGrid3和DBNavigator3都不能够点击了??
并且在“资金清算”表中的 进帐总资金 字段中的值是 0 呢????
请各位高手解答

解决方案 »

  1.   

    写错了,更正:
    资金清算表中挂接的是ADOTable1控件请各位高手解答
      

  2.   

    Form1.ADOQuery1.Sql.Add('select sum(进帐资金) as total From 资金进帐')
    改为
    Form1.ADOQuery1.Sql.Add('select total=sum(进帐资金) From 资金进帐')
      

  3.   

    Function TForm1.ss : String;
     begin
      Form1.ADOQuery1.Active := False;
      Form1.ADOQuery1.Sql.Clear;
      Form1.ADOQuery1.Sql.Add('use 长沙银太');
      Form1.ADOQuery1.Sql.Add('select sum(进帐资金) as total From 资金进帐');
      Form1.ADOQuery1.Active := true;
      result := Form1.ADOQuery1.fieldbyname('total').asstring;
     end;