人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【500pt以上】Accessのオートナンバーを復活させる方法の質問です。Access2007、Vistaです。

Access で管理していた顧客リストを更新する際、作業の利便性からExcelにエクスポートして更新してしまい、インポートした後、IDの再オートナンバー化ができません。IDには飛びがあり、ふり直すと番号が変わってしまいます。IDを元に他システムと紐付ているため、他システムにも影響が出ます。データは6000件程度です。

1番良いのはオートナンバーの復活方法がわかることです。
それが難しいようでしたら、元のAccessのDBは残っていますので、Excelの更新データをそこにオートナンバーを生かしたまま反映させる方法も考えています。更新で行った作業は、担当者の役職や住所の変更に加え、データの削除、フィールドの削除も含まれます。クエリで見た目だけ整えるより、テーブルを作成したいです。
それも不可能であれば、他システムの書き換えも考えています。他システムもAccessです。そちらは300件程度です。新しく振ったオートナンバーと紐付されている旧IDを、うまく書き換えることができれば解決です。

解決した場合、500pt以上お支払します。(解決しなかった場合は数十ポイント)

●質問者: lavieboehme
●カテゴリ:コンピュータ
✍キーワード:access dB Excel VISTA インポート
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● hijk05
●4ポイント

(1)EXCELのデータにオートナンバーの番号があるのなら

Accessのオートナンバーの属性を数値型にへんこうして、そのままインポートして

インポートが終わってから、数値型からオートナンバー型に変更する

◎質問者からの返答

前提条件として書き忘れていましたが、インポートデータのデータ型をオートフィルタにしようとすると「テーブルに一度データを入力すると、データを入力していないフィールドの場合でも、フィールドのデータ型をオートナンバー型に変更することはできません」というエラーが出るのです。

Excelからインポートしたデータのデータ型をオートナンバーに変更することは不可能なようです。上記やり方でそれが回避できるということでしょうか?難しい気がしますが……(コメント欄もご活用ください)


2 ● HALSPECIAL
●100ポイント

1.オートナンバー型になっているテーブルのデータを全件削除


2.リボンの[外部データ]-[EXCEL]インポート

により、[レコードのコピーを次のテーブルに追加する]を実行します。


以上で駄目でしょうか?

◎質問者からの返答

試し中です(コメント欄参照)


3 ● b-wind
●5ポイント

結構泥臭い作業になりそうだね。


案1)

1.Excel データにオートナンバーの欠番部分のレコードを生成カラムの内容や、別カラム生成などで判別できるようにしておく。

2.Excel データをオートナンバー列順にソートしておく

3.元テーブルにオートナンバー以外のデータをインポート。理屈上はこれでもともとと同じオートナンバーが降られるはず。

4.1で作っておいたダミーデータを削除


案2)

1.オートナンバーであった列を数値型の別カラムとして追加する形でインポート(これでオートナンバーと元オートナンバーの対応表が出来ることになる)

2.他システムの旧IDを1で作った新カラムの情報を元に新オートナンバーに更新する


こんなとこ?

Access のオートナンバー自体には詳しくないから、もっといい手段もありそうだけど。

◎質問者からの返答

案1

6000件データがある中でIDは18000番まで来ており、欠落部分生成は現実的ではないというのが事実です。

案2

は質問文にもある方法ですね。

その2の方法がわかれば良いのですが。他部署なので、300件程度とは言え手動でお願いするのは難しいです。

なお相手先Accessも別のオートナンバーをIDとしているらしく、Excelにエクスポートしての作業はできません。

対応表さえあれば、クエリでなんとかなるでしょうか?


4 ● ken3memo
●100ポイント ベストアンサー

Accessのオートナンバーを復活 で すが

コメント欄の HALSPECIAL さんの方法そのままですが、

下記の方法でできると思います(が、リレーション関係なのかなぁ妨害してるのは?)

Excelのシートをインポートして、

データの型をオートナンバーにすると怒られ、設定できない。

ので、

新しくワクだけ作成して(※構造をコピー後)、

新しいテーブルの型をオートナンバーに変える。

※データが1件も入っていないので、変更可能です。

その後、追加クエリーでデータを追加するだけでOKだと思いますが。。。


実際の操作の動画:

http://www.youtube.com/watch?v=bZvREu20ejU

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="320" height="205" id="flvplayer" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="http://g.hatena.ne.jp/tools/flvplayer.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <param name="FlashVars" value="moviePath=http://www.youtube.com/watch?v=bZvREu20ejU" /> <embed src="http://g.hatena.ne.jp/tools/flvplayer.swf" FlashVars="moviePath=http://www.youtube.com/watch?v=bZvREu20ejU" quality="high" bgcolor="#ffffff" width="320" height="205" name="flvplayer" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object>


※HALSPECIAL さんの方法を試しただけなので、

もしうまくいってもポイントはいりません。

何か、とんでもない勘違いをしていたら 笑って許してくださいね。

日記にも動画のリンクつけました。

http://d.hatena.ne.jp/ken3memo/20090701/1246425411

みて笑ってください・・・(でもなんか、勘違いしたような気がしてきた・・・)


-------

◎質問者からの返答

ありがとうございます。試してみます。(コメント欄参照)

できました! You Tubeとっても参考になりました。

バージョンが違うので途中から操作を間違えたのか上書きされてしまい、わざわざ2003のPCまで行ってやってみました。

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ