引用变量作为值 - VB6

时间:2012-02-09 19:41:12

标签: vb6

是否可以使用变量值作为参考变量的名称?例如:

Dim PersonName As String
PersonName = recordset("PersonName")

而不是PersonName的值是人名,例如JoeBloggs;引用变量本身就是JoeBloggs,即joebloggs = whatever。

我已经四处寻找答案,因为我认为这是一个常见问题;但是我找不到一个。

1 个答案:

答案 0 :(得分:1)

@ w0051977别担心,你的需要(如果我理解正确的话)确实有意义,我也希望这样做一次。如果您了解它,您希望能够使用字符串定义变量名称吗?比如,如果你的数据库中有一个“JohnDoe”,那么你想把你的变量名称设置为一个名为JohnDoe的字符串,我是对的吗?如果这是正确的,你不能直接在VB6中执行此操作,但是,在vb.net中我们有反射,所以有一些方法可以读取变量的名称并将其作为字符串返回(虽然我明白你想要做相反的事情)。因此,在vb6中执行此操作的最佳方法是以下...

Dim c As Collection ' where c is our collection to make it short-hand/less typing.
Set c = New Collection ' you could have done As New Collection instead but this is better, trust me.

c.Add "MyValue1", "JohnDoe" ' sets a variable named JohnDoe with value "MyValue1"
c.Add "MyValue2", "JessKay" ' remember, these are stored as Variants, but can use as string.

现在打电话给它......

MsgBox c("JohnDoe") ' this simple.

所以c(“JohnDoe”)将返回您为此变量名设置的值中的任何内容。

同样的小鸡故事,说你想设置另一个变量与女孩的价值...

Dim abc As String
abc = c("JessKay") ' thats all :)  abc will equal "MyValue2"

此外,记住存储在VB6集合中的任何内容将始终存储为Variant,因此占用的内存比String少。但是,您仍然可以将其用作字符串,数字或其他任何内容。

酷?

让我知道您的需求是否真的不同,我误解了您的问题。感谢。