プロが教えるわが家の防犯対策術!

お世話になっております。

会社で古いACCESSのファイルを使っています(多分、ACCESS2003以前に作成したもの)。
このファイルにあるテーブルに「s_GUID」、「s_Lineage」、および 「s_Generation」といった
フィールドがありますが、このフィールドの意味がさっぱり分かりません。

これらのフィールドの意味を教えてください。

このファイルにあるテーブルを変更(追加登録)する必要があるのですが、これらの
フィールドの意味が分からないため、テーブルを変更した場合に不具合が発生するの
ではないかと危惧しております。

ACCESSについては初心者のため教示願いたい次第です。
よろしくお願いします。

A 回答 (5件)

Access2013ですか。

。。
Access2013からレプリケーションのオプションは削除されています。
http://technet.microsoft.com/ja-jp/library/cc178 …

一応mdbファイルを作成して試してみました。
レプリカが有効な状態のmdbファイルでは
『現在のバージョンのMicrosoft Access では、レプリケートされたデータベースはサポートされていません。このデータベースを使用するには、以前のバージョンの Microsoft Access で開いてください。』
となり、開くことさえ出来ませんでした。
また、アイコンの形からも既にレプリカとしては機能していないものと考えられます。

こちらの手順で残骸を取り除いてください。
http://office.microsoft.com/ja-jp/access-help/HP …
当方で確認した限りでは
s_ColLineage
s_Generation
s_GUID
s_Lineage
の4フィールドは残骸です。
※念のためにファイルのバックアップコピーをとってからに!
    • good
    • 0
この回答へのお礼

お世話になっております。

ご丁寧な説明ありがとうございました。
助かりました。

お礼日時:2014/11/20 13:36

レプリケーションで運用していたかと思います。


遠隔地でも同じmdbファイルを使用したい場合で
ネットワークが遅かったり、接続されていない場合に
レプリカ(複製)を作成します。
それぞれのファイルで変更・新規作成などが行われるわけですので
定期的にレプリカマスターと同期をとる必要があります。
その際に質問中の謎のテーブル中のフィールドデータを参照しつつ同期をとります。
また、システムテーブルにも幾つか追加されます。

現状のテーブルのアイコンはどうなっていますか?
黄色い丸の中に左右の矢印の形のが付いていれば
まだレプリカとして機能するようになっていると考えられます。
いま使えるAccessのバージョンは何がありますか?
とりあえず、ここまで。

この回答への補足

お世話になっております。

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

補足日時:2014/11/20 11:53
    • good
    • 0

>このレプリケーションIDの意味を教えてください



これは、その前のオートナンバー型と合わせて覚えてください

オートナンバー型は数値型のフィールドの1つです
数値型にはこのフィールドが使うサイズも指定するのです
(s_Generationも数値型のフィールドなので数値型/長整数型という形でそのフィールドが使うフィールドサイズも指定されていますよね)

オートナンバー型は通常は長整数型使うのですが、データベースをレプリケーションしている状態で使用している場合には、データベース同士を定期的にチェックしてオートナンバー型の数値がレプリケーションしているデータベースで重複してしまわないようにして使用する場合に、長整数型ではなくレプリケーションIDとして指定します

あくまで普通は長整数型、それをレプリケーションIDにしているって事はなぜなのかは、作った人に聞いてください
(データベースをレプリケーションさせて使っているからそうしたのか、作った人間も意味がわからずそうしたのか)

>Oleオブジェクト型

簡単に言えば、Access内に無いデータを参照しているって事です

Windowsの機能にOLEオブジェクトという考え方があって、OLE対応のソフト間でお互いにデータやり取りして利用が出来る仕組みです

Accessの場合、ここには写真などの画像ファイルなどが表示されるようにする場合、使う事が多いです
    • good
    • 0
この回答へのお礼

お世話になっております。

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

お礼日時:2014/11/20 11:50

>このファイルにあるテーブルを変更



テーブルにフィールド追加したいって話なら、同じフィールド名にならないように何か適当に名前付けて、フィールド追加してください

後から自分が参照する時にわかりやすい名前にした方が良いでしょうけどね

フィールド名は漢字やひらがななんかも使えますが、クエリー作成する時に英数字だけのフィールド名にしておいた方が入力する際には面倒が無いでしょう

ACCESSについては初心者という事なので、バックアップはきちんと取っておいてから色々な事をしましょう

Accessを閉じて、***.MDB(***部分は該当するデータベースファイルの名前です)となっているファイルをUSBメモリなり、HDDなりにコピーしてやれば良いだけですから
    • good
    • 0

それは、そのテーブルを作成した人間に聞いてください



フィールド名はなんでも良いんですよ

作った人間が、そのフィールド名を s_GUID や s_Lineage と名前付けしただけの話です

その人間が作る時に、1つ目のフィールドだから 111 2つ目のフィールドだから 222って名前にしていたら、s_GUIDは 111 s_Lineageは 222というフィールド名になっていました

フィールド名は後から変更する事も出来ます

が、現在クエリーなどが作成済みで、それらのクエリーが ○○テーブルのs_GUIDフィールドの値を抜き出すような構文になっていれば、s_GUIDというフィールド名を 111に変えてしまえば、s_GUIDというフィールドは無くなってしまうので、作成したクエリーが正常に動作しなくなってしまいます

フィールド名は ○○テーブルの**という名前のフィールドなので、××テーブルの**フィールドとなれば、フィールド名がまったく同じでも、別な場所のデータとして扱われます

既存の部分に手を入れず、新しいテーブル追加するって事をやろうとしているなら、既存テーブルと同じ名前のテーブルを作らなければ、何してもらっても今までのシステムには関係ありません

この回答への補足

お世話になっております。

早速のご連絡ありがとうござざいます。
テーブルのフィールド名については理解できました。

フィールドの属性をチェックしたところ、以下のようになっていました。

s_GUID:オートナンバー型/レプリケーションID型
s_Generation:数値型/長整数型
s_Lineage:Oleオブジェクト型


このテーブルにデータを追加すると、

・s_GUIDフィールドに数字とアルファベットのコードが自動的に入ります。
 →このレプリケーションIDの意味を教えてください。
・s_Lineageフィールドは文字や数値が入力できません(既に入力されているデータ
 には「ロングバイナリーデータ」と表示されています。
 →このOleオブジェクト型の意味を教えてください。

よろしくお願いします。

補足日時:2014/11/20 10:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!