資源描述:
《一種簡單的組態(tài)王報(bào)表功能實(shí)現(xiàn)方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一種簡單的組態(tài)王報(bào)表功能實(shí)現(xiàn)方法2010年04月24日星期六15:18前段時(shí)間用組態(tài)王6.53做了一個(gè)小的畫面組態(tài),其中用到了KVADODBGrid控件來做報(bào)表,現(xiàn)總結(jié)如下。一、準(zhǔn)備工作第一步:在組態(tài)王工程管理器中新建一個(gè)項(xiàng)目,項(xiàng)目路徑為D:實(shí)驗(yàn)項(xiàng)目。第二步:新建一個(gè)ACCESS數(shù)據(jù)庫1、在“D:實(shí)驗(yàn)項(xiàng)目”路徑下新建一個(gè)MicrosoftOfficeAccess應(yīng)用程序并命名為mydatabase.mdb;2、打開“控制面板管理工具ODBC數(shù)據(jù)源管理器”選擇“系統(tǒng)DSN”選項(xiàng);3、點(diǎn)擊“添加”按鈕創(chuàng)建新數(shù)據(jù)源,選擇“MicrosoftA
2、ccessDriver(*.mdb)”;4、在數(shù)據(jù)源名處填下“mydata”,并選擇數(shù)據(jù)庫路徑為“D:實(shí)驗(yàn)項(xiàng)目mydatabase.mdb”。第三步:創(chuàng)建表格模板點(diǎn)擊工程瀏覽器左側(cè)的“SQL訪問管理器”下的“表格模板”,新建一個(gè)表格并命名為Table。在Table中添加所需記錄的變量及日期參數(shù),其中“日期”為定長字符串型,字符長度為10;其它諸如年、月、日、時(shí)、分則為浮點(diǎn)型,字符長度為1。第四步:創(chuàng)建記錄體點(diǎn)擊工程瀏覽器左側(cè)的“SQL訪問管理器”下的“記錄體”,新建一個(gè)表格并命名為Record,在Record中添加所需記錄的變量及日期參數(shù)。
3、記錄體用來定義Access數(shù)據(jù)表格字段與組態(tài)王變量之間的對應(yīng)關(guān)系。二、連接數(shù)據(jù)庫第一步:在工程瀏覽器左側(cè)的“數(shù)據(jù)庫”下的“數(shù)據(jù)字典”中定義一個(gè)內(nèi)存整型變量,并命名為ConnectID。第二步:創(chuàng)立組態(tài)王與mydata數(shù)據(jù)源的連接,并以“表格模板”Table的格式在數(shù)據(jù)庫中建立名為“TheDate”的表格,命令如下:SQLConnect(ConnectID,"dsn=mydata;uid=;pwd=");SQLCreateTable(ConnectID,"TheDate","Table");將上面兩條命令填入“工程瀏覽器命令語言應(yīng)用程序命令語
4、言”下的“啟動(dòng)時(shí)”選項(xiàng)中。第三步:在工程瀏覽器左側(cè)的“命令語言事件命令語言”下新建一事件命令,在“事由描述”項(xiàng)內(nèi)填下“\本站點(diǎn)$分==01”(每小時(shí)事件發(fā)生一次),在“發(fā)生時(shí)”框內(nèi)填寫SQLInsert(connectionid,"TheDate","Record");//每小時(shí)向數(shù)據(jù)庫保存一條記錄。三:建立報(bào)表查詢畫面新建一個(gè)畫面,并在畫面上添加一個(gè)日期控件作日期查詢用;添加一個(gè)KVADODBGrid控件作報(bào)表顯示用;添加三個(gè)按鈕分別作查詢、打印、退出用。第一步:添加KVADODBGrid控制1.菜單欄編輯插入通用控件KVADOD
5、BGridClass,雙擊添加的控件,并命名“控件名”為dayreport2.在控件屬性里的“數(shù)據(jù)源”選擇前面定義的mydata、“表名稱”選擇TheDate,此時(shí)下面的“有郊字段”將出現(xiàn)你在記錄體里面加入的數(shù)據(jù),根據(jù)需要添加到右側(cè),并編輯好“標(biāo)題”、“格式”等內(nèi)容3.根據(jù)需要可修改控件屬性里面的“字體”、“打印設(shè)置”等第二步:添加時(shí)間控件1.菜單欄編輯插入通用控件MicrosoftDateandTimePickerControl6.0(SP4)2.雙擊添加的控件,并命名“控件名”為DayreportSelect3.根據(jù)需要可修改控件屬性
6、第三步:添加查詢按鈕1.定義按鈕的“命令語言連接”“按下時(shí)”為:dayreport.RemoveAllData();2.定義按鈕的“命令語言連接”“彈起時(shí)”為:(下列語言中“條件句”為內(nèi)存字符串格式,在“數(shù)據(jù)詞典”里面定義)longa;longb;stringstr1;stringstr2;a=DayreportSelect.Month;b=DayreportSelect.Day;if(a<10)str1="-0"+StrFromInt(DayreportSelect.Month,10);elsestr1="-"+StrFromInt(Dayr
7、eportSelect.Month,10);if(b<10)str2="-0"+StrFromInt(DayreportSelect.Day,10);elsestr2="-"+StrFromInt(DayreportSelect.Day,10);\本站點(diǎn)條件句=StrFromInt(DayreportSelect.Year,10)+str1+str2;dayreport.Where="日期='"+\本站點(diǎn)條件句+"'orderby時(shí)";dayreport.FetchData();dayreport.FetchEnd();注意:在控制面板
8、區(qū)域和語言自定義下,需定義短日期格式為“yyyy-MM-dd”樣式,若不同,則上面命令代碼的判斷段需作相應(yīng)修改。第四步:添加打印按鈕定義按鈕的“命