举个例子,比如用组合框来选择部门,
问几个问题:
1.如果让组合框显示两个字段,部门编号,部门名称,我用additem填充进去了,关键是如何提取部门编码呀?
如:01 销售
   121 公关
   23 财务
   115 人事
选第二项时,要把编码002取到变量中.可是如何取呀?当然我是举个例子,不一定是部门,因为不可能有100多个部门,如果部门编码的位数一致,我可用left来取,可是部门编码的位数不一样呀.[这是前提,不要说设计不好呀]
2.还是上个例子,因为部门编码与部门名称的长度都不一样,所以下拉列表后很不好看.所以我想让编码和名称都从左边对齐,如下:
01   销售
121  公关
23   财务
115  人事  
可是如何实现呢?如果中间填充空格,也无法判断应该填几个空格呀?因为每次都不一样呀.
再说中间的空格不一样多,这也为分隔字符串带来了困难了.

解决方案 »

  1.   

    1、最好可以在部门编号与部门名称之间加入一个特殊符号,比如“_”(下划线等),
    写入时:
    control.additem rs("编号") & "_" & rs("名称")
    读取时:
    strCode=control.list(control.listindex)
    strcode=left(strcode,instr(strcode,"_")-1)2、首先要确定编号的最大位数,比如是3位的话,不足3位就补相应位数的空格就可以了。
      

  2.   

    如果不用额外的控件,我的思路如下:
    从源头说吧,如果部门,部门编码是数据库中的某张表的数据,则开始先取出两者长度最大者
    如:max(len(dept),len(dept_code))
    然后取出需要的部门数据
    和最大长度比对,即可知道中间需要插入多少空格
    取值时,只要先判断到第一个字符是空格的起始位置,用instr函数,即可得到编码和部门
    另外,为什么部门编码长度会不一致呢?撇开编程不谈,从管理的角度,也应该是一致的,编码规则,长度都要确定。
    希望对楼主有帮助。
      

  3.   

    我觉得可以将编号和名称都设成string*AA(AA是字符最长的长度)  这样编号的长度,名称的长度都一样了 看起来就会很整齐
      

  4.   

    用DataComboBox,
    可以一個是給你看的列表,一個是隱藏在後面的對應的列表。
    客戶選他的,你用對應後面的。如果做個ASP就知道。
      

  5.   

    用DataComboBox,
    可以一個是給你看的列表,一個是隱藏在後面的對應的列表。
    客戶選他的,你用對應後面的。
    --------------
    谢谢,DataComboBox控件如何设出来呀?
    还有,这个控件是不是占资源呀?