Private Sub Form_Load()
Dim con As String
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strsql As Stringcon = "provider = msdaora.1;data source = tii;user id = eps ; password = eps; persist security info = true"
Set conn = New ADODB.Connection
conn.ConnectionString = con
conn.CursorLocation = adUseClient
conn.OpenSet rst = New ADODB.Recordset
strsql = "select * from ALNCS"
Set rst = conn.Execute(strsql)
ReDim arryData(rst.RecordCount)
For i = 1 To rst.RecordCount
DataCombo1.BoundColumn = rst!ALNC_NAME
DataCombo1.BoundText = (rst!ALNC_NAME)
DataCombo1.ListField = (rst!ALNC_ID)
rst.MoveNext
Next
End Sub上面是我的代碼,我想做的是在datacombo裡面添加ALNC_NAME字段,然後在listfield裡面保存相對應的ALNC_ID,現在是能顯示出來了,但是只顯示最後一個數據,搞了N久都搞不懂是怎么回事,在調試的時候是看到FOR循環裡面的數值的確是在改變,但是在添加到DATACOMBO的時候爲什麽只有一個了呢??DATACOMBO有沒有像COMBOX的ADDITEM功能的啊????
Dim con As String
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strsql As Stringcon = "provider = msdaora.1;data source = tii;user id = eps ; password = eps; persist security info = true"
Set conn = New ADODB.Connection
conn.ConnectionString = con
conn.CursorLocation = adUseClient
conn.OpenSet rst = New ADODB.Recordset
strsql = "select * from ALNCS"
Set rst = conn.Execute(strsql)
ReDim arryData(rst.RecordCount)
For i = 1 To rst.RecordCount
DataCombo1.BoundColumn = rst!ALNC_NAME
DataCombo1.BoundText = (rst!ALNC_NAME)
DataCombo1.ListField = (rst!ALNC_ID)
rst.MoveNext
Next
End Sub上面是我的代碼,我想做的是在datacombo裡面添加ALNC_NAME字段,然後在listfield裡面保存相對應的ALNC_ID,現在是能顯示出來了,但是只顯示最後一個數據,搞了N久都搞不懂是怎么回事,在調試的時候是看到FOR循環裡面的數值的確是在改變,但是在添加到DATACOMBO的時候爲什麽只有一個了呢??DATACOMBO有沒有像COMBOX的ADDITEM功能的啊????
解决方案 »
- CopyMemory 的错误
- 将excel另存为文件错误,在线等啊!
- 用SetupFactory7如何把编译好的DLL文件存安装到系统目录下(C:\WINNT\system32)
- 谁能说说访问数据库常用的几种方法,以及它们的优缺点?
- 关于MsFlexGrid是否可以透明的问题
- VB打包问题??? 写的系统中有数据库该怎么办 ???????? 菜鸟求救!!!
- 如何用 API 控制 TextBox 的弹出式菜单
- 关于字体的问题。我有漂亮的字体,我把他们拷到c:\windows\fonts下面了,但在记事本等软件中不能用,我用fontreg注册过还不管用,请问还
- 我高兴坏了,终于和大学喜欢的女孩联系上了,一定要给每个人都加分
- 哪位老大有vb中如何发送消息及接收消息的教材呀,要详细一点的?高分收购!!!
- 怎样修改RichTextBox中指定字符的颜色和大小
- Excel增加菜单的问题
DataCombo1.DataField = "sbbh"
SET DataCombo1.RowSource=cnnrecord
DataCombo1.ListField="sbbh"
下面的示例使用 DataCombo 控件为 Northwind.mdb 示例数据库的 Titles 表创建一个数据输入界面。这个输入界面使用户可以输入新的产品,并通过提供一个包括所有供应商名称的查找表将这些新产品指定到已有的供应商。当用户在输入窗体中要输入供应商字段的值时,他们可以从一个列表框中选择一个供应商。当他们选定一个供应商后,该供应商的 SupplierID 字段值就复制到 Products 表的 SupplierID 字段。
要使用 DataCombo 控件来创建一个查找表
给 Northwind 数据库创建一个OLEDB 数据源。
如果还没有创建数据源,请按照“创建 Northwind 的OLEDB 数据源”中的步骤进行。
在Visual Basic 中创建一个新的标准的 EXE 工程。
如果“DataGrid”、“DataCombo”、或“ADO Data”控件不在“工具箱”中,则右键单击“工具箱”,然后使用“部件”对话框来添加控件。
添加一个 DataCombo 控件、两个 ADO Data 控件、以及一个 DataGrid 控件到窗体中。
在“属性”窗口中,如下表所示设置第一个数据控件 (Adodc1) 的属性。 属性 设置值
Name AdoDataSource
ConnectionString Northwind.udl
RecordSource Select * From Products;
Caption Products
在“属性”窗口中,如下表所示设置第二个数据控件 (Adodc2) 的属性。 属性 设置值
Name AdoRowSource
ConnectionString Northwind.udl
RecordSource Select CompanyName, SupplierID From Suppliers;
Caption Suppliers
Visible False
在“属性”窗口中,如下表所示设置 DataGrid 控件的属性。 属性 设置值
Name GrdProducts
DataSource AdoDataSource
Caption Products
在“属性”窗口中,如下表所示设置 DataCombo 控件的属性。 属性 设置值
Name DcbSuppliers
DataSource AdoDataSource
DataField SupplierID
RowSource AdoRowSource
ListField CompanyName
BoundColumn SupplierID
最后,将下述代码添加到该窗体的代码模块中:
Private Sub Form_Load()
' 在 DataGrid 控件中隐藏 SupplierID 字段,使用户
' 不会混淆到底该更改哪一个值。
grdProducts.Columns("SupplierID").Visible = False
End Sub
运行该工程。
可以通过单击可视的 ADO Data 控件上的箭头来浏览记录集。如果这样做,DataCombo 控件将更新和显示每一个产品的供应商的名称。如果要编辑 SupplierID 字段,则单击 DataCombo 控件的箭头来显示一个下拉列表,然后再单击一个不同的供应商,来改变写入到 SupplierID 字段的值。