Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1748 / 2272 ツリー ←次へ | 前へ→

【5470】テーブルの作成方法 takataka 05/6/22(水) 9:02 質問[未読]
【5474】Re:テーブルの作成方法 小僧 05/6/22(水) 11:38 回答[未読]
【5475】Re:テーブルの作成方法 takataka 05/6/22(水) 13:57 質問[未読]
【5477】Re:テーブルの作成方法 小僧 05/6/22(水) 15:03 回答[未読]
【5480】Re:テーブルの作成方法 小僧 05/6/22(水) 17:20 回答[未読]

【5470】テーブルの作成方法
質問  takataka  - 05/6/22(水) 9:02 -

引用なし
パスワード
   あるフォームにてテーブル名を指定し、テーブル作成したいです。
(テーブルバックアップ゚用の為に使用)
どなたかご返答宜しくお願いします。

【5474】Re:テーブルの作成方法
回答  小僧  - 05/6/22(水) 11:38 -

引用なし
パスワード
   ▼takataka さん:
こんにちは。

単なるテーブルのコピーでしたら
「CopyObject」メソッドが使えそうですね。

>>ヘルプより
>>次の例では、CopyObject メソッドを使って、
>>[社員] テーブルをカレント データベースにコピーし、新しい名前を付けます。
>>
>>DoCmd.CopyObject, "社員コピー", acTable, "社員"

【5475】Re:テーブルの作成方法
質問  takataka  - 05/6/22(水) 13:57 -

引用なし
パスワード
   早速のご返信有難うございます。
別の方法で下記の様に行ったのですが、値が転記されません。
因みにYES/NO型はどの様に記述したら宜しいでしょうか?

Public Sub table()
Dim cat As ADOX.catalog
Dim tb As ADOX.table
Set cat = New ADOX.catalog
cat.ActiveConnection = CurrentProject.Connection
Set tb = New ADOX.table
tb.Name = Forms!フォーム2!配布週
tb.columns.Append "備考", adVarWChar, 64
tb.columns.Append "配布週", adVarWChar, 255
tb.columns.Append "回収期限", adVarWChar, 255
☆☆☆←の部分にYES/NO型を表記したいです。
cat.Tables.Append tb
MsgBox ("終了です")
Set cat = Nothing
End Sub


▼小僧 さん:
>▼takataka さん:
>こんにちは。
>
>単なるテーブルのコピーでしたら
>「CopyObject」メソッドが使えそうですね。
>
>>>ヘルプより
>>>次の例では、CopyObject メソッドを使って、
>>>[社員] テーブルをカレント データベースにコピーし、新しい名前を付けます。
>>>
>>>DoCmd.CopyObject, "社員コピー", acTable, "社員"

【5477】Re:テーブルの作成方法
回答  小僧  - 05/6/22(水) 15:03 -

引用なし
パスワード
   ▼takataka さん:

ADOXを使う方法ですね。

>☆☆☆←の部分にYES/NO型を表記したいです。

  tb.Columns.Append "可否", adBoolean

のようにできます。
できたテーブルをデザインビューで見るとYes/No型になっていると思います。

ついでにチェックボックスにできれば、と思ったのですが…。

ヘルプ・MSのサイトを見てもなかなか見つかりませんね…。

【5480】Re:テーブルの作成方法
回答  小僧  - 05/6/22(水) 17:20 -

引用なし
パスワード
   ▼小僧 さん:
DAOでなんとかできました。

※要参照設定 Microsoft DAO x.x Object Library

Sub DAOで処理()
  Dim tdfs As DAO.TableDefs
  Dim tdf As DAO.TableDef
  Dim flds As DAO.Fields
  Dim fld As DAO.Field
  Dim TName As String
  Dim FName As String
  
  TName = "T_Test"
  FName = "可否"
  
  Set tdf = CurrentDb.CreateTableDef(TName)

  With tdf
    .Fields.Append .CreateField("備考", dbText, 50)
    .Fields.Append .CreateField("配布週", dbText, 255)
    .Fields.Append .CreateField("回収期限", dbText, 255)
    .Fields.Append .CreateField(FName, dbBoolean)
  End With
  
  CurrentDb.TableDefs.Append tdf

  Set tdfs = CurrentDb.TableDefs
  Set tdf = tdfs(TName)
  Set flds = tdf.Fields
  Set fld = flds(FName)
    fld.Properties.Append fld.CreateProperty _
             ("DisplayControl", dbInteger, acCheckBox, True)
  Set fld = Nothing: Set flds = Nothing
  Set tdf = Nothing: Set tdfs = Nothing

End Sub

1748 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078263
(SS)C-BOARD v3.8 is Free