2016-01-19 88 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