
ACCESS2000でExcelから特定のフィールドをインポートしたいのですが、
うまくいきません。
Excelはフィールド数が254フィールドもあり、
テーブルにインポートしたいフィールド数は30フィールドです。
Excelでは特定フィールドをインポートすることができないようなので、
一時テーブルに全てのフィールドをインポート後
必要なフィールドだけ取り出そうとやってみたのですが、
以下のコードを実行すると、13のフィールドが「解析不能なフィールド」と
インポートエラーが出てしまいます。
DoCmd.TransferSpreadsheet acImport, 8, "TEMPテーブル", "c:\data.xls"
また、Excelファイルをcsv形式に変換して、インポート定義を作る方法も
やってみたのですが、インポート定義作成時に
「フィールド'ID'はインポートまたはエクスポートしようとしている
テーブルまたクエリに存在しません」
というエラーが出てしまいます。
どうしたらインポートできるでしょうか。よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
CSVファイルの項目(フィールド)の1部をCSVファイルにするコーディングを作りました。
あとMDBに読みこませるのは略しましたが、お望みなら別途。DOS・BASIC的ステートメントを使っていますが
よろしく。
(1)エクセルファイルが開いているとして
「ファイル」「名前を付けて保存」をクリック。
「ファイルの種類」はCSV
「ファイル名」は「13年家計簿.csv」
「保存」をクリック
c:\My Documents\13年家計簿.csvが出来る。
(2)新規Book1を開きツール-マクロ-VBE
そして挿入-標準モジュール
下記を貼り付ける。
(3)Sub test01()
Open "c:\My Documents\13年家計簿.csv" For Input As #1
Open "c:\My Documents\13年家計簿p.csv" For Output As #2
a = Array(0, 1, 2, 3, 4, 6, 999, 0, 0, 0, 0, 0, 0, 0)
While Not EOF(1) = -1
Line Input #1, r
' MsgBox r
s = 1
k = 0
m = 1
t = ""
p1:
p = InStr(s, r, ",")
If p = 0 Then p = Len(r) + 1
rp = Mid(r, s, p - s)
' MsgBox rp
s = p + 1
pm = s
k = k + 1
If a(m) = k Then
t = t & rp & ","
m = m + 1
End If
If p = Len(r) + 1 Then GoTo p2
GoTo p1
p2:
' MsgBox t
Print #2, Mid(t, 1, Len(t) - 1)
Wend
Close #1
Close #2
End Sub
(4)実行する。
c:\My Documents\13年家計簿p.csvが出来る。
上例ではaのarrayに指定した、第1, 2, 3, 4, 6フィールドのみ拾い、他は捨てたCSVファイルが出来る。
aのarrayの中の数字で、残したいフィールドが左より
第何番目かをテーブル化してください。昇順のこと。
(5)解説
s---レコード内での毎回「,」を探し始める位置。第何文字目から文字検索をはじめるか。Instrの説明を本で見てください。
p---レコード内で「,」の見つかった位置。先頭から何文字目に見つかったか。
m---a配列の第何要素を見ているかのポインタ数字。
k---第何番めのフィールドかを表す数字。
r---読みこんだ1レコード(1行)をいれる文字列変数。
・1フィールドづつきりだしa配列にある、番目のフィールドは拾い、無ければ捨てて、フィールド集合を文字列として再構成し、#2に書き出している。
10列100行程度のデータでテスト済み。
No.2
- 回答日時:
フィールド名に「ID」はまずいような気がします。
別の名前に変えても同じでしょうか?特にAccessの予約語が含まれるようなフィールド名もやめた方が良いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルメーカーのCase関数で
-
ACCESSでの文字数カウント
-
差込印刷での全角表示について...
-
Access Nz関数の合計値の小数点...
-
海外ドラマ『プリズン・ブレイ...
-
Access クエリ上で表示させた割...
-
ニンニク料理食べた翌日の屁の...
-
フィールドの更新がない
-
エクセルにおける「フィールド...
-
レコード数のカウント
-
Acsess アクセス のクエリで...
-
アクセスの操作について
-
カレントフィールドの、青い枠...
-
実行時エラー '3464': 抽出条件...
-
Accessのハイパーリンクをクリ...
-
ACCESSのデータに自動で半角ス...
-
エクセルデータをワードで差し...
-
sqlserverにはグループ集計のfi...
-
Wordの差込印刷時間の表示について
-
クエリで割り算する方法を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
ACCESSでの文字数カウント
-
エクセルにおける「フィールド...
-
エクセルデータをワードで差し...
-
クエリで割り算する方法を教え...
-
Acsess アクセス のクエリで...
-
Accessのハイパーリンクをクリ...
-
ACCESSで条件によってフォーム...
-
Accessの日本語フィールド名
-
フィールドの更新がない
-
Word差し込み印刷のハイフン(...
-
ACCESSのデータに自動で半角ス...
-
「Access2007」でレポートが作...
-
Access クエリの編集について
-
実行時エラー '3464': 抽出条件...
-
クエリーで、全角混じりデータ...
-
ACCESS 重複データを1...
-
アクセスでのテキストデータ取...
-
奇数・偶数ページごとに差し込...
-
sqlserverにはグループ集計のfi...
おすすめ情報