Visual Basic Tips


Jetデータベース(DAO)フィールド名の列挙


Jetデータベースのテーブルもしくはクエリーのフィールド名を列挙し、コンボボックス、リストボックスにその名称を追加します。

Private Sub Form_Load()
  Call FieldNameCtlSet(Combo1, App.Path & "\work.mdb", "新規テーブル")
  Call
FieldNameCtlSet(List1, App.Path & "\work.mdb", "新規テーブル")
End Sub


Sub
FieldNameCtlSet(ctlControl As Control, strDbPath As String, strTblQryName As String)
  Dim
ws As Workspace
  Dim
db As Database
  Dim
rs As Recordset
  Dim
fld As Field

  
If TypeOf ctlControl Is ComboBox Or TypeOf ctlControl Is ListBox Then
  Else
    Exit Sub
  End If

  
ctlControl.Clear

  Set
ws = DBEngine.Workspaces(0)
  Set
db = ws.OpenDatabase(strDbPath, False, True)
  Set
rs = db.OpenRecordset(strTblQryName, dbOpenDynaset)

  
'フィールド名の追加
  For Each
fld In rs.Fields
    
ctlControl.AddItem fld.Name
  Next

  If TypeOf
ctlControl Is ComboBox Then
    
ctlControl.Text = ctlControl.List(0)
  End If

  
rs.Close
  db.Close
  ws.Close

End Sub


DownLoad vbtips106.lzh 7KB (VB6.0)