Overview
00. OverviewET6.1 的資料檔案, 不管是新增, 更改或刪除, 都由各別的程式控制, 使用者不須用其他工具來變更檔案的內容. 例如, 報價相關檔案即由報價單程式處理. 不過, 在極少數的情況下, 有些異常的檔案無法單用正常程式處理, 我們需要具有較低層次處理能力的工具, 以便直接變更資料檔案中記錄 (record) 的內容. 本程式就是這種工具.
一個 ET6.1 的程式會用到數個到數十個資料檔案, 一個檔案會含有千萬的記錄, 一個記錄會含有數十個欄位, 每個欄位代表我們溝通時的單元, 如貨號, 品名等等. Utilities 讓我們處理一個記錄中的欄位.
除了低層次的資料處理外, Utilities 能將 ET6.1 的 Btrieve 檔案輸出成 dBase 檔案. 很多常用的程式, 如 Microsoft Excel, 都能讀 dBase 檔案. 這表示你可以把 ET6.1 的檔案轉到 Excel; 你可以再依需要, 重新排序, 選擇欄位, 做各種處理.
檔案抄錄及更換欄位資料均為本公司維護作業所需, 使用者若無本公司指示, 不應使用. 本公司利用這些功能做資料轉換, 讓轉換後的資料符合提昇後的新程式.
在安全性方面, Confucius 可以開啟任何檔案; Security level 5 使用者可以開啟非黑名單中的檔案; 低於 level 5 的使用者, 需設定權限才能開啟檔案 (見 Access Permission resource ET61-FILE-xxxxx 說明). 至於存放於非現行資料夾的檔案, 只有 Confucius 可以開啟. 另外, 除了 Confucius, 使用者無法開啟黑名單中的檔案. 單名單建於系統編碼 WRECORD-BLACKLIST.
| 開啟一個 ET6.1 資料檔案. | |
| 關閉一個 ET6.1 資料檔案. | |
| 查詢. | |
| 取得檔案的第一筆記錄. | |
| 取得現有記錄的前一筆記錄. | |
| 取得現有記載的次一筆記錄. | |
| 取得檔案的最後一筆記錄. | |
| 新增. | |
| 刪除. | |
| 更改. | |
| 產生 dBase 檔案 | |
| 資料匯出, 直接至 Excel, 或至 CSV 檔, 或至 tab-delimited 檔. | |
| 資料匯出至 SQL 資料庫. | |
| 資料檔案抄錄 | |
| 更換欄位資料 | |
| 資料由 Excel 檔滙入. 包含 product, supply, customer, supplier. | |
| Btrieve 參數設定 |

當你開啟一個 ET6.1 的檔案後, 檔案名稱會顯示在視窗最上方的標題列. 整個畫面代表此檔案的一個記錄 (record). 左側 Field 欄有 101 列資料: Variable 表記錄中資料長度可變動的部份, 0 - 99 表固定長度欄位. 右側 Value 欄含各欄位之內容.
按
或選單 File >
Open 開啟檔案. 你只能選擇 ET6.1 使用的 Btrieve
檔案; 這些檔案的副檔名均為 dat. 開啟檔的對話盒如下:

選妥檔案, 按 OK, 檔案名即顯示在標題列,
同時本檔案的第一筆記錄也顯示在畫面上. 功具列上開啟功能消失,
關閉按鍵
亮起, 表示可以關閉, 不能開啟. 此時, 首筆, 末筆,
上一筆, 下一筆等按鍵均可使用. 如要找尋特定記錄, 按
查詢:

如果你輸入的 Key Value 不完全正確, 系統會找出最接近的記錄. 按 Field Names... 可以顯示完整的欄位名稱及定義:

記錄中各欄位之內容可以直接修改. 改完後, 應按
完成更改動作.
要新增時, 先把各欄位填好, 按
新增. 要刪除, 先找出記錄, 再按
.
有些欄位, 如地址, 可能要分行. 在左欄對應格上點一下, 便可進入一個可做塊狀輸入的對話盒:

| Source file | 目前開啟的檔案. |
| Save as file | 存出的 dBase 檔案. |
| Source field name...Type | 來源檔案的欄位名稱及欄位類別. |
| dBase field name...Type | dBase 的欄位名稱最長 10 bytes, 欄位內容最長 255 bytes. |
| Add | |
| Remove | |
| Add All | |
| Remove All | |
| Key value range | |
| dBase field length & number format | 點選 source field name 時, 該欄位的長度會顯示在本欄位. 按 Add 時, 此長度會移至 dBase field name. 長度超過 255 會被拒絕. |
11. Export to Excel, CSV or Tab-Delimited File

| Field...Field name | 開啟檔案的所有欄位, 和 .str 檔資料符合. |
| Add | 選擇要匯出的欄位. 先從左邊選一個欄位, 再按 Add. 一次一個欄位. 選擇順序會決定匯出資料的欄位順序. |
| Remove | 移除已選的欄位. 由右邊選一個欄位, 再按 Remove. |
| Add All | 一次選擇所有欄位. |
| Remove All | 一次移除所選欄位. |
| Field...Field name 2 | 選好要匯出的欄位. 可以重複. |
| Key value range | 依據 key number, 可以設定適當的起迄範圍. |
| Change field length... | 某些文字欄位內容若不需全部匯出, 可以指定匯出最多字數 (英數字算法). |
| Output file format | 1. Excel file: 直接匯出至 Excel 檔案.
最多約 64,000 筆. 2. CSV file with +"..." delimiter: 匯出成 CSV 檔, 但文字欄位前後加 +" 及 ". 載入 Excel 時, 可保留全數字起頭的 0. 匯出雖然没有筆數限制, 但若載入 Excel, 仍受 Excel 限制. 3. CSV file with "..." delimiter: 匯出成 CSV 檔, 但文字欄位前後加 ". 載入 Excel 時, 可保欄位中的逗點 ",". 4. Normal CSV file: 匯出成標準 CSV 檔, 適於資料交換 (EDI). 5. Tab-delimited text file: 匯出成副檔名為 .txt 的文字檔, 也適合於 EDI. 載入 Excel, 可指定欄位為文字檔, 人工解決起頭 0 或夾逗點的問題. |
ET6.1 的資料檔可以匯出至 SQL Server 成為資料庫 table. 資料庫的 table 須事先建立, 名稱為檔名之前加 et; 如 Product 檔匯出之 table 名稱為 etProduct. 產生 etProduct 的 scripts 由我們提供. 以下我們以產品檔為例說明操作.
開啟 produdt.dat, 按工具列 SQL 鈕:

在 Source 對話方塊, 選擇 Product. 如果必要, 可加上範圍. 再按 Database tab:

在 connection string 欄位中, SqlMachineName 應改為實際放 SQL Server 的機器名稱或其 IP. DatabaseName 應改為你使用的資料庫名稱. 如需密碼, 亦應輸入.
按 OK, 產品資料會先轉到 Excel, 然後輸入 SQL Server. 如有必要, 資料庫中的 etProduct table 應事前清空.
產生一個新的資料庫檔案. 目標檔案須先行設好, 或由舊檔案生. 新舊檔案欄位對應可以改變.

| Target file | 目標檔案. 可以指定全新設好的檔案或由 clone 得到. |
| Target field...source field | 目標檔案和原始檔案的欄位對應. 可以改變 source field 表中之值. |
| Key range & key no. | 抄錄的資料範圍. |
| Field range & field no. | 目前無用途. |
| Clone an Empty File | 由舊檔產生一個空白但相同的新檔. |
改變指定範圍內指定欄位的資料內容.

| Field to replace | 指定欄位. 希望更改內容的欄位. |
| Control field | 檢驗記錄是否符合過濾要求. Control field 及 value 均指舊檔. 若 value 不是空白, 過濾的條件有四種, 看欄位值與 value 的關係是否為 exact match (一致), contains (包含), excludes (不含) 或 wildcard (狂牌) 之一. |
| By static value | 將欄位值改成一個固定值. |
| By another field | 將另一欄位之值放至指定欄位. 如為數值欄位, 可以指定縮放比例. |
| By prefixing letters | 在指定欄位值之前加一串字. 若只加一個字, 而舊值已是此字, 可以要求不變舊值. |
| By replacing start | 將指定欄位前幾個字換成新值. 如 XX 可把 AAxx, ABCxyz 改成 XXxx, XXCxyz. |
| By serial number of | 將指定欄位用新的流水號取代. 這裡要輸入的是已定義好的系統編碼. |
| Special | |
| By concatenating field | 將此處欄位值和指定欄位值合併, 可以置前或置後. |
| Reading through records | 讀一次範圍內的 keys. |
| Delete records | 刪除範圍內的記錄. |
從現行檔案中, 把全部或部份記錄抄至其他檔案; 在過程中, 同時變換指定欄位的內容.

| Beginning key, ending key, key number, key field | 先確定 key number, 再輸入 beginning 和 ending keys 來指定範圍. Key field 通常為組成 key 的第一個欄位, 用來測試 ending key. |
| Save data to | 其他檔案名稱, 須已存在. |
| Field to be replaced | 指定欄位. 在抄錄過程中, 希望更改的欄位. |
| Control field...with value | 檢驗記錄是否符合過濾要求. Control field 及 value 均指舊檔. |
| Using mappings in file | 只抄錄 mappings 檔案中指定而且存在的記錄. Mappings 檔為文字檔, 每一行代表一個指示, 形式為 "old key, new key", 舊 key 和新 key 中間用逗點隔開. Old key 用來由舊檔找出記錄, new key 則用來取代 old key. 兩者可以相同. |
| Using mappings in same file, but... | 檢查並抄錄指定資料範圍中所有記錄. 若指定欄位之值有定義於 mappings file 中者, 變更該欄位為新值. 文字和數值欄位均可使用. 新檔與舊檔的記錄筆數相同. |
| By another field...numeric scale | 將另一欄位之值放至指定欄位. 如為數值欄位, 可以指定縮放比例. |
| By prefixing letters...avoid duplicate 1st letter | 在指定欄位值之前加一串字. 若只加一個字, 而舊值已是此字, 可以要求不變舊值. |
| By replacing start | 將指定欄位前幾個字換成新值. 如 XX 可把 AAxx, ABCxyz 改成 XXxx, XXCxyz. |
| By serial number of | 將指定欄位用新的流水號取代. 這裡要輸入的是已定義好的系統編碼. |
| By concatenating field...position | 將此處欄位值和指定欄位值合併, 可以置前或置後. |
尚未建置.
有些作業因有交易資料之記錄, 所以若主檔損毁, 還可能重建. 如 scdet.dat 就可能由 sctrans.dat 重建; podet.dat 就可能由 potrans.dat 重建.

| Job choice | 目前只有兩個檔案可能重建: scdet.dat 及 podet.dat. |
| Data date range | 可以只重建一段期間之資料. |
Product, supply, customer, supplier 四個檔案可由 Excel 匯入. Excel 欄位定義和順序要跟 .str 檔案相同, 資料從第二列排起, 貯存格 B1 要輸入最後一列位置的數字.
資料匯入不會蓋掉檔案中原有資料, 只會新增加入. 如有重號, 該匯入資料列會被忽略. 因此, 若要重新由外建立新檔, 應準備空白新檔 (可用 4. Btrieve Data Copy 產生).
![]() |
Excel source file: 要匯入的 Excel 檔所在位置. 可以使用任何檔名, 但內容要符合規格. |
用 Data Export to Excel 將任一檔案匯出成 Excel 檔, 修改之後, 若要匯回 (入), 需如前述準備相對應空白檔案, 並在 B1 格輸入最後列數目, 再依上圖選定動作進行.
本系統使用 Btrieve Record Manager 處理檔案. 系統初步安裝完成後 (即 Setup 程式執行完畢, 或程式和資料檔案都抄好), 使用本節程式檢查 Btrieve 的參數設定. 未適當設定參數, 會導致某些資料查詢不到.
在工具列中按
可看到以下對話盒. M, F, P
的數值至少要如下欄預設值. 填完後按Replace 即可.
如果你的機器有其他參數, 應保留那些參數.

這個設定會在你的視窗系統目錄 (如 c:\windows) 之下產生 win.ini 的檔案; 如果 win.ini 原已存在, 則會更改 [Btrieve] 項下設定值.
安裝某些軟體 (如 Microsoft Office) 會刪除 win.ini 檔. 所以當你安裝 ET6.1 之後又安裝這類軟體, 記得重新執行此處設定.
| Code | 說明 |
|---|---|
| CONNECTION-STRING-1 | 匯出至 SQL 資料庫時連結資料庫之字串, 可設三個, 由 1 至 3. 任何和 SQL 相容之資料庫均可, 如 Microsoft SQL, Oracle SQL, Microsoft Access. |
| WRECORD-BLACKLIST | 除非使用者是 Confucius, 否則無法開啟列入黑名單的資料檔案. |
Last modified: October 2009