Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何连接子字符串以定义整型变量?_Vba_Ms Access - Fatal编程技术网

Vba 如何连接子字符串以定义整型变量?

Vba 如何连接子字符串以定义整型变量?,vba,ms-access,Vba,Ms Access,我试图将两个子字符串合并为一个定义整数变量的子字符串 例如: Dim ACTGPA as Integer Dim ACTGPB as Integer Dim ACPrio as Integer ACTGPA = 5 ACTGPB = 10 在大量代码之后,我有一个循环,它从包含一个名为“TGP_a”或“TGP_B”的数字列的记录集中选择值 Set rs4=db.OpenRecordset(“从tbl_教学大纲中选择*,其中Mis_Name=”&strMisName&“”) 作为变体的Dim

我试图将两个子字符串合并为一个定义整数变量的子字符串

例如:

Dim ACTGPA as Integer
Dim ACTGPB as Integer 
Dim ACPrio as Integer

ACTGPA = 5
ACTGPB = 10
在大量代码之后,我有一个循环,它从包含一个名为“TGP_a”或“TGP_B”的数字列的记录集中选择值

Set rs4=db.OpenRecordset(“从tbl_教学大纲中选择*,其中Mis_Name=”&strMisName&“”)
作为变体的Dim项目
对于rs4.字段中的每个项目
如果item.Name=“TGP\U A”或item.Name=“TGP\U B”,则
如果Nz(rs4(item.Name).Value“”)>0,则
如果strACCon1=“”,则
strACCon1=项目名称
如果结束
如果结束
如果结束
下一项
我想将ACPrio值设置为ACTGPA或ACTGPB的值,具体取决于在循环中选择的项目名称

使用replace I从项目名称中删除u,以定义ACTGPA(或B)

我明白了

错误13,类型不匹配

可能是因为它认为我正在尝试将ACPrio(integer)设置为字符串,但我正在尝试编写整数ACTGPA(或ACTGPB)

应与此相同:

ACPrio = ACTGPA 'eg. settings the ACPrio value to that of ACTGPA (or ACTGPB), which is 5 (or 10).

不能使用字符串按名称引用变量(或其值)

但您可以使用集合的名称向集合中添加必要的值,然后稍后按名称访问它们,如本示例中所示:

Public子示例()
作为整数的Dim ACTGPA
作为整数的Dim ACTGPB
Dim ACPrio作为整数
ACTGPA=5
ACTGPB=10
'通过添加具有名称的值来准备集合:
收藏
Set col=新集合
第5栏,“ACTGPA”
第10栏,“ACTGPB”
像细绳一样暗淡的斜纹
'设置为测试“TGP_A”:
strACCon1=“TGP_A”
ACPrio=col(“AC”和“替换”(斜纹布1、”、“”)
调试。打印ACPrio
'设置为测试“TGP_B”:
strACCon1=“TGP_B”
ACPrio=col(“AC”和“替换”(斜纹布1、”、“”)
调试。打印ACPrio
端接头
输出是

5
10

如果符合您的概念和总体代码,您现在可以完全忽略变量
ACTGPA
ACTGPB

您不能分配从字符串计算的变量名。我建议使用集合存储这些值,以便在运行时按名称访问它们。我现在将用样品。
5
10