?? 用于datawindow多表更新的通用函數(shù).txt
字號(hào):
用于Datawindow多表更新的通用函數(shù)(網(wǎng)友 mikor)
作者:mikor Email: mikor2001@263.net
平時(shí)大家在開(kāi)發(fā)MIS系統(tǒng)是經(jīng)常會(huì)遇到多表更新的問(wèn)題。最近作者寫(xiě)了一個(gè)函數(shù)來(lái)解決這個(gè)問(wèn)題。
函數(shù)聲明:
wf_updatetable(string a_sztablename,string a_szkeyfields) returns boolean
其中參數(shù)a_sztablename是要更新的表名。
a_szkeyfields是要更新表的索引。多個(gè)索引之間用逗號(hào)隔開(kāi)。
函數(shù)內(nèi)容:
Integer nColumns, nCount
String szDBName, szTableName, szColumnName, szModify
nColumns = Integer( dw_1.Object.DataWindow.Column.Count)
a_szTableName = Lower( a_szTableName)
a_szKeyFields = Lower( a_szKeyFields)
For nCount = 1 To nColumns
szDBName = dw_1.Describe( "#" + String( nCount) + ".DBName")
szColumnName = dw_1.Describe( "#" + String( nCount) + ".Name")
szTableName = Lower( Left( szDBName, Pos( szDBName, ".") - 1))
If szTableName = a_szTableName Then
szModify = szColumnName + ".Update = Yes"
If Pos( a_szKeyFields, szColumnName) > 0 Then
szModify = szModify + " " + szColumnName + ".Key = Yes"
Else
szModify = szModify + " " + szColumnName + ".Key = No"
End If
Else
szModify = szColumnName + ".Update = No " + szColumnName + ".Key = No"
End If
If dw_1.Modify( szModify) <> "" Then
Return FALSE
End If
Next
dw_1.Object.DataWindow.Table.UpdateTable = a_szTableName
If dw_1.Update( TRUE, FALSE) > 0 Then
Return TRUE
Else
Return FALSE
End If
如我要更新sales_order_items表,這個(gè)表的索引是id和line_id.
wf_UpdateTable( "sales_order_items", "id,line_id")
這個(gè)函數(shù)還有待完善。我的水平有限,請(qǐng)大家原諒。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -