回首頁 回首頁
     回首頁
回首頁
  
認識Smart Query
Smart Query介紹
線上研討會
線上設計導覽
線上展示
教學影片
客戶服務
客戶服務系統
常見問題集
訂閱電子報
討論區
更新功能介紹
安裝與更新
系統需求
安裝步驟
安裝問題排解
升級步驟
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
主題: ERP系統如何整合Smart Query
作者:陳文瑞 出刊日期:2004/8/17

許多客戶利用Smart Query開發過程中,一直在詢問這樣的問題,如何與Delphi結合,又如何與VB.NET結合,甚至其他程式語言,所以我們提供了SmartViewer.ocx這個ActiveX元件(以下簡稱SmartViewer元件),只要在Window中使用的開發工具,都可直接利用此元件連接Smart-Query所設計的報表。

 
當您安裝Smart Query後,在C:\Program Files\Smart-Query\Dll(如果安裝路徑有自行設定,則在設定路徑下的Dll資料夾中)路徑下有個SmartViewer.ocx檔案 , 就是SmartViewer元件。SmartViewer元件提供LinkQuery函式讓您呼叫Smart Query報表,透過傳入參數可以控制連結的報表及其內容和連結方式。以下會分別以Delphi及VB.Net為開發工具來介紹您如何在自行開發的系統中呼叫Smart-Query。
 
一、使用DELPHI連結Smart Query的報表

首先需要先將SmartViewer安裝到Delphi開發環境中

Step1:安裝 SmartViewer.OCX之前,必需新增一個Package來安裝此元件,請執行功能選單中的File\New選項,選擇新增Package功能如【圖一】

 
 
【圖一】新增Package
 

Step2:選擇一個資料夾儲存此Package並為此Package命名,在這個範例中將Package儲存在D:\Program Files\Borland\Delphi5\Projects\Bpl路徑,並將其命名為WebBrowser2。儲存這個Package產生WebBrowser2.dpk檔案。

 
 
【圖二】儲存Package---WebBrowser2
 

Step3:執行功能選單Component\Improt ActiveX Control選項,點選Add功能,選擇C:\Program Files\Smart-Query\Dll\SmartViewer.ocx檔案,如【圖三】。

 
 
【圖三】
 
Step4:如【圖四】點選Install鍵,接下來執行Brwoser功能選擇前面新增的Package “D:\Program Files\Borland\Delphi5\Projects\Bpl\WebBrowser2.dpk”,將ocx包裝至此Packages中。
 

【圖四】
 
Step5:完成上面的步驟後,您可以在Delphi的ActiveX元件盤中找到新增的SmartViewer元件,如【圖五】。
 

【圖五】
 

然後我們就可以在ERP系統中利用SmartViewer元件來呼叫Smart-Query了,接下來以一簡明的範例來介紹如何呼叫Smart-Query。

 
Step6:在Smart-Query中製作了一個查詢”客戶年度銷售分析表”,這個查詢有三個條件,分別是查詢年度及客戶編號起訖值,想要呼叫這個查詢,並且帶入查詢年度為”2000”,如【圖六】。

【圖六】
 

Step7:以Delphi製作了如下的程式來呼叫”客戶年度銷售分析表”,在【圖七】中可以看到畫面上放置了一個SmartVierer元件並有7個輸入框(Edit)及一個核取框(CheckBox),這些輸入元件可以改變要呼叫Smart-Query的參數值。

而在”連結查詢”Button的OnClick事件筆者撰寫了如下程式:
SamrtViewImpl11.LinkQuery(eServer.TExt, eUserID.TExt, ePassword.Text, eProject.Text, eSystem.Text, eQuery.Text, CheckBox1.Checked,edtParams.Text,'');

 

【圖七】
 

Step8:在前面提到了SmartViewer元件提供LinkQuery函式以呼叫查詢及報表,這個函式的prototype 如下:

LinkQuery( P1:string,P2:string, P3:string, P4:string, P5:string, P6:string,P7:boolean,P8:string,P9:string)

參數的意義如後:
P1:ServerName
P2:使用者帳號
P3:使用者密碼
P4:欲呼叫查詢所屬專案名稱
P5:欲呼叫查詢所屬子系統名稱
P6:欲呼叫的查詢名稱
P7:呼叫查詢時是否開啟新的瀏覽器視窗或是內嵌在SmartViewer元件中顯示
P8:如果有使用多公司別,則此參數傳入公司名稱
P9:傳入查詢中的條件值
【圖七】畫面的輸入元件正是對應了傳入LinkQuery函式的參數值
 

Step9:想要呼叫”客戶年度銷售分析表”,所以在呼叫程式的輸入框填入正確的參數值,如畫面所示。其中在查詢的條件值中想要看查詢年度為”2000”的資料,所以輸入了”YEARMONTH0=2000”,而”YEARMONTH0”正是查詢年度這個條件在Smart-Query規格中的參數名稱。如果有多個條件要傳入的話就以”&”符號來連接,例如: ”YEARMONTH0=2000&CUSTID0=A001&CUSTID1=B002”;而想要開啟新的視窗來瀏覽,所以勾選了在新視窗中開啟;在這個範例中並不使用多公司別,所以在呼叫LinkQuery函式時,直接將公司別的參數填入空白。填完參數值後,按下”連接查詢”按鈕就可以看到開啟了新視窗來呼叫Smart-Query的”客戶年度銷售統計表了”,如【圖八】。

【圖八】

Step10:SmartViewer.ocx元件提供了另一個函數;Logout,此函數的使用時機為當您要將程式關閉時,而且您是使用將Smart Query內嵌在SmartViewer元件中,可以在FormClose的事件中呼叫SamrtViewImpl11.Logout函數,表示欲登出Smart Query系統,才不會導致使用者仍佔著系統的資源。

 

上述內容以呼叫”客戶年度銷售分析表”為例,來解說如何利用SmartViewer.ocx呼叫Smart-Query的查詢。在範例中是以直接在畫面輸入LinkQuery的參數來控制,而一般在ERP或EIP系統中,所需的參數我們都會以變數儲存在程式中,所以只要在呼叫時將參數值換成變數名稱就可以了。

 

二、如何使用VB.NET連結Smart Query的報表

前一段落以10個步驟說明了使用Delphi開發時如何呼叫Smart-Query查詢,若您是使用VB.NET程式語言的話,在呼叫Smart-Query的查詢時,是與前述Step6至Step10相同的。不同的地方是如何將SmartViewer元件安裝到VB.Net中,所以接下來僅針對這一部份作說明。
Step1:從開始功能表中啟動命令提示字元。
Step2:在命令提示字元中輸入cd C:\Program Files\Smart-Query\Dll將路徑移至存放SmartViewer元件的位置。
Step3:在命令提示字元中輸入Regsvr32 SmartViewer.ocx來註冊元件。
Step4:執行功能選單工具\自訂工具箱選項,接下來切換到COM元件頁次,可以看到一個”SmartViewerImpl1 Control”元件,勾選此元件將其匯入VB.Net的開發環境中,如【圖九】。

【圖九】
 

Step5:在工具箱的”元件”頁次中便可以看到一個名為SmartViewerImpl1的元件類別,即是SmartViewer元件。

【圖十】
 

三、如何建置Client端執行環境

當您在ERP系統完成利用SmartViewer元件呼叫Smart-Query報表的工作後,再分發程式到Client端時,也必須要分發SmartViewer元件的相關檔案,包含SmartViewer.ocx及LcloginP.dll兩個檔案。分發步驟如下述 :
1. 在您安裝Smart Query,SmartViewer.ocxLcloginP.dll這兩個檔案會位於安裝電腦的C:\Program Files\Smart-Query\Dll中(如果在安裝時,您有自行指定路徑,則會位於您指定的路徑下的Dll資料夾中),首先先找到這兩個檔案。
2. 將這兩個檔案分發到Client端,例如筆者的ERP系統程式是位於Client端的C:\ERPComponent資料夾下,就將這兩個檔案複製到這個路徑。
3. 從開始功能表中啟動命令提示字元
4. 在命令提示字元中輸入 cd C:\ERPComponent將路徑移至存放元件的位置。
5. 在命令提示字元中輸入Regsvr32 SmartViewer.ocx來註冊第一個檔案。
6. 在命令提示字元中輸入Regsvr32 LcloginP.dll註冊第二個檔案即完成分發步驟後,Client端即可執行應用程式,連結Smart Query報表。

 

附註:若您的作業系統為Win98則Regsvr32(Regsvr32.exe檔案)這個指令會在C:\WINDOWS\SYSTEM路徑下(依作業系統安裝路徑決定),若是WIN2000等作業系統您可以直接在命令提示字元中執行這個指令。



Best Viewable size 800 x 600
OBJECT RIVER Information Technology Inc.
Tel: 886-2-27260885 / Fax: 886-2-23466283
E-mail: Service@mail.lcnet.com.tw