Excel VBA質問箱 IV

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

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


71516 / 76738 ←次へ | 前へ→

【9715】Re:エラーになるところは・・・
回答  Kein  - 03/12/15(月) 13:49 -

引用なし
パスワード
   参考までに、私が使った DAO のテーブル作成マクロをUPしておきます。
株価データを格納するテーブルを作りました。

Sub MyDBテーブル作成()
  Dim wspDefault As Workspace
  Dim myCurDb As Database
  Dim myTblDef As TableDef
  Dim myNewIdx As Index
  Dim fld As Field
  Dim C As Range
  Dim i As Integer
  Dim TName As String
  Const myMdbFile = "C:\My Documents\NewYork_data.mdb"
  
  Set wspDefault = DBEngine.Workspaces(0)
  Set myCurDb = wspDefault.OpenDatabase(myMdbFile)
  MyAr = Array("始値", "高値", "安値", "終値", "出来高")
  For Each C In Sheets("Sheet1").Range("A1:A33")
    TName = C.Value & "_" & C.Offset(, 1).Value
    Set myTblDef = myCurDb.CreateTableDef(TName)
    With myTblDef
       Set fld = .CreateField("日付", dbDate, 8)
       .Fields.Append fld
       fld.OrdinalPosition = 0
       Set myNewIdx = .CreateIndex("MyIdx")
       With myNewIdx
        .Fields.Append .CreateField("日付")
        .Primary = True
       End With
       .Indexes.Append myNewIdx
       For i = LBound(MyAr) To UBound(MyAr)
        Set fld = .CreateField(MyAr(i), dbLong)
        .Fields.Append fld
        fld.OrdinalPosition = i + 1
        Set fld = Nothing
        .Fields.Refresh
       Next i
    End With
    myCurDb.TableDefs.Append myTblDef
    Set myTblDef = Nothing
  Next
  myCurDb.Close: wspDefault.Close
  Set myCurDb = Nothing: Set wspDefault = Nothing
End Sub
0 hits

【9691】データベースに新規のテーブルを作るには どらちゃん 03/12/12(金) 18:49 質問
【9695】Re:データベースに新規のテーブルを作るには ichinose 03/12/13(土) 1:15 回答
【9706】Re:エラーになるところは・・・ どらちゃん 03/12/15(月) 9:47 質問
【9710】Re:エラーになるところは・・・ こうちゃん 03/12/15(月) 11:58 回答
【9715】Re:エラーになるところは・・・ Kein 03/12/15(月) 13:49 回答
【9731】Re:エラーになるところは・・・ Kein 03/12/16(火) 0:43 発言
【9721】Re:エラーになるところは・・・ ichinose 03/12/15(月) 16:20 発言
【9772】Re:なんとか出来ました。 どらちゃん 03/12/16(火) 16:13 お礼

71516 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free