2016-01-19 126 views
0

我試圖將循環中的字段名稱分配給訪問vba中的特定變量。然後我需要這個變量來從數據庫中讀取特定的記錄。下面你有一段代碼:在Access VBA中將字符串賦值給變量

For n = 0 To numfields - 1 
     a = "!" & rst.Fields(n).Name 
     If IsNull(!Field1) = False Then 
      If n = 1 Then strOutput = strOutput & a 
      If n <> 1 And n <> 0 Then strOutput = strOutput & ";" & "!Field" & n 
     End If 
    Next n 

的問題是:在變量中存儲的值是文字和我的條件也不會從數據庫中獲取價值「字段(N)!」因爲它沒有讀取它。有什麼辦法將這個文本轉換爲實際的!Field(n)變量可以從數據庫中讀取嗎?

謝謝你的幫助。

+0

想要'a'來存儲'Fields(n)'的名字或'Fields(n)'中存在的值嗎? – HansUp

+0

假設在數據庫中有一個Field1,它的值爲「Hello」。我希望我的Fields(n)獲得「Hello」的值。所以這將是Fields(n)中存在的價值。 –

+0

然後我想你想這樣:'a = rst.Fields(n).Value' – HansUp

回答

1

這是我的問題的答案。謝謝你的幫助。

For n = 0 To numfields - 1 
     a = rst.Fields(n).Value 
     If IsNull(!Field1) = False Then 
      If n = 1 Then strOutput = strOutput & a 
      If n <> 1 And n <> 0 Then strOutput = strOutput & ";" & a 
     End If 
Next n