Foxtable(狐表)用户栏目专家坐堂 → foxtable 在使用“字典”输入时的一些缺陷


  共有12877人关注过本帖树形打印复制链接

主题:foxtable 在使用“字典”输入时的一些缺陷

帅哥哟,离线,有人找我吗?
curt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:384 威望:0 精华:0 注册:2011/4/23 15:45:00
foxtable 在使用“字典”输入时的一些缺陷  发帖心情 Post By:2011/4/28 4:42:00 [只看该作者]

  比如说我要使用“字典”,通过代码来输入人名。如王小刚,王晓刚,王兴国 我都打算用wxg代替,在数据字典里既是这样填写:

        

             数据       显示值

             wxg      王小刚

             wxg      王晓刚

             wxg      王兴国

 

   希望在输入wxg的时候这3个名字都出来,再通过下拉列表进行选择。但是貌似“字典”里数据必须是不同的,不然会后一个值会覆盖掉上面一个相同的值。在这种情况下我输入wxg的时候只会出现“王兴国”这个人名。当然我可以把数据改为wxg1,wxg2,wxg3。但是这样做以后输入起来的确不方便。

   个人认为在一些应用中会有这种相同的“数据”对应不同“显示值”的情况。还有,能不能把数据字典里的“代码项目”或“标准”里也添加 “数据表”功能。在有大量代码数据的时候如果还要一项一项专门在数据字典里输入将是一件很繁琐的事情。希望狐狸爸爸能够考虑上述问题并完善这项功能。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/28 7:21:00 [只看该作者]

这是没有办法的,字典必须有严格的对应关系。

 回到顶部
帅哥哟,离线,有人找我吗?
curt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:384 威望:0 精华:0 注册:2011/4/23 15:45:00
  发帖心情 Post By:2011/4/28 12:40:00 [只看该作者]

 怎么会是没有办法呢? 我觉得从程序设计角度上是可以修改的,而且也不是很困难。只不过这个要看你们自己觉得值不值的修改罢了。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/28 12:49:00 [只看该作者]

学会了后,也许你自己可以做出来的。增加一列 GetPY 将指定汉字转换为拼音格式。并参照 多列数据字典

 

老大只是不想过早的让他的系统变得太“肥胖”了吧(猜测的)

[此贴子已经被作者于2011-4-28 15:49:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/4/28 17:03:00 [只看该作者]

按照你的意思做的,只要在表B中在姓名列输入姓名后,然后回到表A,点击姓名列,会出来一个类似你要求的数据字典,此字典跟你的要求一摸一样的.只要勾选点确定.名字会自动输入姓名列.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:虚拟数据字典.table


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/28 17:20:00 [只看该作者]

图片点击可在新窗口打开查看虽然复杂了些但有点意思····   其实只要在表事件中就可以搞定的。等下我来弄一个。


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/4/28 17:35:00 [只看该作者]

看你的,不要窗口?

 回到顶部
帅哥哟,离线,有人找我吗?
curt
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:384 威望:0 精华:0 注册:2011/4/23 15:45:00
  发帖心情 Post By:2011/4/28 18:25:00 [只看该作者]

   呵呵,谢谢楼上的兄弟做的这个东西。但这个不是我需要的。而且用起来很繁琐,反而不如直接打名字。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/28 18:58:00 [只看该作者]


表事件:

 

PrepareEdit:::::::::::::

Dim s,s1,s2 As String
Dim mdm As New MultiDataMap
For i As Integer = 0 To  DataTables("来源表").GetComboListString("取值列").split("|").length -1
    s = getPY(DataTables("来源表").GetComboListString("取值列","取值列 is not null","取值列"),True).split("|")(i)
    s1 = DataTables("来源表").GetComboListString("取值列").split("|")(i)
    s2 = s2 & "" & s & "" & "-" & "" & s1 & "" & vbCrLf
Next
Tables("目的").Cols("要生成的列表项目的列").ComboList = s2

 

AfterEdit:::::::::::目的表  该列属性中将允许直接输入设为True

If e.Col.Name = "要生成的列表项目的" And e.Row("要生成的列表项目的").contains("-") Then
    e.Row("要生成的列表项目的") = e.Row("要生成的列表项目的").split("-")(1)
End If

[此贴子已经被作者于2011-4-28 20:15:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/4/28 20:21:00 [只看该作者]

mr725兄你的东西测试有一点问题,后来我想想是做复杂了,在路上想到了还有一个更加简单的办法。就是利用表来做这个。但是传不上来。


 回到顶部
总数 15 1 2 下一页