datacombo的用法?
连接两个数据源,通过选择datacombo改变datasource的当前记录,怎么做?
是不是 Adodc2.Recordset.Bookmark = DataCombo1.SelectedItem
这条语句该放在哪个事件处理?
问题点数:100、回复次数:11Top
1 楼donglw(天行)回复于 2002-02-09 19:03:28 得分 30
changeTop
2 楼donglw(天行)回复于 2002-02-09 19:04:58 得分 0
还要注意的是datacombo的style要设为仅选择项,好象是3吧,记不清了Top
3 楼wjying(葡萄)回复于 2002-02-09 21:25:58 得分 30
table1(field1,field2) table2(field2,field3)
Set DataCombo1.RowSource = adodc2
DataCombo1.ListField = "field3"
DataCombo1.BoundColumn = "field2"
Set DataCombo1.DataSource = adodc1
DataCombo1.DataField = "field1"Top
4 楼longbow74()回复于 2002-02-19 11:57:41 得分 0
不行。好像是change事件触发了两次,把我的改变又改回来了。另外Adodc2.Recordset.Bookmark = DataCombo1.SelectedItem有时会出错,DataCombo1.SelectedItem会为Null。不知道标准的作法该怎么实现,按理说这个功能应该常用的.Top
5 楼wjying(葡萄)回复于 2002-02-19 12:40:39 得分 0
Private Sub DataCombo1_Change()
If IsNull(DataCombo1.SelectedItem) Then Exit Sub
Adodc1.Recordset.Bookmark = DataCombo1.SelectedItem
End SubTop
6 楼wjying(葡萄)回复于 2002-02-19 12:41:18 得分 0
好像是change事件触发了两次,把我的改变又改回来了
说具体点行吗,我试下来没这种情况Top
7 楼longbow74()回复于 2002-02-19 16:02:22 得分 0
找到问题了。
Adodc1.Recordset.Bookmark = DataCombo1.SelectedItem把我的数据库里的数据改变了,它是先把我选择的值放在当前记录,然后才移到我选择的记录。比如原来是第一条记录,值是1,我在combo选择值是2的第二条记录,它先把我的第一条记录的值改2,再移到第二条记录。好像是这个样子的,应该怎么处理?
另外设置datasource应该这样,否则应该不能正常运行的
table1(field1,field2) table2(field2,field3)
Set DataCombo1.RowSource = adodc2
DataCombo1.ListField = "field3"
DataCombo1.BoundColumn = "field2"
Set DataCombo1.DataSource = adodc1
''DataCombo1.DataField = "field1"
''两个表通过field2关联
DataCombo1.DataField = "field2"
Top
8 楼longbow74()回复于 2002-02-20 10:27:58 得分 0
?Top
9 楼fuxc(Michael(继续迷茫))回复于 2002-02-20 10:45:06 得分 40
你没搞懂datacombo的功能
如果只是移动记录的话,把
Set DataCombo1.DataSource = adodc1
''DataCombo1.DataField = "field1"
''两个表通过field2关联
DataCombo1.DataField = "field2"
这几句去掉,参考看一下textbox的DataSourse,DataField的作用,DataCombo这两个属性的功能更它是一样的,用于更新adodc1当前纪录
不同之处是:datecombo不直接用显示的text来更新纪录你的这两句:
DataCombo1.ListField = "field3"
DataCombo1.BoundColumn = "field2"
意思就是显示的是"field3",但使用"field2"更新adodc1的当前纪录
而且:
Adodc2.Recordset.Bookmark = DataCombo1.SelectedItem
并不能可靠的把adodc2移动到相应的记录,因为SelectedItem不一定等于Bookmark
你在假如"field2"是关键字的话,datacombo的Click事件中写:
adodc2.recordset.find "field2 = '" & datacombo.boundtext & "'"
你在假如"field1"是关键字的话:
adodc2.recordset.find "field1 = '" & datacombo.text & "'"Top
10 楼longbow74()回复于 2002-02-21 15:08:57 得分 0
没懂。我是移动记录,不过我是通过combo选择一个表的数据来移动另一个表的记录指针Top
11 楼longbow74()回复于 2002-02-25 17:13:41 得分 0
继续Top




