上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
amd
註冊時間: 2003-07-20 文章: 54
第 1 樓
|
發表於: 星期日 五月 03, 2009 4:45 pm 文章主題: 請問一下各位像 材料記錄 這種的 如何寫! |
|
|
之前講得不太清楚
結存要 先有個值,例如:1
-------------
收料 發料 結存
結存 1
收10 結存 11
發5 結=6
---------- ------
結存 每次都會去+ - 收 /發 的動作
就像 存款簿 格式 的,那個 結存 的值是要每新增一筆就帶下來的
像這種我要怎麼寫呢?
..........
謝謝
amd 在 星期一 五月 04, 2009 10:36 am 作了第 1 次修改 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期一 五月 04, 2009 12:13 am 文章主題: |
|
|
先整理在一個TABLE/CURSOR上,
再印出來不就得了.
或是用報表變數,
以 IIF 判斷要加要減 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
amd
註冊時間: 2003-07-20 文章: 54
第 3 樓
|
發表於: 星期一 五月 04, 2009 10:37 am 文章主題: |
|
|
我改了一下 標題,之前說得可能不是很 清楚,麻煩 各位 教授 一下 吧!
謝謝
我是想要在 grid 上實現的!
是有關聯式的,有個 材料主表,這個是 明細
amd 在 星期一 五月 04, 2009 10:43 am 作了第 1 次修改 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期一 五月 04, 2009 10:41 am 文章主題: |
|
|
你應該要知道,
就算給你如來神掌密笈,你也不一定看的懂.
答案就是那樣 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
amd
註冊時間: 2003-07-20 文章: 54
第 5 樓
|
發表於: 星期一 五月 04, 2009 10:45 am 文章主題: |
|
|
syntech 寫到: | 你應該要知道,
就算給你如來神掌密笈,你也不一定看的懂.
答案就是那樣 |
老大 ,如你不 嫌棄, 你就 點一下,我看 是否 聽得懂!
謝 謝 先 !
---------
amd 在 星期一 五月 04, 2009 11:56 am 作了第 2 次修改 |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 6 樓
|
發表於: 星期一 五月 04, 2009 11:52 am 文章主題: |
|
|
寫程式不就是將手工變成電腦自動作,
你先想想如何用手工做出你要的結果,
再用電腦處理資料的方式來寫程式,
這個題目你知道如何用手工填寫帳冊的方法嗎? _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
amd
註冊時間: 2003-07-20 文章: 54
第 7 樓
|
發表於: 星期一 五月 04, 2009 11:55 am 文章主題: |
|
|
garfield 寫到: | 寫程式不就是將手工變成電腦自動作,
你先想想如何用手工做出你要的結果,
再用電腦處理資料的方式來寫程式,
這個題目你知道如何用手工填寫帳冊的方法嗎? |
知道,大大 您出現了啊,可否麻煩 你教授一下呢?謝謝 先
因資料 是從中 接手,也就是之前有的 存料 需 接下來,才會要 先有 結存 的值!
我想要做的是像在 Excel 上操作的一樣,即輸入畫面跟印出的結果是一樣的!
且 如果 之中 有個值 被修改過了 ,那接下來 的值 也要自動更改 + -!
目前是有做到一些成果,但有缺點,想要看各位是否有更好的想法,謝謝!
有想過可以 用 text 來輸入,grid 設成唯讀, 但這樣就 覺得不是 很完美! |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 8 樓
|
發表於: 星期一 五月 04, 2009 12:26 pm 文章主題: |
|
|
我只能給你一些提示,
請你自己思考一下要如何變通
repl 結餘 with 上次結餘+異動數量 rest
go 剛才那筆 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 9 樓
|
發表於: 星期一 五月 04, 2009 12:54 pm 文章主題: 好優的解法 ~~~~~~~~~ |
|
|
garfield 寫到: | 我只能給你一些提示,
請你自己思考一下要如何變通
repl 結餘 with 上次結餘+異動數量 rest
go 剛才那筆 |
拍拍手!
啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪∼∼
我最欣賞這種解法!
太威了!
殺很大啊 ~~~~~~~~! |
|
回頂端 |
|
 |
amd
註冊時間: 2003-07-20 文章: 54
第 10 樓
|
發表於: 星期一 五月 04, 2009 8:27 pm 文章主題: |
|
|
garfield 寫到: | 我只能給你一些提示,
請你自己思考一下要如何變通
repl 結餘 with 上次結餘+異動數量 rest
go 剛才那筆 |
===============
大佬,你想的是不是跟我目前寫的一樣意思!
--------------------
Skip -1
a = 存料明細.庫存結存
Skip
Replace 材料編號 with 器材名稱.材料編號
Thisform.Grid1.Column6.text1.value = a + EVALUATE(FIELD(5)) - EVALUATE(FIELD(6))
-----------------------------
但這有個缺點,就是要先有一筆空白資料
且
第一筆時不能先有結存(也就是 收料 要先有值,結存才會有值,但這樣是不對的,因為多了一次收料)
不然會變成 0
===============
寫到現在,發現其實如果都是對資料庫來 + - ,這樣的結果 都可能出錯,
覺得如果是對目前畫面上的 橫() 列() = 儲存格 來做+ - 可能是最不會出錯的吧!
不知 這樣想法對不對呢? |
|
回頂端 |
|
 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 11 樓
|
發表於: 星期一 五月 04, 2009 10:43 pm 文章主題: |
|
|
通常你的問題應該是在報表呈現出的產品異動資料, 如果你是想在 grid 裡即時顯示
就可以參照excel 的方式, 將 grid 模擬成 excel 的模式, 而你需要在產品主檔有一個欄位是現有庫存量
然後每當 grid 去做進出的動作時, 就會更新這個欄位, 也可以在你的異動table 寫入這個值
那麼 grid 就會顯示出你要的結果了 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 12 樓
|
發表於: 星期二 五月 05, 2009 10:26 am 文章主題: |
|
|
找出合適的事件,
撰寫合適的code,
就會出現你要的答案.
反之,就會搞出一堆問題,
還要怪工具不對.
excel 是用 cell 為單位處理資料.
但是 foxpro 應該使用table/cursor中記錄的欄位為單位處理資料.
很多人通常搞不清楚這點,
老是想拿vfp grid 的cell 作文章. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
amd
註冊時間: 2003-07-20 文章: 54
第 13 樓
|
發表於: 星期二 五月 05, 2009 5:48 pm 文章主題: |
|
|
goodnight 寫到: | 通常你的問題應該是在報表呈現出的產品異動資料, 如果你是想在 grid 裡即時顯示
就可以參照excel 的方式, 將 grid 模擬成 excel 的模式, 而你需要在產品主檔有一個欄位是現有庫存量
然後每當 grid 去做進出的動作時, 就會更新這個欄位, 也可以在你的異動table 寫入這個值
那麼 grid 就會顯示出你要的結果了 |
這個點,我有想過但沒實做,嗯,目前該考慮放下去了!
我再試試,謝謝 囉!  |
|
回頂端 |
|
 |
amd
註冊時間: 2003-07-20 文章: 54
第 14 樓
|
發表於: 星期二 五月 05, 2009 5:53 pm 文章主題: |
|
|
syntech 寫到: | 找出合適的事件,
撰寫合適的code,
就會出現你要的答案.
反之,就會搞出一堆問題,
還要怪工具不對.
excel 是用 cell 為單位處理資料.
但是 foxpro 應該使用table/cursor中記錄的欄位為單位處理資料.
很多人通常搞不清楚這點,
老是想拿vfp grid 的cell 作文章. |
前輩,小弟不才,對 foxpro 認識不夠,感謝您的指導!  |
|
回頂端 |
|
 |
amd
註冊時間: 2003-07-20 文章: 54
第 15 樓
|
發表於: 星期二 五月 05, 2009 11:01 pm 文章主題: |
|
|
這是昨晚在查到微軟的範例,果然有我想要的功能!
剛才改了一些,終於達到我想要的東東囉,Excel 輸入畫面!(當然這只是一小步,也不可能 100% 完美)
更神奇的是,輸入起始 結存的值之後,如有輸入第二筆,還會把第一筆給涷結起來,讓人無法進入,這也是我想要的功能!呵呵(不過我倒是不懂為什麼就是啦!)
---- 以下給有需要的人參考 -----微軟原版範例--------------------
ThisForm.Grid1.SetFocus
ThisForm.LockScreen = .T.
IF ThisForm.Grid1.RelativeRow = 1
=MESSAGEBOX("You cannot do this replacement from the top "+;
"of the Grid.",16,"")
*: If the active grid cell is in the top row of the grid, this
*: will display a message to the user.
ELSE
RepField = FIELD(ThisForm.Grid1.ActiveColumn)
ColumnNumber = "Column"+ALLTRIM(STR(ThisForm.Grid1.ActiveColumn))
ThisForm.GRID1.ACTIVATECELL(ThisForm.GRID1.RELATIVEROW-1,;
ThisForm.GRID1.RELATIVECOLUMN)
RepValue = ThisForm.Grid1.&ColumnNumber..Text1.Value
ThisForm.GRID1.ACTIVATECELL(ThisForm.GRID1.RELATIVEROW+1,;
ThisForm.GRID1.RELATIVECOLUMN)
yesno = MESSAGEBOX("Are you certain that you wish to replace "+;
CHR(13)+"Field "+UPPER(repField)+" current value?",36,"")
IF yesno = 6
REPLACE &RepField WITH RepValue
ThisForm.REFRESH
ELSE
WAIT WINDOW "Replacement Canceled" NOWAIT
ENDIF
ENDIF
ThisForm.LockScreen = .F.
----------------------- |
|
回頂端 |
|
 |
|