English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請教Access高手:
筆者欲從表單A欄位中輸入資料後,尋找另一資料表中相同的一筆記錄,然後在該筆資料另一欄位輸入固定文字,請教如何利用After Update[事件程序]處理此問題?

2006-05-16 15:12:22 · 1 個解答 · 發問者 同學 7 in 電腦與網際網路 軟體

感謝呆單貓:有設連結

2006-05-16 15:49:40 · update #1

感謝 清澈的熊 再請教不了解之處
1.文字方塊B是否設要傳到另一表單中之固定文字
2.欄位2與欄位1是否均為資料表2之欄位
3.條件式中&兩邊之3點及5點引號代表什麼,如何輸入
4.此類程式有什麼書籍可參考
以上再次感謝

2006-05-19 14:06:21 · update #2

經多次嘗試執行結果為將欄位2的內容傳入文字方塊B
與我想要的動作剛好相反
我是要將固定的文字例如:"NG"填入表單2的欄位2
再次請教 清澈的熊

2006-05-19 15:13:53 · update #3

對不起!筆誤:我是要將固定的文字例如:"NG"填入資料表2的欄位2 (不是表單2)

2006-05-20 18:04:12 · update #4

感謝 清澈的熊 經嘗試第3次回答的方式是可完成
但使用者操作上較麻煩,還是覺得第一次的回答使用函數
DoLOOKUP(參數1,參數2,參數3)比較方便
或許我的表達不夠清楚 重新說明:
在表單1的欄位1輸入資料後利用After Update[事件程序]找到資料表2的欄位2與表單1的欄位1資料相同的那筆資料,然後在資料表2的欄位3中自動填入"NG"(固定文字)

2006-05-22 10:15:22 · update #5

1 個解答

使用函數 DLookup(參數1,參數2,參數3)參數1: 要傳回的欄位名稱參數2: 要找的資料表名稱參數3: 條件式Private Sub 文字方塊A_AfterUpdate()Me!文字方塊B = DLookup("欄位2", "資料表2", "[欄位1] = '" & Me!文字方塊A & "'")End Sub可參考另一個回答http://tw.knowledge.yahoo.com/question/?qid=1206040902118

2006-05-20 17:16:58 補充:
如果是已開啟的表單2,那只要直接塞表單1欄位過去即可,Forms!表單2!欄位2 = Forms!表單1!欄位NG

2006-05-20 17:17:38 補充:
不過你之前有提到"尋找另一資料表的記錄",猜想應該是要直接改資料表,由於沒有開啟中的物件,建議你針對該資料表建一個更新查詢,拉出欄位2,"更新至:"打入 [Forms]![表單1]![欄位NG],再拉出欄位1(要等於表單1欄位A那欄),準則設為[Forms]![表單1]![欄位A],假設存檔成"更新查詢1",再用docmd呼叫"更新查詢1"即可..Private Sub 文字方塊A_AfterUpdate()DoCmd.OpenQuery "更新查詢1"End Sub

2006-05-20 17:26:44 補充:
三點及五點是因為雙引號中如果包含雙引號,會造成程式誤判,所以被包在裏面的改用單引號,例如欄位1 = "abc" -> 欄位1 = 'abc'外面再加雙引號看起來就會有三點..-> "欄位1 = 'abc'",五點是因為兩個雙引號包著一個單引號.." ' "

2006-05-20 23:18:49 補充:
作法其實一樣,就是以表單1的欄位A為條件,執行符合條件的更新查詢(將資料表2的欄位2更改為"NG"),動件如下,新增查詢,挑資料表2,點選欄位1(要跟表單1欄位A相等那欄),準則設為[Forms]![表單1]![欄位A],點選欄位2,更新至:打入 "NG",假設存檔成"更新查詢1",再用docmd呼叫"更新查詢1"即可..Private Sub 文字方塊A_AfterUpdate()DoCmd.OpenQuery "更新查詢1"End Sub

2006-05-20 23:30:58 補充:
忘了說更新查詢的設定,挑資料表2後,功能表-查詢-更新查詢,才會出現"更新至:"項目..

2006-05-22 21:53:29 補充:
忘了更新查詢會提醒使用者確認了,只要把提示暫時關掉即可..DoCmd.SetWarnings FalseDoCmd.OpenQuery "更新查詢1"DoCmd.SetWarnings True另Dlookup()的作用是讀取資料,之所以先前有更新資料的效果,是因為資料已在表單中呈現,讀出來後直接更新表單欄位值即可,若要直接更新資料表的某筆資料,需以物件的方式開資料表,再跳至要更新的紀錄、更新欄位、儲存等等,寫起來會更複雜..

2006-05-18 19:22:53 · answer #1 · answered by Abear 6 · 0 0

fedest.com, questions and answers