
Access2013で、
指定の場所に置いてあるCSVファイルに対して、
「リンクテーブルを作成してソースデータにリンクする」設定にてテーブルを作成し、
このCSVファイルが更新されても最新の状態にてレポートを出力できるようにしています。
しかしこのCSVデータが作成される仕様により、1行目に余計な文字列、2行目に項目名、3行目以降にデータが入っているため、毎回CSVデータの1行目を削除する手作業が発生しています。
2行目以降をリンクするようにするとか、テーブルの3行目以降を取り出すクエリとか方法はありませんでしょうか?
No.2ベストアンサー
- 回答日時:
>2行目以降をリンクするようにするとか、
>テーブルの3行目以降を取り出すクエリとか方法はありませんでしょうか?
D:\ナントカ\コントカ\オリジナル.csv
に余計な一行があったとして下記のコードを標準モジュールに作成し
Sub LineCut1()
Dim fSo As Object
Dim buf As Variant
Dim f As Object
Set fSo = CreateObject("Scripting.FileSystemObject")
With fSo.GetFile("D:\ナントカ\コントカ\オリジナル.csv").OpenAsTextStream
.SkipLine
buf = .readall
.Close
End With
Set f = fSo.OpenTextFile("D:\ナントカ\コントカ\オリジナル_改.csv", 2, True)
f.Write buf
f.Close
End Sub
出来た"D:\ナントカ\コントカ\オリジナル_改.csv"をリンクテーブルとさせればよいのでは?
オリジナル.csv が更新される都度実行する必要がありますが
>2行目以降をリンクするようにするとか、
CSVのようなテキストファイルでは無いかと。
>テーブルの3行目以降を取り出すクエリとか方法はありませんでしょうか?
一旦取り込んでからだとデータ型の変更などが必要になりそうなので
厄介です。
オリジナル.csv の使われ方がイマイチ不明なのですが
上記のSub LineCut1() を、 Function LineCut1() に改名して
autoexec マクロに
プロシージャの実行に、LineCut1()
としても良いかもですね。
No.1
- 回答日時:
>>2行目以降をリンクするようにするとか、テーブルの3行目以降を取り出すクエリとか方法はありませんでしょうか?
Accessのことはほとんど忘れたので、何とも言えませんが、現在の取り込みのプログラム見ないと何とも言えません。
容易に考えるなら、ループ処理かけて取り込む。処理だったりするなら、1回目のループ飛ばせばいい。
とかなんですが、現状の構成が分からないとなんとも。
>>毎回CSVデータの1行目を削除する手作業が発生しています。
まぁ、でも、手作業が許されてるなら、わざわざ、今動いてるプログラムいじって、
「動かなくなる可能性」というリスクを背負う意味がない。
「CSVデータの一行目を削除する」という、バッチ処理でも、スクリプト作成して、実行するほうが、よっぽど楽かな。と思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access インポート
Access(アクセス)
-
テーブルリンク エクセルの4行目を先頭行にしたい
Access(アクセス)
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
Access での 「年」 のみの和暦変換について
Windows Vista・XP
-
6
アクセスの初心者の質問です(空白の場合に他のフィールドを表示させたい。)
Access(アクセス)
-
7
accessへエクセルの複数のシートのインポートの仕方
Access(アクセス)
-
8
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
9
ACCESSにEXCELからインポートした時に先頭に空列ができる
Excel(エクセル)
-
10
Accessの桁区切りについて教えてください。
Access(アクセス)
-
11
アクセスのレポートのヘッダーを2ページ以降にもつけるには?
Access(アクセス)
-
12
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
13
ACCESS で 項目名を出力せずにエクスポートしたい
その他(データベース)
-
14
エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。
Access(アクセス)
-
15
Accessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。
Access(アクセス)
-
16
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
17
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
18
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
19
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
20
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グループ単位にCSVファイル...
-
ACCESS テーブルに2行目から取...
-
アクセスマクロで、csv データ...
-
(ACCESS)複数mdbからのデータ...
-
C#でaccdbファイルのテーブルの...
-
エクセルからアクセスにインポ...
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
Data Pump で大量データインポ...
-
お知恵をお貸しください。
-
INDEXの無効化
-
DELETE文でFROM句を省略した場合
-
datapumpの実行方法について
-
シノニムってエイリアスのエイ...
-
TruncateしたテーブルへのInser...
-
CLOB型へのINSERT
-
Viewにインデックスは張れ...
-
RDBのテーブル種類の違い
-
アナライズとインデックス作成...
-
異なるスキーマからビュー作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(ACCESS)複数mdbからのデータ...
-
Access2019でフォームから入力...
-
ACCESS テーブルに2行目から取...
-
エクセルからアクセスにインポ...
-
アクセス初心者に注意点を教え...
-
他ファイルのテーブルの情報を...
-
テーブルのリンク(ACCESS)
-
アクセスマクロで、csv データ...
-
データ読込時のタイムアウト
-
C#でaccdbファイルのテーブルの...
-
外部MDBのテーブル取込み
-
グループ単位にCSVファイル...
-
VBSのデータベース操作で、複数...
-
Access(ファイルの管理、イン...
-
ACCESSとエクセルのリン...
-
jspのプログラムについて
-
VBAでADOの質問です。かなり困...
-
Accessの接続先をSQLサーバ...
-
csvをSQLiteに取り込むと文字化...
-
アクセスのテーブルのリンクに...
おすすめ情報