Sql MS访问字段拆分

Sql MS访问字段拆分,sql,ms-access,Sql,Ms Access,我正在尝试将以下数据字段拆分为单独的列,如使用“:”分隔符 实际数据 DSLAM name:Port address M301-41-301_DDOW3:1-0-7-1 结果 DSLAM name Port address M301-41-301_DDOW3 1-0-7-1 我正在使用以下脚本,但缺少运算符语法错误 UPDATE 14052017 SET NodeName= left(DSLAMname:Port address, InStr( DSLAMname: Port ad

我正在尝试将以下数据字段拆分为单独的列,如使用“:”分隔符

实际数据

DSLAM name:Port address 
M301-41-301_DDOW3:1-0-7-1
结果

DSLAM name  Port address
M301-41-301_DDOW3   1-0-7-1
我正在使用以下脚本,但缺少运算符语法错误

UPDATE 14052017 SET

NodeName= left(DSLAMname:Port address, InStr( DSLAMname: Port address, ":") -1),
PortAddress= Mid(DSLAMname:Port address, InStr( DSLAM name: Port address, ":") +1);

请在此指出错误或更好的解决方案

您可以制作一个函数:

Public Function SplitValue(ByVal value_ As Variant, ByVal index As Long) As String
    If Not IsNull(value_) Then SplitValue = Split(value_, ":")(index)
End Function

'....

UPDATE 14052017 SET
NodeName= SplitValue([DSLAMname:Port address], 0),
PortAddress= SplitValue([DSLAMname:Port address], 1);

首先在字段名周围使用方括号:
NodeName=left([DSLAMname:Port address],InStr([DSLAMname:Port address],“:”)-1)
。Access中任何包含空格或特殊字符的字段都应该用方括号括起来。我使用了方括号,现在没有syntex错误,但现在它在“DSLAMname:端口地址”中要求“输入参数值”。询问参数值的原因是什么