2016年1月8日 星期五

Access DLookup,DCount 函式


Access DLookup 函式


用途: 
 一個快速的函式, 可以在一個表格中比對某一欄位是否為某值, 若找到後傳回該列的某一欄位值。

DLookup("field","table",Criteria')



Dim varX As Variant
varX = DLookup("[CompanyName]","Shippers", "[ShipperID] = 1")

---------------------------------
  Private Sub combo_string2id()
   
   job_name = Me.JOBTYPE1.Value
   Me.JOBTYPE1.Value = DLookup("jobtype_id", "index_jobtype", "jobtype_name='" & job_name & "'")
  
  End Sub
  
  '-----------------------
    Private Sub combo_id2string()

      
   job_id = Me.JOBTYPE1.Value
   Me.JOBTYPE1.Value = DLookup("jobtype_name", "index_jobtype", "jobtype_id='" & job_id & "'")
  
  End Sub

------------

也可以用底下程式來實現DLookup,其中ComboBox.Column(1, i) 表示為第i列第1欄的值 (欄是從0開始算)
Dim i As Integer

For i = 0 To ComboBox.ListCount-1
    If ComboBox.Column(1, i) = "ittraining" Then   
        ComboBox.Value = ComboBox.ItemData(i)
        Exit For
    End If
Next i


Access DCount 函式

用途: 
 一個快速的函式, 可以在一個表格中,根據Criteria的設定, 在table中計數的field的數量。

Dcount("field","table",Criteria')

利用Dcount的函式, 在查詢的結果, 增加一欄位作為序號。


中間那個"table"可以是別的查詢的結果, 另外要產生序號,如底下方式, 必須要找出這個"field"在
"table"中本身是沒有重覆的。

RowNum: DCount("[產品編號]","[產品資料]","[產品編號]<=" & [產品編號])






沒有留言 :

張貼留言