ACCESSの「s_GUID」等の意味

このQ&Aのポイント
  • ACCESSファイルに含まれる「s_GUID」、「s_Lineage」、および「s_Generation」というフィールドの意味を教えてください。
  • これらのフィールドの意味を理解せずにテーブルを変更することで不具合が発生する可能性があります。
  • ACCESS初心者のため、フィールドの意味について教示をお願いします。
回答を見る
  • ベストアンサー

ACCESSの「s_GUID」等の意味

お世話になっております。 会社で古いACCESSのファイルを使っています(多分、ACCESS2003以前に作成したもの)。 このファイルにあるテーブルに「s_GUID」、「s_Lineage」、および 「s_Generation」といった フィールドがありますが、このフィールドの意味がさっぱり分かりません。 これらのフィールドの意味を教えてください。 このファイルにあるテーブルを変更(追加登録)する必要があるのですが、これらの フィールドの意味が分からないため、テーブルを変更した場合に不具合が発生するの ではないかと危惧しております。 ACCESSについては初心者のため教示願いたい次第です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

Access2013ですか。。。 Access2013からレプリケーションのオプションは削除されています。 http://technet.microsoft.com/ja-jp/library/cc178954%28v=office.15%29.aspx 一応mdbファイルを作成して試してみました。 レプリカが有効な状態のmdbファイルでは 『現在のバージョンのMicrosoft Access では、レプリケートされたデータベースはサポートされていません。このデータベースを使用するには、以前のバージョンの Microsoft Access で開いてください。』 となり、開くことさえ出来ませんでした。 また、アイコンの形からも既にレプリカとしては機能していないものと考えられます。 こちらの手順で残骸を取り除いてください。 http://office.microsoft.com/ja-jp/access-help/HP005216790.aspx 当方で確認した限りでは s_ColLineage s_Generation s_GUID s_Lineage の4フィールドは残骸です。 ※念のためにファイルのバックアップコピーをとってからに!

KASHIYADE
質問者

お礼

お世話になっております。 ご丁寧な説明ありがとうございました。 助かりました。

その他の回答 (4)

回答No.4

レプリケーションで運用していたかと思います。 遠隔地でも同じmdbファイルを使用したい場合で ネットワークが遅かったり、接続されていない場合に レプリカ(複製)を作成します。 それぞれのファイルで変更・新規作成などが行われるわけですので 定期的にレプリカマスターと同期をとる必要があります。 その際に質問中の謎のテーブル中のフィールドデータを参照しつつ同期をとります。 また、システムテーブルにも幾つか追加されます。 現状のテーブルのアイコンはどうなっていますか? 黄色い丸の中に左右の矢印の形のが付いていれば まだレプリカとして機能するようになっていると考えられます。 いま使えるAccessのバージョンは何がありますか? とりあえず、ここまで。

KASHIYADE
質問者

補足

お世話になっております。 ACCESS2013を使っていますが、当該のテーブルのアイコンは 普通のアイコンで、黄色い丸の中に左右の矢印が付いているような アイコンではありません。よろしくお願いします。

  • tamu1129
  • ベストアンサー率58% (1252/2139)
回答No.3

>このレプリケーションIDの意味を教えてください これは、その前のオートナンバー型と合わせて覚えてください オートナンバー型は数値型のフィールドの1つです 数値型にはこのフィールドが使うサイズも指定するのです (s_Generationも数値型のフィールドなので数値型/長整数型という形でそのフィールドが使うフィールドサイズも指定されていますよね) オートナンバー型は通常は長整数型使うのですが、データベースをレプリケーションしている状態で使用している場合には、データベース同士を定期的にチェックしてオートナンバー型の数値がレプリケーションしているデータベースで重複してしまわないようにして使用する場合に、長整数型ではなくレプリケーションIDとして指定します あくまで普通は長整数型、それをレプリケーションIDにしているって事はなぜなのかは、作った人に聞いてください (データベースをレプリケーションさせて使っているからそうしたのか、作った人間も意味がわからずそうしたのか) >Oleオブジェクト型 簡単に言えば、Access内に無いデータを参照しているって事です Windowsの機能にOLEオブジェクトという考え方があって、OLE対応のソフト間でお互いにデータやり取りして利用が出来る仕組みです Accessの場合、ここには写真などの画像ファイルなどが表示されるようにする場合、使う事が多いです

KASHIYADE
質問者

お礼

お世話になっております。 ありがとうございます。 作成者は退職しており、確認できない状況です。 現状では、このファイルをレプリケーションして使うような仕組みになって いません。

  • tamu1129
  • ベストアンサー率58% (1252/2139)
回答No.2

>このファイルにあるテーブルを変更 テーブルにフィールド追加したいって話なら、同じフィールド名にならないように何か適当に名前付けて、フィールド追加してください 後から自分が参照する時にわかりやすい名前にした方が良いでしょうけどね フィールド名は漢字やひらがななんかも使えますが、クエリー作成する時に英数字だけのフィールド名にしておいた方が入力する際には面倒が無いでしょう ACCESSについては初心者という事なので、バックアップはきちんと取っておいてから色々な事をしましょう Accessを閉じて、***.MDB(***部分は該当するデータベースファイルの名前です)となっているファイルをUSBメモリなり、HDDなりにコピーしてやれば良いだけですから

  • tamu1129
  • ベストアンサー率58% (1252/2139)
回答No.1

それは、そのテーブルを作成した人間に聞いてください フィールド名はなんでも良いんですよ 作った人間が、そのフィールド名を s_GUID や s_Lineage と名前付けしただけの話です その人間が作る時に、1つ目のフィールドだから 111 2つ目のフィールドだから 222って名前にしていたら、s_GUIDは 111 s_Lineageは 222というフィールド名になっていました フィールド名は後から変更する事も出来ます が、現在クエリーなどが作成済みで、それらのクエリーが ○○テーブルのs_GUIDフィールドの値を抜き出すような構文になっていれば、s_GUIDというフィールド名を 111に変えてしまえば、s_GUIDというフィールドは無くなってしまうので、作成したクエリーが正常に動作しなくなってしまいます フィールド名は ○○テーブルの**という名前のフィールドなので、××テーブルの**フィールドとなれば、フィールド名がまったく同じでも、別な場所のデータとして扱われます 既存の部分に手を入れず、新しいテーブル追加するって事をやろうとしているなら、既存テーブルと同じ名前のテーブルを作らなければ、何してもらっても今までのシステムには関係ありません

KASHIYADE
質問者

補足

お世話になっております。 早速のご連絡ありがとうござざいます。 テーブルのフィールド名については理解できました。 フィールドの属性をチェックしたところ、以下のようになっていました。 s_GUID:オートナンバー型/レプリケーションID型 s_Generation:数値型/長整数型 s_Lineage:Oleオブジェクト型 このテーブルにデータを追加すると、 ・s_GUIDフィールドに数字とアルファベットのコードが自動的に入ります。  →このレプリケーションIDの意味を教えてください。 ・s_Lineageフィールドは文字や数値が入力できません(既に入力されているデータ  には「ロングバイナリーデータ」と表示されています。  →このOleオブジェクト型の意味を教えてください。 よろしくお願いします。

関連するQ&A

  • Access97からAccess2003変換

    以前にAccess97からAccess2013への移行の質問をしたものですが、ご回答いただいたように一旦97から2003へ変換しておりますが次のようなエラーが出てうまく変換できません。『テーブル'MSysTombstone'に'Base Row Lineage'という名前のフィールドが見つかりません。』というエラーですが、解決策はおわかりになられますでしょうか?

  • Accessのデータについて

    Accessについて質問です。 フィールド数が250程のテーブルのフィールドサイズを変更すると 保存の際に定義されているフィールドが多すぎますとエラーになります。 なぜフィールドサイズを変更しただけなのにフィールドが増えたことになるのですか?(このエラーは最適化をするとでなくなります。) また、フィールドサイズを変更して保存するだけでAccessのファイルサイズが大きくなるのはなぜですか?

  • ブリーフケースとAccess

    98のドライブをネットワーク共有のデータディスクとして使っています。自分のドライブ(2000professional)にブリーフケースを置いてバックアップを取ろうとしたら、レプリケーションが作れないとエラーメッセージが出てうまくいきません。それで、ブリーフケースを使うのをやめようとしたのですが、レプリケートは途中まで進んでいるらしく、AccessのテーブルにS_Guidというフィールドを勝手に作っており(オブジェクトのアイコンにはレプリカの作成というマークが付いています)、このフィールドは削除もできず、オートナンバーも大きな数字になるし、動作がへんなので、元に戻そうとしましたが、ファイルの状態を元に戻せなくなってしまいました。どうか良い解決策を教えてください。

  • アクセスで

    Access2000を使っています。既存のレポートにフィールドを追加したいのですが、方法が分かりません。 フィールドを追加したいレポートのデザインを開き、「並べ替え/グループ化」ダイアログ ボックスの「フィールド/式」列で追加したいフィールドを選ぼうとしたのですが(この方法でいいのですよね)、選択肢の中に追加したいフィールドがありません。 追加したいフィールドは、テーブルには存在しています。 アクセスにはあまり詳しくないので、初心者向けにわかりやすく教えていただけると助かります。 連休中はお礼ができませんが、よろしくお願いします。

  • Accessでの新規レコードの追加の方法

    Windows XP上でMicrosoft Access 2000を使用しています。 オートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加したいのですが、クエリやそれを基にしたフォームを介した方法はもちろんのこと、テーブルをデータシートビューで表示した状態でも追加することができません。 例えばレコードセレクタからレコード追加を選んでレコード保存を選んでも追加されません。 このテーブルに別のフィールドを追加してデータを入れるとレコードの追加が可能なのですが、オートナンバー型フィールド1つのみではうまくいきません。 どなたかオートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加する方法を御存知でしたら御教示下さいませ。

  • Access2002でホームへフィールド追加

    Access2002を使っています。テーブルにフィールドを1つ追加したのですが、そのフィールドをフォーム(テーブルそのまま)に追加できません。 またフォームを作り直すのは面倒です。何とかならないものでしょうか。

  • アクセスで??です

    はじめまして、困っています・・・クエリの作成で問題が起きました。 といいますのも、新規作成でクエリを作成するときに まず、テーブルを選んで追加をクリックします、それから 必要なフィールドだけを追加してその必要なフィールドだけ 表示されるはずだったのですが、テーブルを追加するだけで 全て表示されてしまいます。ちなみにチェックを外しても 表示されたままです・・・ 昨日まで普通に使えていたのですが、今日からいきなりそう そうなってしまいました。 ちなみに他のアクセスファイルは正常に機能します。 どうしてこういう風な現象が現れたのか・・・・お分かりの方 ご教授お願いいたします。

  • Accessのリレーションシップ

    Access初心者です。 Access2010でデータベースを作っていて、行き詰ってしまいました。 テーブル1にフィールドABCDEFがあって、Aに主キーが付いています。(Aはテキスト型でフィールドサイズ10です。) テーブル2にはフィールドAGHがあり、Aに主キーが付いてます。(Aはテーブル1と同じです。) テーブル3にも同じくフィールドAIJがあり、Aに主キーが付いています。(Aはテーブル1と同じです。) テーブル1のフィールドAを主テーブルとし、テーブル2・3のフィールドAにリレーションを組んでいます。 この時のリレーションシップで参照整合性と連鎖更新と連鎖削除にチェックを入れ、種類が一対一になりました。 その後、テーブル1でレコードを追加しようとすると、「テーブル'2'にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更を行うことができません。」と出ます。 これを解決する方法はどうするのか、お教えお願いします。 分かりにくい説明ですいません。

  • アクセスのフォーム

    アクセスでひとつのテーブルを基にしてフォームを作った後に他のテーブルを新たにフィールドに追加することはできるのでしょうか?? 教えてください。

  • Access OLEオブジェクト型のフィールドをエクスポートしたい

    Access2002でテーブルのエクスポート/インポート機能を追加しようと考えています。 テーブルにはOLEオブジェクト型のフィールドがあります。 これをExcelにエクスポートしたいのですが、TransferSpreadsheetだと OLEフィールドは空白となってしまいます。 また、ファイルメニューから手動でエクスポートしても同じ結果となります。 OLEオブジェクトはエクスポート(インポート)できないのでしょうか。 「テーブルに画像を保存するのは・・・」とのご意見もあると思いますが、 現在の仕様で変更できないので、それは別としてお願いします。

専門家に質問してみよう