No.2
- 回答日時:
今のところ答えが載りませんね。
今後良い答えが上がらない時は下記VBAを実行してみてください。
Option Compare Database
Sub test01()
Dim d(100)
Dim dbs As Database
Dim rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Data1")
rst.MoveFirst
'-----
Open "c:\My Documents\aa9.txt" For Input As #1
While Not EOF(1)
Line Input #1, a
'----項目切りだし->配列d(j)へセット
s = 1: j = 1
p01:
p = InStr(s, a, ",")
If p = 0 Then
d(j) = Mid(a, s, Len(a) - s + 1)
GoTo p02
Else
d(j) = Mid(a, s, p - s)
s = p + 1
j = j + 1
End If
GoTo p01
'------------mdb更新
p02:
rst.AddNew
rst![フィールド1] = d(1)
rst![フィールド2] = d(2)
rst![フィールド3] = d(3)
rst.Update
rst.MoveNext
'------------
Wend
'---終了
Close #1
rst.Close
End Sub
アクセスのモジュールへ貼りつけて、
インプットファイル名=テキストファイル
="c:\My Documents\aa9.txt"のところ
アウトプットファイル名=アクセスのテーブル名
=("Data1")のところ
アクセステーブルのフィールド名
rst![フィールド1] = d(1)
rst![フィールド2] = d(2)
rst![フィールド3] = d(3)
のところ。フィールドの名前と連ねる数(項目数)
を自分の場合に合わせて変更のこと。
その後実行する。
(元データ)私の場合のデータ
1, , 123
23, 234, 大阪
123 , 23, kyouto
(結果)OKWEBの表示は左へ詰まったりしますが、実際は正しくなると思います。
IDフィールド1フィールド2フィールド3
23 1 123
24 23 234 大阪
25123 23 kyouto
No.1
- 回答日時:
インポートの仕様ですかね、空白は省かれてしまうようでうす。
で、解決するにはテキストファイルをバイナリーで読み込んで1文字ずつ処理をするということになります。
以下にサンプルコードを入れておきましたので参考にしてみてください。
一部配列を使用していますが、2項目であれば配列でなくても問題ありません。
"取り込みデータ:項目1、項目2"というテーブルを作成しておいてください。
この関数をデバッグウィンドウなどから呼び出してやれば実行できます。
inText("c:\textdata.txt")
コード
Sub inText(FileName As String)
Dim Bdata As Byte, RecordText As String, RecordData(100) As String, i, j
'格納するテーブルを開きます
Dim cdb As Database
Dim rst As Recordset
Set cdb = CurrentDb
Set rst = cdb.OpenRecordset("取り込みデータ")
'読み込むファイルをバイナリーモードで開きます
Open FileName For Binary As #1
i = 1
j = 1
While (EOF(1) = False)
'バイナリーでの読み込み
Get #1, i, Bdata
'改行コードとカンマの検出
If Bdata = 13 Or Bdata = 44 Then
'データの分割
If Bdata = 44 Then
RecordData(1) = RecordText
RecordText = ""
Else
'テーブルへの書き込み
rst.AddNew
rst![項目1] = RecordData(1)
rst![項目2] = RecordText
rst.Update
RecordText = ""
End If
'バイナリーで読み込んだデータのテキスト化
ElseIf Bdata > 31 Then
RecordText = RecordText + Chr(Bdata)
End If
i = i + 1
Wend
Close #1
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Access(アクセス) Accessのデータ型の日付/時刻型について 2 2023/02/14 07:40
- その他(スマートフォン・携帯電話・VR) PC版LINデータの移行は可能ですか? 2 2023/08/18 06:25
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- その他(職業・資格) データ分析実務スキル検定(Citizen級)学習方法 1 2022/12/18 18:44
- HTML・CSS GETをPOSTに変更したところ 送信 不能です。 1 2022/04/10 17:31
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- 格安スマホ・SIMフリースマホ 格安SIMカードについて。イオンモバイルの月のデータを使い切った後、ものすごくスピードが遅いです。L 6 2023/02/09 06:56
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL→ACCESSインポートでセル...
-
ACCESSで改行コードを削除する方法
-
ACCESS フォームに入力できる文...
-
エクセルのデータをアクセスに...
-
アクセスのオートナンバーが飛...
-
アクセス(データシートビュー)...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
SQL文で パラメータが少なすぎ...
-
Accessを開きなおすとテキスト...
-
Accessで、1つの項目に複数の...
-
クロス集計クエリの結果をテー...
-
アクセスで追加した項目に全て...
-
アクセスのエラー「クエリには...
-
2つのテーブルに共通するレコ...
-
Accessのフォームのテキストボ...
-
【エクセル】指定した日付に一...
-
エクセルデータをワードで差し...
-
アクセス・テーブルの改行につ...
-
アクセス: フォーム上で計算...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのテーブルのデータで、...
-
エクセルのデータをアクセスに...
-
EXCEL→ACCESSインポートでセル...
-
Accessチェックボックス 一度で...
-
ACCESS フォームに入力できる文...
-
アクセスのオートナンバーが飛...
-
ACCESSで改行コードを削除する方法
-
郵便番号の-(ハイフン)等をま...
-
ACCESSで行数を増やすには?
-
Access2003でフィールドのデー...
-
Access2000 テキストデータの...
-
アクセス2000で固定長フィール...
-
ACCESSのカスタマーバーコード...
-
【ACCESS】文字列を抜き出したい
-
ACCESS 検索置換 にデ...
-
【Win】ファイルメーカー⇔エ...
-
アクセス(データシートビュー)...
-
エクセルの重複データについて...
-
エクセルのデータをアクセスへ...
-
差込印刷での全角表示について...
おすすめ情報