妳的查詢條件的form內容還有代碼的form內容和實際窗體的名稱不壹致,看看主窗體和子窗體到底是什麽名稱。
子窗體“名稱”和子窗體的“源對象”妳搞亂了。壹個子窗體只能有壹個”名稱“,但可以通過切換“源對象”來顯示不同的子窗體。
告訴妳壹些經驗:
要養成規範的編程習慣,包括命名的規範。
窗體還有別的對象(表、查詢、報表、字段...)最好用英文標註。便於將來數據庫遷移
對象和控件的名稱不要有空格,名稱不要為純數字,如果想分開幾個詞可以用“_”來連接
子窗體名稱和子窗體的源對象不是壹回事,為了避免混亂,可以把子窗體名稱按源對象名稱來命名。
以下是壹個網友的博客:
下我的命名規範:
1,盡是用英文名稱
2,盡量用短壹些的名字
3,對象應該分類,同類的對象以同樣的前綴開頭
有的人可能壹聽英文就頭痛,其實用不到多少,也比較簡單!
比如壹個數據庫中有定單,零件,庫存等對象
可能還有公用內容,如部門,用戶,消息,系統等對象
下面我舉壹些例子來說明壹下。
1,表的命名
公用對象:
部門表:CMN_Dept
職員表:CMN_Employee
消息表:CMN_MSG
系統對象:
系統字典:sys_CDMS
系統日誌:sys_Log
系統對象:SYS_Object
對象權限:SYS_Right_Object
用戶權限:SYS_Right_User
系統用戶:SYS_UserMS
定單對象:
定單主表:order_Main
定單明細:order_List
定單發票:order_Invo
零件對象
零件主表:Part_Main
……
2,字段的名稱也要規範,盡量英文,盡是反映字段的內容
例如:
Part_No
Part_Name
Part_State
Part_Class
Stock_Flag
Part_Spec
Entry_User
Entry_Date
Update_User
Update_Date
……
3,窗體命名要以對象命名為開頭
order_Entry
order_EntrySub1
order_EntrySub2
Order_Query
Order_QuerySub
Part_Entry
Part_query
……
SYS_Login
SYS_About
……
4,窗體中的控件
文本框最好與字段相對應,最好加前綴
edtPart_No
edtPart_Name
edtPart_State
……
按鈕最好反映其對應的功能,最好加前綴
btnSave
btnSearch
btnClear
……
5,報表命名參考窗體命名
6,盡量不用宏
7,過程命名
公用模塊中的過程和函數(cf-公用函數 cp-公用過程)
Public Function cfGetMsg(pMsgCode As String, pCL As String) As String
Public Function cfChkSysMonth() As Boolean
Public Sub cpChkEntryMode(pMode As Byte)
Public Sub cpLoadSysRightData()
窗體中的過程和函數
Private Sub prSetInitialize(pMode As String)
Private Sub prClear()
Function fnChkDataModify(pMode As Byte) As Boolean
Function fnChkDataBeforeSave() As Boolean
……
控件的事件可以直接用系統生成的。
代碼中的變量都要用英文,我見過用中文變量的,可以用,但感覺總是怪怪的,實在不推薦這樣用。
8,模塊
公用的:SYS_System
HSMS用的:HSMS
PSMS用的:PSMS
……
以上就是大概的命名規則。
當然妳不可能壹下就命名好這些名字,如果妳真要弄好這些名字,妳會經常的做到壹半的時候,再去修改表或字段的名字,然後再挨個的修改相關的對象。我就經常這麽折騰,追求完美害死人啊!
但是妳應該在最初就有這方面的規劃,不能想到什麽就是什麽,隨意為之,那樣會越來越亂,最後,妳都要挨個的查壹遍才知道哪個對象是做什麽的。
甚至,如果妳經常幫別人開發小東西,妳應該在壹個數據庫中開發多個系統,每個系統起壹個寫的名字,作為該系統對象的前綴。開發和修改都在這壹個數據庫中進行,發布時再分離。如果數據比較多,妳可以把每個系統的表建在各自的數據庫中,然後在開發的數據庫鏈接,然後進行開發和修改。因為這樣可以***用系統對象和公用對象,如果系統和公用的對象修改了,那麽各自的系統都可以***享這個修改。這種作法的好處,用用就知道了。
比如個人管理系統=PIMS(personal info manage system),其對象命名為:
--表
PIMS_CDMS
PIMS_Dary
PIMS_Dgst
……?
--窗體
PIMS_Dary_Entry
PIMS_Dary_Sub
PIMS_Dgst
PIMS_CDMS
……
比如購銷管理系統=PSMS(Purchase/Sale Mange System),其對象命名為:
--表
PSMS_Order
PSMS_Stock
PSMS_Ware
……
--窗體
PSMS_EN_Ware
PSMS_EN_Order_Purchase
PSMS_EN_Order_PurchaseSub
PSMS_EN_Order_Sale
PSMS_EN_Order_SaleSub
PSMS_CDMS
……
差不多了,早就想寫壹寫這方面的東西了。但壹直犯懶,而且感覺雜亂無章而未能寫成。
今天趁興居然壹下子就寫出來了,慶幸啊!
以上的命名示例,有壹些是我數據庫中的,有壹些是我編的,僅供參考。
規範要依人而定,不是死的,希望對大家有所幫助!