- ベストアンサー
一括でハイパーリンクを更新する方法
- ハイパーリンクの一括更新方法をご教授ください。
- 出荷DBのハイパーリンクを一括で現在のアドレスから新しいアドレスに変更したいです。
- フォルダ名が追記されるため、手動ではなく一括でアドレスを更新したいです。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No.3 です。 Access2016 の場合(2010 ~ 2019 で同じだったかと思います) [ファイル] - [情報] で 「データベースのプロパティの表示および編集」をクリック。 [ファイルの概要] タブ に「ハイパーリンクの基点」があります。 Access2007 の場合 [Officeボタン] - [管理] - [データベースプロパティ] の [ファイルの概要] タブ です。 2003 以前 は、データベースプロパティは見つけやすいところにあったような記憶が・・・ハッキリしませんが。
その他の回答 (5)
- chayamati
- ベストアンサー率41% (260/624)
おはようございます ご質問の趣旨からかけ離れてますが 回答№2の補足です。リレーションシップについて T出荷とT出荷明細の主キーマークが移動しています 主キーはそれ自体でユニークです IDの主キーが外れたため、インデックスプロパティーが「なし」になりますが これを「重複なし」に再設定します。 ※他のテーブルと参照整合性のリレーションシップを設定出来ます 複数の主キーあるテーブルは個別には重複できますが、レコードとしてはユニークです T出荷において一つの日付の顧客IDは「重複なし」です 顧客IDのデータ型は長整数ですが実際の顧客名を表示するため テーブルデザインでルックアップ設定 ルックアップ設定について興味がお有りでしたらコメントください
補足
chayamatiさん 今、私の会社で扱っているデータはエクセルとアクセスで別れているものをハイパーリンクで紐付けているような格好です。 chayamatiさんのご提案の通り、アクセスでRDBで全て処理するのが理想の形ですね。 どこかでそのような形に切り替えることも検討します。 ご指導ありがとうございます。
- chayamati
- ベストアンサー率41% (260/624)
補足有難うございます ① 顧客テーブルはAccessで管理されていますね ②--1001.xlsx等のファイルには1枚のSheetですか ③これは添付のようなものですか ④--1002はユニークな連番 ⑤このファイル名と顧客名の関連付けはありますか ⑥このExcelファイルの作成者はどのような立場の方ですか ⑦「件数が1万件」とは蓄積データですか、日々発生するのですか
補足
chayamatiさんご連絡遅れました。 >① 顧客テーブルはAccessで管理されていますね 実を言うと顧客マスターのようなテーブルはありません。 ②--1001.xlsx等のファイルには1枚のSheetですか はいそうです。 ③これは添付のようなものですか そうです。 ④--1002はユニークな連番 そうです。 ⑤このファイル名と顧客名の関連付けはありますか ありません。 ⑥このExcelファイルの作成者はどのような立場の方ですか レコードを入力する出荷担当者です。 ⑦「件数が1万件」とは蓄積データですか、日々発生するのですか 累積で1万件で増え続けています。
- m3_maki
- ベストアンサー率64% (296/460)
「ハイパーリンクの基点」を 出荷フォルダのフルパスにすれば データには触らなくても済みますが それじゃマズい?
補足
m3_maki様 「ハイパーリンクの基点」について調べてみたのですが、エクセルの情報ばかりでAccessを見つけることができませんでした。 ただ、その調べている過程でハイパーリンクのフォームのプロパティの書式に、「..出荷フォルダ\」を追加すればおおよそ望みどおりの挙動にできそうです。 ヒントをいただきありがとうございます。
- chayamati
- ベストアンサー率41% (260/624)
今晩は、如何でしょうか 私の誤解かもしれませんが >現在のアドレス「顧客Aフォルダ\1001.xlsx」から 「..出荷フォルダ\顧客Aフォルダ\1001.xlsx」のようにすべての レコードのアドレスを更新する必要があります。 数件であれば手動で済ませるのですが件数が1万件近くあるため ---------------------------------------------------------------- ★自分はAccessのシステムへ「ハイパーリンク」を組み込んだことは ありません ★「顧客Aフォルダ\1001.xlsx」これはエクセルファイルですね Excelはセル単位で色々な書式で入力できますがAccessはフィールド 毎に決まった書式のためシステムの整合性が保てます 「マスターテーブルとトランザクションテーブル」で 検索してください ★「顧客Aフォルダ\1001.xlsx」はマスターテーブルですね。 そのため顧客名は重複は許されません。 ★結論 顧客情報は一旦M顧客へインポートしてから 通常のマスタテーブルとします 因みにNHKが新型コロナ感染情報を毎日23時頃UPしていますが数回 のマウス操作で25千超のレコードを数秒でダウンロードしています ★テーブル設計の一例(添付図参照) (M顧客、T出荷、T出荷明細、M商品) テーブル名の頭 (M:マスターテーブル、T:トランザクションテーブル) 各テーブルの先頭のフィールドIDはテーブル設計時半自動で 生成されます。 ・M顧客 顧客名(重複なし) ・M商品(商品名と規格で主キー) 商品名 規格 ・T出荷(日付と顧客IDで主キー) 日付 顧客ID(M顧客のIDで参照整合性のリレーション) ・T出荷明細 出荷ID(T出荷のIDで参照整合性のリレーション) 商品ID(M商品のIDで参照整合性のリレーション)
補足
chayamatiさん ご連絡ありがとうございます。 まず、1001.xlsxはエクセルファイルなのですが 出荷明細表のようなもので1001はユニーク番号になっております。 -------------------- 出荷フォルダ --出荷DB.accdb --顧客Aフォルダ --1001.xlsx --1002.xlsx --顧客Bフォルダ --1003.xlsx --1005.xlsx --顧客Cフォルダ --1004.xlsx -------------------- 細かく書くとこのように格納されています。 説明不足で申し訳ありません。
- chayamati
- ベストアンサー率41% (260/624)
現在のデータベース(出荷DB)に「出荷場所」の項目を追加してシステムの再構築をされては
補足
m3_makiさんご回答ありがとうございます。 当方 Access2019ですが2016の方法でうまくいきました! あっけないくらい簡単にできてしまい拍子抜けです。 ありがとうございます!