处理 Split() 函数:如何针对 return/tab 输入进行调整

Dealing with Split() function: how to adjust for either return/tab input

我目前有一个正在处理的序列号库存数据库。我使用带有 space 分隔符的 split() 函数将数据分隔成单独的数据点,但是我使用的扫描仪使用 'return' 或 'tab'

分隔符

有没有办法在 split() 函数中使用这些函数?

我不相信标签是可能的,因为标签跳转到 'next' 按钮...所以当扫描仪输入例如 (data1 [tab] data2 [tab] data3 [tab]) 到文本框,我的输出只是 "data1"... 我相信,因为然后访问使用 'tab' 按钮,只是从我的文本框移动到下一个项目。实际上,它甚至不会显示第一组之后的任何数据,因为它会看到选项卡并继续前进。有什么办法可以改变这个吗?

其次,我可以将扫描仪更改为输入 return 或回车键作为扫描仪分隔符,创建:

数据1 数据2 数据 3

在我的文本框中。

有什么方法可以改变提供的代码来分析文本框的行并以这种方式存储信息(也许...将每一行设置为 i 然后 运行 下面的代码。

我希望这是有道理的!我当前用于 space 分隔符数据的代码是:

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

我无法理解你的问题关于制表符移动到下一个按钮的评论,因为字符串中的制表符与任何其他字符一样。

但是,如果您要问的是如何拆分包含制表符(即 Chr(9)s)作为分隔符的字符串,则可以使用

InputString = Split(InputName, vbTab)  ' to split on Chr(9)

对于 "return" 个字符,您可以使用以下选项之一,具体取决于 "return" 个字符的类型

InputString = Split(InputName, vbCr)   ' to split on Chr(13)
InputString = Split(InputName, vbLf)   ' to split on Chr(10)
InputString = Split(InputName, vbCrLf) ' to split on Chr(13)&Chr(10)

显然,如果您愿意,您也可以使用实际的 Chr(x) 而不是各种常量。