CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

datacombo的用法?

楼主longbow74()2002-02-09 17:40:11 在 VB / 基础类 提问

连接两个数据源,通过选择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

相关问题

  • 救救我!DataCombo的正确用法!!!!!!!!
  • &*用法~~
  • setfocus的用法
  • icmp.dll的用法
  • Recordset的用法。
  • DataGrid的用法?
  • CDONTS.dll的用法???
  • EnumChildWindows的用法?
  • ListView的用法?
  • Request.QueryString的用法?

关键词

  • 选择
  • 数据
  • datacombo
  • adodc
  • 记录
  • selecteditem
  • field
  • datafield
  • listfield
  • bookmark

得分解答快速导航

  • 帖主:longbow74
  • donglw
  • wjying
  • fuxc

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo