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

テーブル作成クエリでテーブルのプロパティにある「説明」のところに一文を入れたいのですが、どうしたらよいでしょうか?
「SQLビューで1行加えるだけでOK」という方法があれば助かります。
よろしくお願いします。

A 回答 (2件)

こんなのを標準モジュールに加えて


これをマクロから 呼び出すとか?
プロシージャの実行
プロシージャ名には、MakeTable ("Q1","newtbl", "生まれたて")
のようにする。
Qname テーブル作成クエリ名
newTblName 上記が作るテーブル名
tableDes テーブルの説明

Function MakeTable(Qname As String, newTblName As String, tableDes As String)
'要参照設定 DAO3.x Object Library
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim prp As DAO.Property

Set db = CurrentDb
For Each tdf In db.TableDefs
If tdf.Name = newTblName Then
db.Execute ("drop table " & tdf.Name)
End If
Next

db.Execute Qname, dbFailOnError
db.TableDefs.Refresh

Set prp = db.TableDefs(newTblName).CreateProperty
With prp
.Name = "description"
.Type = dbText
.Value = tableDes
End With

db.TableDefs(newTblName).Properties.Append prp
Application.RefreshDatabaseWindow

End Function
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
残念ながら、私には難しすぎます。
頑張ってみましたが、
私の勉強不足でうまくいきません。
もう少し時間をかけて、勉強したいと思います。
そう簡単にできることではないことが分かっただけでも良かったです。
ありがとうございました。

お礼日時:2006/07/01 09:46

SQL 文では出来ないと思います。


VBA になりますが
参照設定で、DAO3.x にチェックを入れて
適当なモジュールに
currentdb.TableDefs ("テーブル名").Properties("description").Value = "生まれたて"
application.RefreshDatabaseWindow
かな?

この回答への補足

ご回答ありがとうございます。
SQLではできないということは、クエリではできないということですか?
モジュールを実行して、クエリ実行後に、説明に書き加えるということになりますでしょうか?

VBAの知識がないのですが、頑張りたいと思います。

もう少し具体的に、モジュールの作り方を教えていただけないでしょうか?
多分、教えていただいた
currentdb.TableDefs ("テーブル名").Properties("description").Value = "生まれたて"
application.RefreshDatabaseWindow
の前後に何か記述しないといけないんだと思うのですが、
どうしていいのかが分かりません。
よろしくお願いします。

補足日時:2006/06/30 17:48
    • good
    • 0

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