首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

VB6 資料庫顯示控件完全指南:DataGrid、DBList、DBCombo 進階資料繫結實戰

     編輯:更多程式設計知識

VB6 內建資料感知控件分為基本 (TextBox 等) 與進階三大件:DBGrid (資料網格)、DBList (下拉清單)、DBCombo (下拉編輯框)。本文詳解三者屬性配置、主從聯動邏輯、工具箱引用步驟,並提供完整範例程式碼。

工具箱引用進階控件

  1. 右鍵工具箱 → 元件
  2. 勾選 Microsoft Data Bound Grid Control 6.0 (SPx) → 加入 DBGrid
  3. 勾選 Microsoft Data Bound List Controls 6.0 → 加入 DBList、DBCombo

DBGrid:呈現完整 Recordset

  • DataSource → 指向 Data 控件 (或 ADO Data Control)
  • 自動從 Recordset 產生欄位標題與資料列
  • 支援儲存格級編輯、整列選取、程式碼指定 Col/Row
  • 行數:DataGrid.Recordset.RecordCount,列數:DataGrid.Columns.Count

DBList / DBCombo:主從聯動核心屬性

完整範例:清單選人 → 文字框顯示完整資料

設計階段設定

  • Data1:DatabaseName="C:\myfile.mdb", RecordSource="Phone"
  • DBList1:RowSource=Data1, ListField="姓名"
  • 三個 TextBox:DataSource=Data1, DataField 分別為 "姓名"、"電話"、"地址"

關鍵程式碼:DBList1_Click


Private Sub DBList1_Click()
    ' 將 Data1 Recordset 定位到清單選取項目的書籤
    Data1.Recordset.Bookmark = DBList1.SelectedItem
End Sub

原理:SelectedItem 非顯示文字,而是該筆記錄的 Bookmark。指派給 Data1.Recordset.Bookmark 即可同步移動主 Recordset 游標,進而透過資料繫結自動更新三個 TextBox。

DBCombo 差異補充

  • DBCombo 結合編輯框與下拉清單,使用者可輸入不在清單的值。
  • 屬性機制與 DBList 相同,額外支援 Text 屬性取得/設定編輯框內容。

常見問題排查

屬性說明
RowSource提供清單項目來源的 Data 控件名稱
ListFieldRowSource Recordset 中顯示於清單的欄位名
SelectedItem目前選取項目在 RowSource Recordset 中的書籤

遷移建議

新專案建議採用 ADO.NET (VB.NET) 或 Entity Framework,配合 DataGridView、ComboBox 等現代控件,享受強型別、LINQ 查詢與離線資料集優勢。既有 VB6 專案維護時,上述模式仍為最穩健方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
現象原因解決
清單空白RowSource 控件 RecordSource 未正確設定檢查 Data 控件連線與 SQL
點擊清單無反應未撰寫 Click 事件同步 Bookmark加入上述 Data1.Recordset.Bookmark = DBList1.SelectedItem
資料不同步多個 Data 控件未正確關聯確認主從 Data 控件 RecordSource 關聯欄位一致