更改Access以使用tab / return作为split()函数

时间:2017-05-31 07:08:27

标签: vba

Dim InputString() As String
Dim i As Integer
InputString = Split(InputName, "    ")
For i = 0 To UBound(InputString)
    CurrentDb.Execute "INSERT INTO InventoryInputT(InputID) VALUES ('" & InputString(i) & "')"
Next i

因此,

的条目
data1 data2 data3

在表单的文本框中导致表输入

record1   data1
record2   data2
record3   data3

哪个是理想的。我们购买的扫描仪使用的是'标签'分隔符或“返回”...它也可以使用“添加跳线”#39;但我不知道这意味着什么,它似乎与返回(表面上)相似

我有什么方法可以将我的代码改为:

1)使用tab功能 - 这里的问题是如果扫描仪中的数据表示为:' data1 [tab] data2 [tab] data3'

然后我将其上传到文本框,访问似乎将数据读取为: - 输入' data1' -execute [tab](这意味着它从我的文本框导航到下一个按钮) ...因为它已经从文本框中导航出来,所以它无法再输入数据2'在文本框中...因此我不知道这是否可以解决

2)我可以使用返回设置,因为它允许每个数据条目在文本框中具有自己的唯一行 - 我可以调整我的代码,以便将文本框的每一行设置为值i,然后运行我的执行代码吗?例如:

输入

数据(显示在文本框中)

data1
data2
data3

获取代码将其读作:

data1 = line1 = i=0 - execute to table
data2 = line2 = i=1 - execute to table
data3 = line3 = i=2 - execute to table

或者其他什么东西?

1 个答案:

答案 0 :(得分:0)

Split()函数的第二个参数称为Delimiter。这可以设置为单个空格,多个空格(如示例中所示)或甚至是制表符(VBA中的vbTab)。它非常灵活。