- ベストアンサー
アクセスのテーブル作成クエリでプロパティに説明を書きたい
テーブル作成クエリでテーブルのプロパティにある「説明」のところに一文を入れたいのですが、どうしたらよいでしょうか? 「SQLビューで1行加えるだけでOK」という方法があれば助かります。 よろしくお願いします。
- みんなの回答 (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
その他の回答 (1)
- nicotinism
- ベストアンサー率70% (1019/1452)
SQL 文では出来ないと思います。 VBA になりますが 参照設定で、DAO3.x にチェックを入れて 適当なモジュールに currentdb.TableDefs ("テーブル名").Properties("description").Value = "生まれたて" application.RefreshDatabaseWindow かな?
補足
ご回答ありがとうございます。 SQLではできないということは、クエリではできないということですか? モジュールを実行して、クエリ実行後に、説明に書き加えるということになりますでしょうか? VBAの知識がないのですが、頑張りたいと思います。 もう少し具体的に、モジュールの作り方を教えていただけないでしょうか? 多分、教えていただいた currentdb.TableDefs ("テーブル名").Properties("description").Value = "生まれたて" application.RefreshDatabaseWindow の前後に何か記述しないといけないんだと思うのですが、 どうしていいのかが分かりません。 よろしくお願いします。
お礼
ご回答ありがとうございます。 残念ながら、私には難しすぎます。 頑張ってみましたが、 私の勉強不足でうまくいきません。 もう少し時間をかけて、勉強したいと思います。 そう簡単にできることではないことが分かっただけでも良かったです。 ありがとうございました。