 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
kl608
註冊時間: 2011-03-02 文章: 2
第 1 樓
|
發表於: 星期三 三月 02, 2011 12:08 pm 文章主題: checkbox對應資料庫的資料類型為char該如何處理 |
|
|
各位前輩好,小弟是VFP新手,接觸大約兩個禮拜。
目前使用SPT方式以及FORM針對一個現有的SQL SERVER資料庫設計一個產品資料的介面,提供查詢以及修改資料。
該資料庫中有一欄位 "active"表示該產品是否使用中。小弟想以CHECKBOX來呈現這個欄位,不過該欄位的資料類型為 CHAR。當”是”的時候值是”T”否的時候為”F”。
VFP中的CHECKBOX好像必須是0或1的值。直接用該欄位於CHECKBOX上會有type mismatch的錯誤。
目前用
select *, boolActive = case active when 'T' then 1 when 'F' then 0 end from item
來將T與F轉成0與1並存入另一變數boolActive之中並將checkbox的ControlSource設定為這個變數 (csSelectProduct.boolActive),可以正常顯示。
不過卡在不知道該如何處理資料變更後利用tableupdate()來將"T"與"F"的的值寫回資料庫中的active欄位。
下面是儲存鈕的code:
CURSORSETPROP("UpdatableFieldList", "name, no, item, active", "csSelectedProduct")
CURSORSETPROP("Tables", "item", "csSelectedProduct")
CURSORSETPROP("UpdateNameList", "name item.name, no item.no, item item.item, boolActive item.active", "csSelectedProduct")
CURSORSETPROP("KeyFieldList", "item", "csSelectedProduct")
CURSORSETPROP("SendUpdates", .T., "csSelectedProduct")
TABLEUPDATE(1, .T., "csSelectedProduct")
希望有經驗的前輩能夠指點一下,感激不盡!! |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 2 樓
|
發表於: 星期三 三月 02, 2011 1:00 pm 文章主題: |
|
|
在STP之前下個指令
check1.value=.F. |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 3 樓
|
發表於: 星期三 三月 02, 2011 3:25 pm 文章主題: |
|
|
如果你所說的"變數boolActive" 實際上是一個欄位的話,
請在儲存鈕第一行加入這個指令
repl active with iif(boolActive,'T','F') ALL _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
kl608
註冊時間: 2011-03-02 文章: 2
第 4 樓
|
發表於: 星期三 三月 02, 2011 3:49 pm 文章主題: |
|
|
感謝兩位前輩的回覆!
我使用garfield前輩的方式解決了這個問題!
repl csSelectedProduct.active with iif(csSelectedProduct.boolActive=1,'T','F')
原來這麼簡單! 若沒有前輩的提點還真的想不出來,真是太感謝了!! |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|