首先需請各位大師要靜心看,因為比較繁瑣.三言兩句說不清.


  表格我加上了COMBOBOX控件.在控件的WHEN事件中也有代碼.其代碼的作用就是要重置其COMBOBOX的ROWSOURCE.在表格的AFTERROWCOLCHANGE事件中,我也有代碼,其作用就是要判斷表格中RECORDSOURCE中某一字段的值來確定表格某一列的CURRENTCONTROL.比如:

  1.表中的字段:退貨資料 驗收單號 訂單號碼 等  (退貨資料分為"進料驗退"和"庫存退貨"兩種,以退貨資料為"進料驗退"時,需要錄入"驗收單號",其訂單號碼自動彈出來,且"訂單號碼"的控件為TEXT且為唯讀.為"庫存退貨"時,不需要輸入"驗收單號"但要輸入"訂單號碼"且"訂單號碼"控件為COMBO,"驗收單號"為TEXT且為唯讀.)
 
  2.表格的"退貨資料"控制始終為COMBO控件,"驗收單號"和"訂單號碼"有各自的數據來源,且都為數組.

  3.我在表格的AFTERROWCOLCHANGE中有加上因"退貨資料"變化而讓表格的控件變化的代碼,顯示都沒有問題.

  4.我在"訂單號碼"和"驗收單號"COMBO控件的WHEN事件中加上了相應的數組重置代碼.
  
  5.但是當我要編輯資料時,就出問題了:當表格中有"進料驗退"也有"庫存退貨"時,數組可以得到相應的重置,但當我把光標從"進料驗退"移到"庫存退貨"記錄上時,是其控件的LISTITEMID為0.(界面如附檔)

   以上真的很疑惑,我在COMBO的WHEN事件中已經按要求重置了數組.而且數組中也有相應的記錄,為何原記錄不是選定狀態呢?究竟這一個移動光標的動作會引發哪些事件,而這些事件哪個先發生哪個后發生呢?