如何查询由函数生成的分隔值列表 (Access)
How to query a delimited value list generated by function (Access)
我有一个模块 sub getFileList(),它生成一个输出以下内容的值列表:
10347 C;12-0605 TPX;12-0713 tpx;13-0915 tpx;13-4304 tpx;1345 c;1375 c;14-4201 tpx;
我想针对此函数构建查询。
在 SQL 视图中,我得到以下内容:
SELECT getFileList("\wwdata\dev\_commons\color","*.jpg") as colors;
现在值列表都在一条记录中。
Colors
10347 C;12-0605 TPX;12-0713 tpx; etc....
什么 function/command 可以使它成为一个列表,每个分隔的项目作为一条记录。
期望的输出。
Colors
10347 C
12-0605 TPX
12-0713 tpx
13-0915 tpx
13-4304 tpx
1345 c
etc....
提前致谢。
就我个人而言,我更愿意将该分隔字符串解析为 Access 中的实际 table,然后 运行 您想要的任何查询。
下面假设已经有一个名为 "tblColors" 的空 table 和一个名为 "Colors" 的 table 短文本字段,这将是解析每个字段的目标“;”将字符串中的项目分隔到 table:
中它自己的记录中
Private Sub Command0_Click()
Dim myDelimStr As String
Dim arrayToParse As Variant
Dim i As Integer
Dim arrayMsg As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tblColors")
myDelimStr = "10347 C;12-0605 TPX;12-0713 tpx;13-0915 tpx;13-4304 tpx;1345 c;1375 c;14-4201 tpx;"
arrayToParse = Split(myDelimStr, ";", -1, vbTextCompare)
For i = 0 To UBound(arrayToParse) - 1
rs.AddNew
rs("Colors").Value = arrayToParse(i)
rs.Update
arrayMsg = arrayMsg & arrayToParse(i) & vbCrLf
Next i
Debug.Print "The array has parsed the following to the Colors table: " & vbCrLf & arrayMsg
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
您可能还想将 myDelimStr
设置为 myDelimStr = getFileList("\wwdata\dev\_commons\color","*.jpg")
。
我有一个模块 sub getFileList(),它生成一个输出以下内容的值列表:
10347 C;12-0605 TPX;12-0713 tpx;13-0915 tpx;13-4304 tpx;1345 c;1375 c;14-4201 tpx;
我想针对此函数构建查询。
在 SQL 视图中,我得到以下内容:
SELECT getFileList("\wwdata\dev\_commons\color","*.jpg") as colors;
现在值列表都在一条记录中。
Colors
10347 C;12-0605 TPX;12-0713 tpx; etc....
什么 function/command 可以使它成为一个列表,每个分隔的项目作为一条记录。
期望的输出。
Colors
10347 C
12-0605 TPX
12-0713 tpx
13-0915 tpx
13-4304 tpx
1345 c
etc....
提前致谢。
就我个人而言,我更愿意将该分隔字符串解析为 Access 中的实际 table,然后 运行 您想要的任何查询。
下面假设已经有一个名为 "tblColors" 的空 table 和一个名为 "Colors" 的 table 短文本字段,这将是解析每个字段的目标“;”将字符串中的项目分隔到 table:
中它自己的记录中Private Sub Command0_Click()
Dim myDelimStr As String
Dim arrayToParse As Variant
Dim i As Integer
Dim arrayMsg As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tblColors")
myDelimStr = "10347 C;12-0605 TPX;12-0713 tpx;13-0915 tpx;13-4304 tpx;1345 c;1375 c;14-4201 tpx;"
arrayToParse = Split(myDelimStr, ";", -1, vbTextCompare)
For i = 0 To UBound(arrayToParse) - 1
rs.AddNew
rs("Colors").Value = arrayToParse(i)
rs.Update
arrayMsg = arrayMsg & arrayToParse(i) & vbCrLf
Next i
Debug.Print "The array has parsed the following to the Colors table: " & vbCrLf & arrayMsg
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
您可能还想将 myDelimStr
设置为 myDelimStr = getFileList("\wwdata\dev\_commons\color","*.jpg")
。