プロが教える店舗&オフィスのセキュリティ対策術

MySQLで
create table testm (
key1 char(008) primary key,
data1 int8,
data2 int8,
data3 int8
) type=InnoDB;

という風なSQLでテーブルを作成したりしますが
Accessでは無理なのでしょうか?

よろしくお願いします。

A 回答 (6件)

Sub テーブル作成2()



Dim db As DAO.Database 'Microsoft DAO 3.6 Object Libraryの参照設定必要

Set db = CurrentDb

db.Execute "CREATE TABLE testm" & _
"(key1 TEXT(8) CONSTRAINT キーの名前 PRIMARY KEY," & _
"data1 INTEGER," & _
"data2 INTEGER)"

db.Close
Set db = Nothing

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

ありがとうございます。

この手でいこうと思います。

なお、DAOでなくてADOなんで、CN.Excecuteですね。
私の場合。(ここを後から参考にされる方へ・・・)

お礼日時:2008/11/23 18:32

No.5です。

コードだけ貼り付けてしまいすみません。
「Access VBA で 主キー付きのテーブルをSQL文で作成したい」
という単純な事でしたら、No.5の様な単純なコードでいいんじゃないかと思いました、投稿してみました。
WinXP Accee2003でテスト済みです。
    • good
    • 0

[イミディエイト]


? CNNExecute("CREATE TABLE AAA")
True

Private Sub コマンド0_Click()
  DoCmd.RunSQL "CREATE TABLE BBB"
End Sub

DoCmd.RunSQL を使うのも手です。
また、 CNNExecute関数を自作するのも手です。
この辺りは、それぞれの流儀というか好みの問題だと思いますよ。

Public Sub ErrMessage(ByVal CnnErrors As ADODB.Error, ByVal strSQL As String)
   MsgBox "ADOエラーが発生しましたので処理をキャンセルします。" & Chr$(13) & Chr$(13) & _
      "・Err.Description=" & CnnErrors.Description & Chr$(13) & _
      "・Err.Number=" & CnnErrors.Number & Chr$(13) & _
      "・SQL State=" & CnnErrors.SQLState & Chr$(13) & _
      "・SQL Text=" & strSQL, _
      vbExclamation, " ADO関数エラーメッセージ"
End Sub

Public Function CnnExecute(ByVal strSQL As String) As Boolean
On Error GoTo Err_CnnExecute
  Dim isOK As Boolean
  Dim cnn As ADODB.Connection
  
  isOK = True
  Set cnn = CurrentProject.Connection
  With cnn
    .Errors.Clear
    .BeginTrans
    .Execute strSQL
    .CommitTrans
  End With
Exit_CnnExecute:
On Error Resume Next
  cnn.Close
  Set cnn = Nothing
  CnnExecute = isOK
  Exit Function
Err_CnnExecute:
  isOK = False
  If cnn.Errors.Count > 0 Then
    ErrMessage cnn.Errors(0), strSQL
    cnn.RollbackTrans
  Else
    MsgBox "プログラムエラーが発生しました。システム管理者に報告して下さい。(CnnExecute)", _
        vbExclamation, " 関数エラーメッセージ"
  End If
  Resume Exit_CnnExecute
End Function
    • good
    • 0

>SQLはVBA上から実行する予定です。



問題ありません。

先ほど私が書いた「ODBC接続のツール」と言うのは
ExcelのVBAでSQLを実行しています。
    • good
    • 0

#1 です。


リンクを貼り忘れました。

マイクロソフトの Office Online の説明です。
http://office.microsoft.com/ja-jp/access/HP01032 …

参考URL:http://office.microsoft.com/ja-jp/access/HP01032 …
    • good
    • 0

できますよ。


普通にアクセスのクエリデザイナでSQLモードにして
create table 文を実行すればできるはずです。

今、手元にAccessありませんが、ODBC接続のツールで
以下のSQLを実行したら、ちゃんとAccessのmdbに
テーブルを作成できました。

create table testm (
key1 char(008) primary key,
data1 int,
data2 int,
data3 int
)

この回答への補足

申しわけありません。
情報不足でした。

SQLはVBA上から実行する予定です。

よろしくお願いします。

補足日時:2008/11/19 21:39
    • good
    • 0

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