いつもお世話になってます。
全体像としては、CSVデータをaccessにインポートし、
検索フォームで伝票バーコードを読み込んで、
ヒットする番号のデータ詳細を表示する、というのを作っています。
バーコードリーダーではハイフンなしの12桁でしか読み込めないことを後で知って、
テーブル側の伝票番号のハイフンを取りたいと思っています。
〇〇〇〇-〇〇〇〇-〇〇〇〇
現段階の[伝票番号]フィールドは、こういう形の文字列なんですが、
どういう方法でハイフンだけを削除すればいいでしょうか。
また、どの段階で文字列を整頓すればいいのかもちょっと混乱してます。
初心者ゆえに汚いコードですが、以下が読込時の記述です。
'[ファイルを開く]ダイアログボックスを表示する boolResult = dlg.Show If boolResult Then 'CSVを読み込む DoCmd.TransferText acImportDelim, , "T_CSV読込", dlg.SelectedItems(1), True '重複チェック Set rst = dbs.OpenRecordset("T_CSV読込", dbOpenDynaset) Do Until rst.EOF If DCount("伝票番号", "T_CSV保存", "伝票番号 = '" & rst![伝票番号] & "'") > 0 Then MsgBox ("重複データがあります。読込を中止します。伝票番号" & rst![伝票番号]) rst.Close dbs.Close Exit Sub End If rst.MoveNext Loop rst.Close 'テーブルから項目の削除 sTb = "INSERT INTO T_CSV保存 ( 受付日, 伝票番号, 商品区分, サイズ, 個数, 運賃合計 )" _ & "SELECT T_CSV読込.[受付日], T_CSV読込.[伝票番号], T_CSV読込.[商品区分], T_CSV読込.[サイズ]," _ & "T_CSV読込.[個数], T_CSV読込.[運賃合計]," _ & "FROM T_CSV読込;" dbs.Execute sTb dbs.Close '読込テーブルを削除する DoCmd.DeleteObject acTable, "T_CSV読込" Else MsgBox "キャンセルされました。" End If rst.Close dbs.Close End Sub
参考サイトなどでもありがたいです。