アプリ版:「スタンプのみでお礼する」機能のリリースについて

Accesss2002-2003データベース(MDB)からAccesssデータベース(accdb)に変換すると、ゴミ(?)が入るようです。

オブジェクト名を取得しようと下記のコードを利用しています。
'---------------------------------------------------------------------------------------------------
strSQL = "SELECT [Name] " & "FROM MSysObjects " & "WHERE ([Name] Not Like 'MSys*') AND ([Type]=1)"

Set db = CurrentDb
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

rs.MoveFirst
Do Until rs.EOF
s = rs!name
DoCmd.RunSQL "INSERT INTO テーブル名(フィールド名) VALUES('" + s + "') ;"
rs.MoveNext
Loop
'---------------------------------------------------------------------------------------------------

取得したオブジェクト名のなかに、「f_0B367D89DA9A4E86839A6A7C5A7B0530_Data」という、私が作ったものでないものがありました。
オブジェクトウインドにも現れていません。

前後の位置関係からテーブルだと思います。

DoCmd.RunSQL "DROP TABLE f_0B367D89DA9A4E86839A6A7C5A7B0530_Data"
とやっても「テーブルは存在しません」となります

「最適化と修復」、空のデータベースにインポート、試してみましたがダメでした。

MDB>accdb 変換するたびにこのオブジェクト名の番号部分が違います。

どのようにしたらこのゴミ取りできますでしょうか?
そもそもゴミではないのでしょうか?

A 回答 (1件)

ゴミではないと思いますがGoogleっても、MS社のですら出てきませんね。


とりあえず確認できたこと。
MDBファイルには存在せず、ACCDBファイルにのみ存在する。
Access2010でMDBファイルを作っても無い。
新規ACCDBファイルでオブジェクトを全く作成せずに
MSysObjectsテーブルを見ると既にある。MDB→ACCDB変換に関わらず作成される。
作成時刻を見ると新規にACCDBファイルが作成された時刻になっている。
f_・・・・・・_Dataの文字桁数が同じなので何かの識別用UIDかもしれない。
気にしない事がイチバンかも? (^^ゞ
    • good
    • 0
この回答へのお礼

全テーブル名を変数に取得したあと、その変数からテーブルを操作しようとすると「存在しないオブジェクトです」とエラーになっていたので、てっきりゴミだと思ってました。
まずは、ひと安心ということで。
ありがとうございます。

お礼日時:2012/12/04 01:46

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