2011年9月2日 星期五

@CASE 7 < 製令製造書 > ver-110902


=====================================================
'碰到說
轉移資料列,因為透過ODBC去寫入DBF檔案
因為切的都是字串
寫進去存在的DBF,裡面是有預設格式的
有一些是數字型態
不能用 ' ' 包住值來寫

不然會造成資料型態的錯誤

'馬的
本來的DBF資料庫 每個檔案的資料型態 基本上是一樣的
但是numeric 的預設值 0有的有設,有的沒設
變成說如果該欄位是空值
有設預設DecimalIndex 0 的就會報錯

這個看能不能複製資料形態到所有MCST檔案
存起來
要再跟老大討論

目前先把 numeric 型態的資料,遇到空值得帶入 0,做搬移資料寫入動作
==========================================================
'可能需要一開始選取整個row
然後可以判斷是否選取,然後改變GridView的選取欄位

變成編輯模式(新增,修改)
改選取模式Cell
在編輯模式選取row, 將不改變 GridView的選取欄位

@發現說 一些東西寫到 selectedRows
就無法多選

目前先改變作法,改成單選,看的到選取欄位
透過選取欄位去新增刪除修改
(在rowFullSelection 才能勾選)

在其他編輯模式無法更改 選取欄位的值

@ vb.net short curcuit  OrElse

@發現說 rowPostPaint , rowPrePaint
都會發生在 cell 改變, 或是背景改變時,啟動重繪

(應該將row的變色寫在這裡,看會不會改善grid閃爍問題)

DataGridView游標自動停留於Cell中



'是否PC跟SERVER資料要分存
操作上,需透過詢問才上船SERVER
也詢問是否需要下載

'跨檔案移動資料
1.選好資料,選好墓地檔案(不應該選取自己本身作為目的檔案)
2.檢查目的是否存在(建立)
3.insert into 目的
4.delete 來源檔選取的資料

'希望能夠添加 Row 的編號 計數器

'需要在rgidview上面做一個選取Box
不在畫面上呈現
但是選取某筆資料時
就打勾(多選就勾多筆)
當離開ROW的焦點

方案一

就取消勾選

方案二

從反覆器模式到合成模式(Composite Pattern)

在享用用看走訪集合的方式
已經可以抓到所有資料行索引
從後面沙回來就可以了



'改變遺下編輯的方式,
點選儲存格keyIn即開始編修

'記得排序
排序功能

先以機台 MAC,再以日期 TRNDATE

'新刪修,要能對應到排序
這邊應該是要取得 DefaultView 去更改 DBF 的值

弔詭
新增,會異動 Table
刪除卻不會

'可能需要調換遺下 column 的位置
========================================
'發現說
如果寫入格式以後
轉檔DBF 會變成無法開啟
或是資料比數會跑掉(資料數,欄位數)

發現說
可以改革是
但是要記得巨集裡面的選取要改回單一CELL
不然轉DBF就會出問題
不太清楚原因

但是測試的時候
選取全範圍AUTOFIT以後轉檔
會多出一堆空白資料

因此猜測
然後try
就解出來了

累死了

=================================================
'考慮直接DBF做掉
不轉EXCEL(格式會跑掉)

還是要先轉EXCEL
然後整理格式再存成 DBF

'感覺現在因為沒有透過 Excel.Interop元件
直接呼叫 Excel
變成存檔的時候
他好像都只看成文字檔

還是有點問題
轉檔格式跑完以後似乎內容都不見了
好怪

要再看一夏

幹~快被打敗了
土法煉鋼好累

目前世說 Opentext 他好像就是視為 txt檔案
但是可以打開後直接做格式的寫入
再存成 Excel格式
          oExcel.ActiveWorkbook._SaveAs(Filename:="D:\tmp\test2.xls", FileFormat:=Excel.XlFileFormat.xlWorkbookNormal)

因為測試過不能直接存 DBF格式
所以再開一次存的xls
存成DBF
是看看
幹~發現說以這個方式,無法透過 saveas 寫入 DBF

=======================================================


使用 CommandBuilder 來自動產生 SQL 陳述式



如何將 DataSet 中的 Table 存成 DBF 資料表 
http://www.programmer-club.com.tw/ShowSameTitleN/vbdotnet/12697.html


如何 使用 ado 將資料寫回 DBF 檔



'同步更新 SERVER DBF檔案 (編輯後)
==============================================
'年月下拉是選單,應該用設定的
或是有其他方法可以用databinding的

'需要做一個跨檔案移動資料列的功能
能夠將選取的資料列

全數移動到選定的檔案內

'要思考一下
複製到PC的資料要放哪裡

==================================================
'可能會需要一些異動資料提醒

'取消將資料操作放棄

'再來怎麼將別的table的數值,
跟某個GridView Cell的資料作關聯
在下一個Cell自動帶入關聯值

好像可以在編輯模式時
完成該欄位編輯
就判斷他署與Table的哪個資料
去帶出後面的欄位內容自動填上

'思考遺下編輯模式

DataGridView.EditMode 屬性

EditProgrammatically 除外的所有其他 DataGridViewEditMode 值都可讓使用者在按兩下儲存格時,開始編輯儲存格。


目前是透過按鈕打開新增修改模式
(應該不能是一筆一筆的模式)


然後點Cell編修
更新按鈕送出修改

'可以直接DBF做掉
應該不會需要轉EXCEL

除了一些報表列印之外的

目前作法是 txt 寫入檔案,看能不能轉DBF
就不轉EXCEL了
或是就轉EXCEL,而不用DBF

'要確定遺下
MCST是整個目錄檔案都讀近來
還是說可以切換年月
(應該可以選擇年月去切換載入)

'要想一下哪些部分需要做資料更動時
資料檢查
怎麼檢查

'感覺客戶ID檔,是紀錄客戶曾經訂購的產品
所以可能是說能夠在確定送出製令以後
將該產品寫入客戶ID 檔
做紀錄
之類的

'要查遺下
如何將XLS檔案轉成DBF
DBF轉XLS

感覺起來像是寫好ODBC以後
就透過SQL語法 Create 建立TABLE
就會在擬設的路徑建立檔案
要測測看
===================================================

将EXCEL文件转为DBF文件.
我是直接调用Excel的SaveAs 进行转换的 

可以直接透過 Excel 元件 
saveas DBF檔案格式

要注意的是
'可能會有格式上的問題
'轉檔前,務必要先將欄位autofit自動欄寬
不然內容太長有可能會被切掉


     oExcel.workbooks(1).SaveAs("d:\tmp\test1.dbf", XlFileFormat.xlDBF4)


Workbook.FileFormat Property


XlFileFormat Enumeration



==========================================================

Create .DBF in C# code that is readable from Excel (VFP or not)



VB.Net 使用 dBase / FoxPro 資料庫


透過 OleDb 精準讀入 Excel 檔的方法



=======================================================
需要一支可以抓DBF資料的程式

可以建立 MCST年月 檔案 製令檔案
可以編輯 材料 檔案

在建立製令時,
要能夠輸入料號,自動帶入材料檔案之中的品名或相關資料
輸入客戶,自動帶入地區

介面操控應該直覺
=========================================================
\\Win2ksv01\tai-dos\make\
PROCODE 材料檔

\\Win2ksv01\tai-dos\hg
AREA 地區檔 (客戶)

\\Win2ksv01\tai-dos\tailin\customer
客戶ID 檔



沒有留言:

張貼留言