Vb6 如何向组合框添加行值
我有一个表名'product',和product_name,category作为字段。我想将product_name行值添加到重复类别值的组合框中Vb6 如何向组合框添加行值,vb6,Vb6,我有一个表名'product',和product_name,category作为字段。我想将product_name行值添加到重复类别值的组合框中 product_name | category --------------+---------- Ceiling fan | fan Table fan | fan Wall fan | fan 我尝试下面的代码,但没有do w
product_name | category
--------------+----------
Ceiling fan | fan
Table fan | fan
Wall fan | fan
我尝试下面的代码,但没有do while语句,它给出一个值,当我尝试循环它时,机器挂起。Plz帮助
Option explicit
Private sub cboCategories_Click()
cboProducts.clear
rs.open "select * from product". cn, adOpenDynamic. adLockOptimistic
With rs
.find "category=' " & cbiCategories.Text & " ' "
.moveFirst
With rs(0).value
Do until rs.EOF
cboProducts.AddItem rs(0).Value
rs.MoveNext
Loop
End with
End with
End sub
这是我目前的桌子。我想将product_name字段值添加到组合框中,其中类别名称相同,例如“fan”有几种方法可以剥这种猫的皮。一种是从使用数据整形服务创建的断开连接的分层记录集中获取组合框数据 本例假设CSV文件具有标题行,但Jet或其他数据库表也适用于此情况:
Option Explicit
Private rsShapedProducts As ADODB.Recordset
Private Sub cboCategories_Click()
With cboProducts
.Clear
With rsShapedProducts
.MoveFirst
.Find "[Category]='" & cboCategories.List(cboCategories.ListIndex) & "'"
With ![Products].Value
.MoveFirst
Do Until .EOF
cboProducts.AddItem ![Product].Value
.MoveNext
Loop
End With
End With
.ListIndex = 0
End With
End Sub
Private Sub cboProducts_Click()
lblSelection.Caption = cboCategories.List(cboCategories.ListIndex) _
& " -> " _
& cboProducts.List(cboProducts.ListIndex)
End Sub
Private Sub Form_Load()
Set rsShapedProducts = New ADODB.Recordset
With rsShapedProducts
.CursorLocation = adUseClient
.Open "SHAPE {" _
& "SELECT [Category], [Product] FROM [products.txt] " _
& "ORDER BY [Category], [Product]" _
& "} AS [Products] COMPUTE [Products] BY [Category]", _
"Provider=MSDataShape;Data Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source='" & App.Path & "';Extended Properties='Text;Hdr=Yes'", _
adOpenStatic, _
adLockReadOnly, _
adCmdText
Set .ActiveConnection = Nothing
Do Until .EOF
cboCategories.AddItem ![Category].Value
.MoveNext
Loop
End With
Show
cboCategories.ListIndex = 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsShapedProducts.Close
End Sub
我使用的测试数据:
Category,Product
Fan,Ceiling Fan
Fan,Table Fan
Fan,Wall Fan
Lamp,Floor Lamp
Lamp,Table lamp
Lamp,Desk Lamp
Table,Coffee Table
Table,End Table
Table,Kitchen Table
Table,Dining Table
Table,Card Table
什么组合框?目前如何从表中检索这些数据到VB6代码中?我在combo1.list中添加了两个组合框combo1和combo2…我添加了一个类别,如fan、freeze等。。。。现在我想在combo2中添加product的值,其中combo1的值为=类别值…我正在处理msaccess数据库…这可以作为进一步的解释,但在这一点上对我没有帮助。您是在开发MS Access数据库前端,还是在VB6中编码?MS Access是我的后端。。。我想从vb6编码中添加此详细信息。。。。谢谢你的回复兄弟。。。plz help meThe代码给出了一个错误Microsoft.jet数据库引擎找不到对象“products.txt”,请确保对象存在,并且正确拼写其名称和路径名。我的表名为Products。请确保您可以进行所需的更改,以使用与数据库匹配的连接和SQL?Brother我想将类别值添加到combo1,然后将product_name值添加到combo2,其中类别相同请参见我的表。。。。我的表名是product plz help me
Private Function IsInCollection(ByVal Coll As Collection, CollKey As String) As Boolean
On Error GoTo errHandler
Dim b As Variant
b = Coll(CollKey)
IsInCollection = True
errHandler:
Err.Clear
Exit Function
End Function
Public Sub FillCombo()
Dim rs As Adodb.Recordset
Dim Coll As New Collection
Dim strNewValue As String
Set rs = fillMyRs
Do While Not rs.EOF
strNewValue = rs.Fields("category").Value
If IsInCollection(Coll, strNewValue) Then
strNewValue = strNewValue & " - " & rs.Fields("product_name").Value
Else
Coll.Add strNewValue, strNewValue
End If
Combo1.AddItem strNewValue
rs.MoveNext
Loop
End Sub