设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4977|回复: 12
打印 上一主题 下一主题

[查询] [已解决]子窗体多值填充

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-18 10:41:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zenkifox 于 2011-10-28 10:23 编辑




打开我的窗体,我想输入完物品编码以后,在物品名称处自动填充这几种物品的相应名称,如何实现,理想的效果如下:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-10-18 12:07:53 | 只看该作者
2007打不开

点击这里给我发消息

3#
发表于 2011-10-18 12:28:17 | 只看该作者
系统自带的多值不太好实现
你可在编码选择后,用代码split拆分有几个编码 ,然后从 物料表中取对应的名称,再填到 名称字段里。这样要多一个冗余字段来保存这个名称
4#
发表于 2011-10-18 12:46:25 | 只看该作者
本帖最后由 yehf 于 2011-10-18 12:51 编辑
tmtony 发表于 2011-10-18 12:28
系统自带的多值不太好实现
你可在编码选择后,用代码split拆分有几个编码 ,然后从 物料表中取对应的名称, ...


就是按这个思路做的一个例子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2011-10-18 13:06:40 | 只看该作者
一对多,两个表,多方表就可以自动填充!又避免数据冗余!

点击这里给我发消息

6#
发表于 2011-10-18 20:08:40 | 只看该作者


  1. Option Compare Database
  2. Option Explicit

  3. Private Sub 货品编码_AfterUpdate()
  4.     Dim v As String
  5.     If Not IsNull(货品编码.Value) Then
  6.         v = Join(货品编码.Value, ",")
  7.     End If
  8.     Me.货品名称 = lookValue(v)
  9. End Sub

  10. Private Function lookValue(c As String) As String
  11.     Dim sql As String
  12.     If c <> "" Then
  13.         sql = "SELECT 货品名称 FROM 货品表 WHERE 货品编码 IN(" & c & ")"
  14.         Dim rs As ADODB.Recordset
  15.         Set rs = CurrentProject.Connection.Execute(sql)
  16.         lookValue = rs.GetString(, , ",", ",")
  17.         rs.Close
  18.         Set rs = Nothing
  19.         If Len(lookValue) > 0 Then
  20.             lookValue = Left(lookValue, Len(lookValue) - 1)
  21.         End If
  22.         Debug.Print lookValue
  23.     End If
  24. End Function
复制代码
技术要点:
1、Join(货品编码.Value, ",") 这时的 Value 是一个数组
2、rs.GetString(, , ",", ",") 将记录集转换为字符串

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
 楼主| 发表于 2011-10-19 10:38:20 | 只看该作者
本帖最后由 zenkifox 于 2011-10-19 10:41 编辑
zhuyiwen 发表于 2011-10-18 20:08
技术要点:
1、Join(货品编码.Value, ",") 这时的 Value 是一个数组
2、rs.GetString(, , ",", ",")  ...


我按照此思路,放在了我的工程上,怎么提示错误,请帮我看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
发表于 2011-10-19 12:12:32 | 只看该作者
需要引用ADO
9#
发表于 2011-10-19 12:53:46 | 只看该作者
zhuyiwen 发表于 2011-10-18 20:08
技术要点:
1、Join(货品编码.Value, ",") 这时的 Value 是一个数组
2、rs.GetString(, , ",", ",")  ...

好思路,学习了

点击这里给我发消息

10#
发表于 2011-10-21 11:23:59 | 只看该作者
zhuyiwen 发表于 2011-10-18 20:08
技术要点:
1、Join(货品编码.Value, ",") 这时的 Value 是一个数组
2、rs.GetString(, , ",", ",")  ...

Very good,好点子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-4 02:51 , Processed in 0.180259 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表