| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6821 人关注过本帖
标题:求助!如何用vb6.0实现批量自动填充序列号
只看楼主 加入收藏
awdrgy1223
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-6-1
结帖率:0
收藏
 问题点数:0 回复次数:15 
求助!如何用vb6.0实现批量自动填充序列号
数据库是ACCESS,表格名称为表1,在窗体设置4个combobox,combo1为字母A-Z、combo2为数字01-99、combo3为数字01-99、combo4为状态,只有“使用”和“空闲”两个选项,还有一个text“备注”。假设combo1选择A,combo2选择01,combo3选择16,combo4选择使用,text备注不填,请教大神们,如何在VB中实现在表格中批量添加这些数据?代码怎么写?combo4和备注是统一的,变化的只有combo1-3。
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-6-5 20:46编辑过]

搜索更多相关主题的帖子: 字母 如何 数据库 序列号 
2016-06-05 20:43
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
说实话没看明白你说批量是什么意思
如果是从数据库中得到这些数据,填充到Combo中,可以使用SQL语言进行查询
比如combo1, “Select distinct SUBSTRING(号码,1,1) From 表名” ,其他的几个是类似的
注: 1. SQL测试通过, Access不清楚,最好测试一下
     2. SUBSTRING(号码,1,1) 第一个1 是从第一位开始, 第二个1是取一位字符
     3. 修改表名
     4. distinct 是去除重复,根据情况选用

如果是反过来的话,就是简单的增加数据,combo1~3只有一个被选中,何来批量。即使是批量也只是循环而已
2016-06-06 13:06
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
如果批量录入,就不需要ComboBox控件了,只要输入你需要批量录入的数量就可以,当A01-**中的**大于99,就自动为A02-01开始,当**大于99,就自动为A03-01开始,以此类推。
例如录入数量你输入的是500条,那么录入后的结果就是A01-01到A06-05(01-99是99条记录)。
是不是这个意思,如果是,可以给你做一个。

请不要选我!!!
2016-06-06 13:34
awdrgy1223
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-6-1
收藏
得分:0 
回复 3楼 ZHRXJR
是的,大概就是这个意思,不过有一点,我想灵活一点,前面那个不规定是A,也可以是其它字母B-Z或01-99,其实就像平时用的excel表,内容是根据需要输入,下拉的话,会自动填充序列,只不过在VB中我不会实现。不知道可不可以帮我做一个,谢谢。

[此贴子已经被作者于2016-6-6 23:19编辑过]

2016-06-06 23:08
awdrgy1223
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-6-1
收藏
得分:0 
回复 2楼 xiangyue0510
我的意思是我在文本输入A01-01,然后按添加按钮,添加到表中,一条一条信息录入太麻烦,所以才想输入一个比较灵活的字符,批量添加进表里。我是新手哈,用COMBO是我自己想出来的,比如com1选A,com2选01,com3选16,就是批量添加A01-01到A01-16这段。

[此贴子已经被作者于2016-6-6 23:16编辑过]

2016-06-06 23:13
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
以下是引用awdrgy1223在2016-6-6 23:13:32的发言:

我的意思是我在文本输入A01-01,然后按添加按钮,添加到表中,一条一条信息录入太麻烦,所以才想输入一个比较灵活的字符,批量添加进表里。我是新手哈,用COMBO是我自己想出来的,比如com1选A,com2选01,com3选16,就是批量添加A01-01到A01-16这段。

如果是向数据库录入数据,每个状态除非是完全一样的,要不就无法实现你说的批量。程序不知道哪条记录是使用 ,哪条未使用。
如果是一样的,那你用combo还是textbox都可以。无非就是字符段操作+循环+添加记录的代码。
2016-06-07 09:00
awdrgy1223
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-6-1
收藏
得分:0 
回复 6楼 xiangyue0510
状态在批量添加的那组数据中是一致的,请问代码应该怎么写?
2016-06-07 10:07
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
以下是引用awdrgy1223在2016-6-7 10:07:28的发言:

状态在批量添加的那组数据中是一致的,请问代码应该怎么写?

这个难么?……
数据库连接我就不给你说了,不清楚你用的是ADO还是DAO。
按照一开始的说法,使用的Combo1~3
程序代码:
'连接数据库的代码
 '……
For i= 1 to cint(trim(combo3))

 Dim no1 , no2 , no3 as string  

 no1 = trim(combo1)

 no2 = trim(combo2)

 no3= i 

 if i<10 then  no3= "0" & i

 TheID =no1  &  no2 & "-" no3  


 sqltxt="insert into 表名(号码,状态) values("& TheID & ",'使用')"

 '执行sqltxt语句的代码
 '……
Next i
2016-06-07 10:52
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
首先每次录入的数量你自己可以设置,例如100条,200条,1000条,10000条等等,但录入必须要有规律,例如首先录入A01-01到A99-99,然后录入B01-01到B99-99等等。
或在一个文本框输入前面的字符,例如输入D,那么就可以录入D01-01到D99-99,当然如果录入数量不足9801条,例如1000条,那么录入的就是D01-01到D11-10,以此类推。
如果你想在每次录入过程中改变前面的字符,这个非常困难,几乎办不到。
如果你在录入前,改变录入的起始号码与终止号码,这个也可以办到。
这些问题清楚了,再给你做。

[此贴子已经被作者于2016-6-7 12:41编辑过]


请不要选我!!!
2016-06-07 12:39
awdrgy1223
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-6-1
收藏
得分:0 
回复 8楼 xiangyue0510
您好
if i<10 then  no3= "0" & i
 TheID =no1  &  no2 & "-" no3
这句话看不明白,能解释下吗?
想了下,明白了,i<10 就是定义它能显示01-09,但我这里显示出来的是1-9
现在已经搞掂了

[此贴子已经被作者于2016-6-7 22:05编辑过]

2016-06-07 15:04
快速回复:求助!如何用vb6.0实现批量自动填充序列号
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035447 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved