2017-05-16 15 views
0

私は現在作業中のシリアル番号在庫データベースを持っています。私はsplit()関数を使用してデータを個々のデータポイントに分割していましたが、私が使用するスキャナでは 'return'または 'tab'の区切り文字を使用していますSplit()関数の処理:返品/タブ入力の調整方法

いずれかの方法split()関数の関数??

タブが「次へ」ボタンにジャンプするので、私は信じられないと思います。たとえば、スキャナがテキストボックスに(data1 [タブ]データ2 [タブ]データ3 [タブ])を入力すると、my出力は単に "data1"です...私は、アクセスが 'タブ'ボタンを利用し、テキストボックスから次のアイテムに移動するので、私は信じています。効果的に、それはタブを見て移動するので、最初のセットを過ぎてもデータを表示しません。これを変更する方法はありますか?

第二に、私が作成し、入力リターンやスキャナの区切り文字として入力したキーにスキャナを変更することができます。

DATA1 data2の

DATA3を私のテキストボックスに。

私は、テキストボックスのラインを分析し、情報をそのように保存する(多分...私に各ラインを設定し、以下のコードを実行するために提供されているコードを変更することができますどのような方法があります。

私はこれは理にかなって願っていますスペース区切りデータのために働いていた私の現在のコードはでした:!

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 

答えて

2

私はボタンの横に移動し、タブに関するご質問のコメントを理解することができませんでした、文字列内のタブはちょうど同じであるため、その他の文字。

ハウヴェあなたが求めているのは、タブを含む文字列を分割する方法です。区切り文字としてChr(9)複数)は、あなたが「リターン」の文字について

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

を使用することができ、あなたは、それが

明らか
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)を使用することもできます。

+0

これは、スキャナがテキストデータに「ブロックデータ」をどのように入力するのかという点でより重要でした。 例: データをExcelにアップロードした場合(キーボードの各タブがタブスペースではなく次のセルに移動する)、上記の3つのデータポイントのアップロードデータが実際には3つのスパースセルとしてExcelに入力されます。あなたの参照は、より多くの行に沿っていた:データは、タブのスペースでセル内で区切られた1つのセル内になければならない。 アクセスのエラーではなく、スキャナの入力そのもののクォークのほうが多かったので、私はデリミタとして 's'文字を使用して 'return'設定を使用しました。ありがとう! – TylerStudent

関連する問題