我在访问表字段中有此记录
93; 25; 114; 734; 4019
我需要将其分为5列
我用它来检索第一部分:Stars1:Left([Stars],InStr([Stars],“;”) - 1)
请帮忙。
由于
答案 0 :(得分:1)
在查询中使用Split()可以轻松处理表格字段" Stars"你可以创建一个新函数,它接受一个额外的索引参数并返回一个字符串而不是一个Array():
Public Function SplitForQuery(s, Delimiter As String, i As Integer)
Dim x() As String
If Not IsNull(s) Then
x = Split(s, Delimiter)
SplitForQuery = x(i)
End If
End Function
要在查询中使用它,您需要执行以下操作:
SELECT SplitForQuery([Stars],";",0) AS Value1,
SplitForQuery([Stars],";",1) AS Value2,
SplitForQuery([Stars],";",2) AS Value3
FROM Table1;
当然,您可以根据需要添加任意数量的值,如果需要在另一个表中插入值,则可以轻松地将此查询转换为INSERT语句。
答案 1 :(得分:0)
使用分割功能。
Dim rst As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT Stars FROM your_table where ..." ' your where clause
Set rst = CurrentDb.OpenRecordset(strSQL)
Dim TestArray() As String = Split(rst!Stars,";")
'TestArray holds {"93","25","114","734","4019"}
'TestArray(0) holds "93"
答案 2 :(得分:0)
公共函数GetFullTextItem(_ ByVal strFullText As String,_ ByVal intItem As Integer)As String
On Error Resume Next GetFullTextItem = Split(strFullText,&#34 ;;")(intItem)
结束功能
- Star1:GetFullTextItem([Stars],0)等