我在访问中有一个名为“ RZ6”的表,其中有一个名为[GRID REF]的字段。 [GRID REF]的值如下所示: “ 575583/151011”
现在,我想使用“ /”作为分隔符,并将“ 575583”和“ 151011”分成单独的字段,理想情况下分别称为“ X”和“ Y”。
我有168条上述记录,需要分开。全部在同一个[GRID REF]字段中。可以自动完成吗?
答案 0 :(得分:2)
这有点麻烦,但是您可以添加一个VBA函数,然后从查询中调用它。
Public Function Splitter(strFieldValue As String, intElement As Integer) As Variant
Dim varTmp As Variant
varTmp = Split(Replace(strFieldValue, " ", ""), "/")
If UBound(varTmp) = 0 Then
ReDim Preserve varTmp(UBound(varTmp) + 1)
End If
Splitter = varTmp(intElement)
End Function
因此,请删除前面的所有空格,然后尝试以正斜杠分隔。我为返回的两个元素添加了基本检查,但是您可以继续进行此检查以强化逻辑。
在查询中,您将进行两次调用以获取文本的第一部分和第二部分:
SELECT [GRID REF]
, Splitter([GRID REF], 0) AS Easting
, Splitter([GRID REF], 1) AS Northing
FROM RZ6;
答案 1 :(得分:0)
我已经按照Vincent G的注释在sql中进行了解决。
SELECT [GRID REF], trim(left([GRID REF],(instr([GRID REF],"/")-1))) as Easting ,
trim(Right(Trim([GRID REF]),(len([GRID REF]) - instr([GRID REF],"/")))) as Northing
from RZ6 ;
如果有人有另一种方法,请告诉我。