技術(shù) 點
- 技術(shù)
- 點
- V幣
- 點
- 積分
- 7799
|
8#
樓主 |
發(fā)表于 2020-1-1 20:19:25
|
只看該作者
7.整合了黃海的超強界面:實現(xiàn)方式很簡單,就是引用黃海的開放平臺,然后調(diào)用時寫一個函數(shù),同步更新菜單到黃海平臺的相關(guān)菜單表中。代碼如下:
Public Function hy_UpdateSysMenu(Optional blnUpdate As Boolean = True)
'==============================================================================================
'函數(shù)作用:同步平臺菜單到黃海菜單中,獨立使用原平臺,只是把三個菜單表移植到本主文件中
'使用注意:使用黃海平臺前需要先執(zhí)行本函數(shù)同步菜單;另外首頁菜單需要單獨自行編輯
'==============================================================================================
On Error Resume Next
If blnUpdate = False Then Exit Function
Dim rstTemp As ADODB.Recordset
Dim strSql As String
Set rstTemp = New ADODB.Recordset
On Error GoTo 0
DoCmd.SetWarnings False
DoCmd.RunSQL "delete * from sysHyMenus where id<>1" '先清除菜單表中的項目,但排除首頁菜單
DoCmd.RunSQL "INSERT INTO sysHyMenus(menuName,orderNo,menuEnabled) SELECT MenuTextLocal,ID,Enabled FROM SysLocalNavigationMenus WHERE Enabled<>0 and Allow<>0 and Len(ID)=2 and ID Not In ('97','98','99') ORDER BY ID" '把平臺的菜單同步到黃海的菜單表中
DoCmd.RunSQL "Alter TABLE sysHyMenuButtons Alter COLUMN id COUNTER (100,1)" '設(shè)置sysHyMenuButtons自動編號從100開始,sysHyMenus因為存在關(guān)系則無法設(shè)置自動編號
strSql = "SELECT * from sysHyMenus ORDER BY orderNo"
rstTemp.Open strSql, CurrentProject.Connection, adOpenStatic, adLockOptimistic
Do While Not rstTemp.EOF '循環(huán)菜單表
DoCmd.RunSQL "INSERT INTO sysHyMenuButtons(menuID,buttonName,cmdArgs,imgFile,orderNo,buttonEnabled) SELECT " & rstTemp.Fields("ID") & ",trim(MenuTextLocal),Command,'defaultButton.gif',ID,Enabled FROM SysLocalNavigationMenus WHERE Allow<>0 AND left([ID],2)=" & rstTemp.Fields("orderNo") & " AND len([ID])>2 ORDER BY ID" '把平臺的菜單同步到黃海的菜單表中
rstTemp.MoveNext
Loop
If rstTemp.State = adStateOpen Then rstTemp.Close
DoCmd.SetWarnings True
End Function |
|