Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
Ms access 拆分表中的访问字段名称字符串_Ms Access_Vba - Fatal编程技术网

Ms access 拆分表中的访问字段名称字符串

Ms access 拆分表中的访问字段名称字符串,ms-access,vba,Ms Access,Vba,我试图获取表中的字段名字符串,然后在一个字符后拆分子字符串。我有多个带计数子字符串的字段,例如ChuckQ1,然后下一个字段是ChuckQ2,然后是JawQ1,等等 然后,我尝试用子字符串填充名为strarray1的数组。我把它分了两次以避免重复。请看下面 基本示例: 字段名TestQ1,我希望1作为拆分子字符串。如果它是类型的第一个,而不是2或3…,那么第二个拆分就是获取实际的名称类型测试 我得到类型不匹配@fldStr=SplitfldStr,Q,1。请注意,第一个字段名为ID,tables

我试图获取表中的字段名字符串,然后在一个字符后拆分子字符串。我有多个带计数子字符串的字段,例如ChuckQ1,然后下一个字段是ChuckQ2,然后是JawQ1,等等

然后,我尝试用子字符串填充名为strarray1的数组。我把它分了两次以避免重复。请看下面

基本示例: 字段名TestQ1,我希望1作为拆分子字符串。如果它是类型的第一个,而不是2或3…,那么第二个拆分就是获取实际的名称类型测试

我得到类型不匹配@fldStr=SplitfldStr,Q,1。请注意,第一个字段名为ID,tables prim key。这会是一个问题吗,因为它的字符串中没有Q?或者字段名不是字符串类型

代码

作为整数的Dim f 作为字符串的Dim fldStr Dim数据库作为DAO.Database Set db=CurrentDb 作为DAO.Recordset的Dim rs1 设置rs1=db.OpenRecordsetSelection 模糊fld为刀场 f=1 对于rs1.字段中的每个fld fldStr=fld.Name fldStr=拆分fldStr,Q,1 如果fldStr=1,则 fldStr=fld.Name fldStr=SplitfldStr,Q,0 strArray1f=fldStr f=f+1 其他的 如果结束 下一个 设置fld=无
我相信你还没有完全理解Split的作用。拆分在分隔符上拆分字符串,并提供一个数组。输入0和1的第三个参数是该数组中的最大元素数,其中最后一个元素包含字符串的未拆分剩余部分。0是0个元素,因此返回空数组;1是1个元素,因此返回包含整个字符串的数组

如果要返回数组的特定元素,可以使用以下命令:SplitfldStr,Q1

在您的代码中实现:

作为整数的Dim f 作为字符串的Dim fldStr Dim数据库作为DAO.Database Set db=CurrentDb 作为DAO.Recordset的Dim rs1 设置rs1=db.OpenRecordsetSelection 模糊fld为刀场 f=1 对于rs1.字段中的每个fld fldStr=fld.Name fldStr=拆分fldStr,Q1 如果fldStr=1,则 fldStr=fld.Name fldStr=拆分fldStr,Q0 strArray1f=fldStr f=f+1 其他的 如果结束 下一个 设置fld=无 请注意,本部分:

fldStr=fld.Name fldStr=拆分fldStr,Q0 对我来说毫无意义。为什么要更改fldStr,然后立即再次更改它