cyberfan's blog

正其谊不谋其利,明其道不计其功

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  15 随笔 :: 489 文章 :: 44 评论 :: 0 Trackbacks
一、问题重现:
在ACCESS2003中,通过ADO打开一个远程表,用下面的代码给窗体的组合框赋上数据源:
'前面代码省略
........
strSQL = "select * from tblTest"
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient '本地游标
rst.Open strSQL, strConn, adOpenDynamic, adLockOptimistic
set me.组合框名称.Recordset = rst

在Access2000版中一试,发现不支持set me.组合框名称.Recordset = rst

二、解决方法:
1、直接定义值列表
这种方式如果行数过多,则不可行,最大长度为备注字段大小。

2、不使用组合框,而使用其他窗体进行录入,然后将选择结果回传到文本框
这种方式将耗费大的编程时间,不合算

3、将查询结果生成为mdb中的临时表。
这种方式相对于第2种方式更好一些,保存为临时表后,将组合框的数据源用临时表来赋上,当操作员关闭窗体时,将临时表删除。





4、用GetString方法解决,这是上述解决方法中的最佳解决方法(由zhuyiwen提供),分隔符用分号";"。
posted on 2005-08-12 12:52 cyberfan 阅读(342) 评论(0)  编辑 收藏 引用 所属分类: oa
只有注册用户登录后才能发表评论。