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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Access2016のExcelインポートの機能のことで教えてください 1 2022/09/11 14:58
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
3分あったら何をしますか?
カップ麺にお湯を入れて、できるまでの3分間で皆さんは何をしていますか?
-
2024年に成し遂げたこと
今年も残すところわずか。 皆さんが今年達成したことを教えていただきたいです。 どんな小さなものでも構いません。
-
何歳が一番楽しかった?
自分の人生を振り返ったとき、何歳のころが一番楽しかったですか? 子供の頃でしょうか、それとも大人になってからでしょうか。
-
我が家のお雑煮スタイル、教えて下さい
我が家のお雑煮スタイル、教えて下さい! (お汁)味噌汁系? すまし汁系? (お餅)角餅? 丸餅? / プレーンなお餅? あんこ餅?
-
accessでexcelデータを一部変換してインポートするVBAコードを教えてください。
Access(アクセス)
-
ACCESS クエリで、グループ化したものをカウントしたい
その他(データベース)
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
-
4
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
アクセスのクエリでパラメータ...
-
クエリで割り算する方法を教え...
-
ToV、サブイベント・犬マップの...
-
Accessのハイパーリンクをクリ...
-
ACCESSで複数の写真ファイルを...
-
Access Nz関数の合計値の小数点...
-
datetime型のUpdate文
-
ACCESSで条件によってフォーム...
-
「Access2007」でレポートが作...
-
日付型のフィールドに空白を入...
-
アクセスで追加した項目に全て...
-
クエリ上でフィールド名が2つ...
-
ACCESSユニオンクエリから新テ...
-
Accessで、複数行を、別...
-
access追加クエリ実行時の重複...
-
ACCESS2000/リンク先DBのテーブ...
-
VBA 別シートの同じ日付の欄に...
-
ACCESS 長い数字のクエリをする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
エクセルデータをワードで差し...
-
フィールドの更新がない
-
Word差し込み印刷のハイフン(...
-
クエリで割り算する方法を教え...
-
ACCESS 重複データを1...
-
ACCESSのデータに自動で半角ス...
-
Accessのハイパーリンクをクリ...
-
Null値を並べ替えで・・・
-
Acsess アクセス のクエリで...
-
ACCESSで条件によってフォーム...
-
実行時エラー '3464': 抽出条件...
-
sqlserverにはグループ集計のfi...
-
ACCESSでフィールド名の変更(...
-
【Access】レポートでテキスト...
-
クエリーで、全角混じりデータ...
-
エクセルのピポットテーブルで...
-
奇数・偶数ページごとに差し込...
-
列を移動させるvbaコードを教え...
おすすめ情報