在业务表的“业务一”窗口的“业务类型”ComboBox2的SelectedIndexChanged 事件中写如下要求代码:
当在ComboBox2中选择不同的值后,文号自动根据历史数据增加一个新的文号,序号自动增加1?
数据源为内部表、Acess、Sql时分别怎么写?
文号的规律:
文号 业务类型
梅价交鉴字 [ ] 号 交通事故
梅价鉴字 [ ] 号 刑事案件 非刑事案件 底价评估
梅价认字 [ ] 号 其它价格认证 调定价费可行性论证 二手车评估
文号里包含的数字序号不是唯一的,而是按文号前一部分文字来分组自动编号,每一组里包含的数字才是唯一的,而且我是在窗口中对控件进行设置代码,这段帮助不用不上,请指导
5楼的代码不要了,在业务表里增加一列:号数 (数字型),并删除所有测试的行 。 SelectedIndexChanged 事件中原代码后面加上
下面的代码:::
Tables("业务").current("号数") = Nothing
Dim dr As DataRow
dr = DataTables("业务").Find("文号 like '" & Forms("业务一").Controls("TextBox2").text & "*'","号数 Desc")
Forms("业务一").Controls("TextBox2").value = Forms("业务一").Controls("TextBox2").text & dr("号数")+1 & "号"
Tables("业务").current("文号") = Forms("业务一").Controls("TextBox2").value
Tables("业务").current("号数") = dr("号数")+1
在mr725代码的启发下,我对代码作如下更改,终于解决了这个问题,谢谢大家的帮助:
1、在业务表里增加一列:号数
2、SelectedIndexChanged 事件中代码修改如下:
Dim dr As DataRow
Dim s AS string
Select Case e.Form.Controls("ComboBox2").SelectedValue
Case "交通事故"
s ="梅价交鉴字【"& dt.Year & "】"
dr = DataTables("业务").Find("文号 like '" & s & "*'","号数 Desc")
Forms("业务一").Controls("TextBox2").value = s & dr("号数")+1 & "号"
Tables("业务").current("号数") = dr("号数")+1
tables("业务").current("文号")= s
[此贴子已经被作者于2010-2-25 9:24:16编辑过]