连接ACCESS数据库账务软件,求实现余额自动计算[己解决]
本帖最后由 chzj589 于 2013-6-18 22:35 编辑连接ACCESS数据库账务软件,求实现余额自动计算
Func xie();开支添加
If GUICtrlRead($Input1)<>'' And GUICtrlRead($Input6)<>'' Then
$read1=GUICtrlRead($Input1)
$read2=GUICtrlRead($Input2)
$read3=GUICtrlRead($Input3)
$read4=GUICtrlRead($Input4)
$read5=GUICtrlRead($Input5)
$read6=GUICtrlRead($Input6)
;$read7=GUICtrlRead($Input7)
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
$addfld.execute("insert into "&$tblname&" (name,ssex,qq,kahu,beizu1,dbRemark1) values('"&$read1&"','"&$read2&"','"&$read3&"','"&$read4&"','"&$read5&"','"&$read6&"')")
$addfld.close
du()
GUISetState(@SW_HIDE, $K_Form2)
Else
MsgBox(48,'错误','请检查输入是否完整')
EndIf
EndFunc感谢Kodin与auto两位老大的指导和帮助,现己解决问题。
余额是即时显示吗? 回复 1# chzj589
在第二行位置处增加如下功能的处理脚本:
读取数据库存的上一条数据,如为首条则直接赋初始值,即INPUT1-INPUT5,重点是$INPUT4=0
读取后修正$INPUT1-$INPUT7值,即“期初余额+本期收入发生额-本期支出发生额=期末余额(下期期初余额)”
无MDB库,只能提供一个参考思路 论坛好有例子 你搜下 真不想说的,数据库表架构都不写一下!计算公式都不说一下!
哎!懒得说了!;查询
$adSource = @ScriptDir & "\DB1.mdb";数据库
$adTable = "Table2";表名
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $adSource)
$RS = ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
$RS.Open("SELECT SUM(收入金额列名),SUM(支出金额列名) FROM " & $adTable)
While Not $RS.eof And Not $RS.bof
If @error = 1 Then ExitLoop
;计算公式:收入总金额-支出总金额=余额
MsgBox(0,"余额", $RS.Fields(0).value - $RS.Fields(1).value)
$RS.movenext
WEnd
$RS.close
$addfld.Close 看了一下,LZ列的余额是累计的,个人认为无需录余额,其它数据库有类似的计算函数,不过access可能没有,无法在查询时生成余额。
那可能要插入数据前,取出最后一次的余额,AU3计算后再插入数据库。 没有安装ACCESS.代码也没有测试,自行调试代码
Local $YE = 0 ;初始余额为0
$RS.Open("SELECT TOP 1 余额from "&$tblname&" ORDER BY DESC")
或$RS.Open("SELECT SUM(收入金额列名)-SUM(支出金额列名) AS YE FROM " & $tblname)
IF(Not $RS.eof And Not $RS.bof) THEN
$YE =$RS.Fields(0).value
ELSE
$YE = 0
ENDIF 回复 7# auto
谢谢你的帮助!
页:
[1]