主题:弱问:如何通过选中dbcombo的内容改变对应text控件内容?
february12
[专家分:0] 发布于 2008-02-20 14:21:00
data1,dbcombo1,text1都已经设置了相应的datafield,boundcolumn,listfield.
假设在dbcombo1的下拉菜单中选择了“材料”,如何让text1显示为该材料对应的“价格”?
因为没有学过数据库,所以在此请教。
谢谢!
回复列表 (共16个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2008-02-20 16:48:00
dbcombo1.text将是你的选择。
使用它查询
把结果赋给text1
板凳
february12 [专家分:0] 发布于 2008-02-20 16:54:00
我就是不会查询。。。汗一个
3 楼
老大徒伤悲 [专家分:29120] 发布于 2008-02-20 17:23:00
数据库的路径、名称
标的名称
字段的名称
把以上的东西提供下
4 楼
february12 [专家分:0] 发布于 2008-02-21 15:21:00
数据库:D:\钢管.mdb
字段只有两个:材料名称,价格
dbcombo1显示的都是名称,希望在text1中显示价格~
这样我就可以把data1设置成不可见,画面就好看多了。
5 楼
老大徒伤悲 [专家分:29120] 发布于 2008-02-21 15:31:00
data1又是个啥东西?
6 楼
老大徒伤悲 [专家分:29120] 发布于 2008-02-21 15:37:00
还有,难道你直接把字段放在数据库里,而不用表吗?
7 楼
老大徒伤悲 [专家分:29120] 发布于 2008-02-21 15:40:00
再有,字段为什么不设置“材料ID”?
8 楼
february12 [专家分:0] 发布于 2008-02-21 15:49:00
很谢谢你的耐心,我是初学者。
数据库里有一个表:钢管价格
字段有两个:材料名称,价格
我再说详细一点吧:
一个data1,已经设置了databaseName和recordsource
一个dbcombo1,已经设置了boundcolumn,datafield,datasource和listfield
一个text1,已经设置了datafield和datasource。
9 楼
老大徒伤悲 [专家分:29120] 发布于 2008-02-21 16:58:00
假设,数据库的地址是:“D:\钢管.mdb”,表的名字是:“产品”,表里有三个字段,分别是:“产品ID”、“产品名称”、“单价”。
在窗体里有一个combo1,有一个text1(Text1的MultiLine属性设置为 True)。别的什么都不要。
工程-引用-微软dao3.6对象库,选中,然后确定。
使用以下代码,在运行开始,把表里的“产品名称”添加到combo1里备选。
在combo1选择后,在text1里,列出单价。如果有同名产品,分行列出。
Dim Rs As Recordset
Private Sub Combo1_Click()
Set db = OpenDatabase( "D:\钢管.mdb")
Set Rs = db.OpenRecordset("select 单价 from 产品 where 产品名称='" & Combo1.Text & "'")
Do
Text1 = Text1 & Rs.Fields(0).Value & vbcrlf
Rs.MoveNext
Loop Until Rs.EOF
Set Rs = Nothing
End Sub
Private Sub Form_Load()
Text1 = ""
Set db = OpenDatabase( "D:\钢管.mdb")
Set Rs = db.OpenRecordset("select 产品名称 from 产品 where 产品名称 <> ''")
Do
Combo1.AddItem Rs.Fields(0).Value
Rs.MoveNext
Loop Until Rs.EOF
Combo1.Text = Combo1.List(0)
Set Rs = Nothing
Set db = Nothing
End Sub
10 楼
february12 [专家分:0] 发布于 2008-02-22 10:49:00
恩,谢谢楼上的程序,我大概看明白了,可能要多看看书。
表里面没有材料id~请问这个是必须的吗?材料名称没有相同的。
还有,dbcombo并没有additem这个事件啊
我来回复