回答編集履歴
2
追記
test
CHANGED
@@ -31,3 +31,43 @@
|
|
31
31
|
DoCmd.RunSQL "CREATE TABLE Sample1(F1 INT, F2 DATE, F3 INT);"
|
32
32
|
|
33
33
|
```
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
さらに追記
|
38
|
+
|
39
|
+
---
|
40
|
+
|
41
|
+
DoCmd系の命令はUI操作になります。ただ、直接テーブルを作成するコマンドはないので、DoCmd.RunSQL でUIからSQLを実行しています。
|
42
|
+
|
43
|
+
簡単に記述できるのは、SQLだからです。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
DAO経由でSQLを実行することも可能です。下記になります(再描画が必用になります)。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
CurrentDB.Execute "CREATE TABLE Sample1(F1 INT, F2 DATE, F3 INT);"
|
52
|
+
|
53
|
+
Application.RefreshDatabaseWindow
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
SQLの場合、テーブルデザインの変更は [ALTER TABLE ステートメント](https://msdn.microsoft.com/library/78e6c92c-e88c-e55f-6b89-435360c166a6%28office.15%29.aspx) や [CREATE INDEX ステートメント](https://msdn.microsoft.com/library/c5919ef4-a08d-df06-7078-5331adbcb45c%28office.15%29.aspx) でできます。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
[Access SQL を使用してテーブルの設計を変更する](https://msdn.microsoft.com/ja-jp/vba/access-vba/articles/modify-a-table-s-design-using-access-sql)
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
ただし、SQLでは規定されていない、Accessのテーブルに独自に拡張されたプロパティは設定することはできません。
|
66
|
+
|
67
|
+
例えば、書式プロパティなどは、SQLではできないので、DAO(or ADOX)のオブジェクトを使って設定する必用があります。
|
68
|
+
|
69
|
+
`Set prp = fld.CreateProperty("Format", dbText, "ggge/mm/dd")`というように。
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
結局、書式とか定形入力とかのプロパティを設定したい場合、DAO(ADOX)ですることになりますね。
|
1
サンプルコードの追加
test
CHANGED
@@ -13,3 +13,21 @@
|
|
13
13
|
|
14
14
|
|
15
15
|
DAOでの操作はAccessがなくてもExcelやその他のアプリからでも可能ということからも、DAO と Accessアプリケーションは別物ということが分かりますね。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
追記
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
AccessアプリケーションのUIから、今回と同じテーブルを作成するなら下記のコードになります。
|
24
|
+
|
25
|
+
この場合、実行後すぐにナビゲーションウィンドウにテーブルが表示されます。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
```vba
|
30
|
+
|
31
|
+
DoCmd.RunSQL "CREATE TABLE Sample1(F1 INT, F2 DATE, F3 INT);"
|
32
|
+
|
33
|
+
```
|