注册 登录
编程论坛 VFP论坛

怎么删除多个数值(有酬)

shoopblack 发布于 2023-03-20 16:01, 2962 次点击
只有本站会员才能查看附件,请 登录

我想直接从3478795-3622188这期间的怎么一次性删除,每次要删除都要一个一个的敲很麻烦(delete for cil=‘3478795
’pack browse 这样一个一个敲好麻烦)

34 回复
#2
shoopblack2023-03-20 16:02
以下是引用shoopblack在2023-3-20 16:01:46的发言:


我想直接从3478795-3622188这期间的怎么一次性删除,每次要删除都要一个一个的敲很麻烦(delete for cil=‘3478795
’pack browse 这样一个一个敲好麻烦)

有酬
#3
sdta2023-03-20 16:06
DELETE FOR BETWEEN(ALLTRIM(CID),"3478795","3622188")
PACK
BROWSE

[此贴子已经被作者于2023-3-20 16:08编辑过]

#4
吹水佬2023-03-20 16:07
段区间条件可用BETWEEN()函数
#5
shoopblack2023-03-20 16:09
回复 3楼 sdta
红色圈圈里面的数据
#6
shoopblack2023-03-20 16:10
回复 4楼 吹水佬
大神 借一步说话  有没有微信(加个微信或者QQ)
#7
shoopblack2023-03-20 16:12
回复 3楼 sdta
大神 借一步说话  有没有微信(加个微信或者QQ) 我好发报酬
#8
shoopblack2023-03-20 16:15
回复 3楼 sdta
这样行不通呀,我这边要删除的号码都是单独的不存在连号
#9
吹水佬2023-03-20 16:23
不是某段区间编号,那就将红色圈圈里面的数据整理成一个表关联扫描要删除的表记录。
#10
shoopblack2023-03-20 16:26
回复 9楼 吹水佬
大佬有没有QQ或者微信呀  发红包呀
#11
吹水佬2023-03-20 16:36
以下是引用shoopblack在2023-3-20 16:26:24的发言:

大佬有没有QQ或者微信呀  发红包呀

简单问题不要动用QQ了吧,就地解决好了。
将红色圈圈里面的数据表和要删除记录的数据表放上来测试一下就OK了
#12
sdta2023-03-20 16:38
3478795-3622188 是不是这个区间的所有号码
#13
shoopblack2023-03-20 17:12
回复 12楼 sdta
不是的 是3478795  3478831 3479331 这样一个一个单独的数值  不是3478795-3622188这个区间的数值
#14
shoopblack2023-03-20 17:15
回复 11楼 吹水佬
我可不可以这样  直接后缀名DBF格式的转换成EXCEL表格(从里面把数据比对出来删除掉)然后再转换成DBF格式
只有本站会员才能查看附件,请 登录
#15
吹水佬2023-03-20 17:15
以下是引用shoopblack在2023-3-20 17:12:53的发言:

不是的 是3478795  3478831 3479331 这样一个一个单独的数值  不是3478795-3622188这个区间的数值

将3478795  3478831 3479331 ...... 组织起来就得了
#16
吹水佬2023-03-20 17:16
回复 14楼 shoopblack
EXCEL另存为文本也可以
#17
shoopblack2023-03-20 17:18
回复 15楼 吹水佬
组织起来  那代码要如何敲了   我试过delete for cid后面只能敲一个数值
#18
sdta2023-03-20 17:43
上传相关文件
#19
丁春秋yxp2023-03-20 21:59
数据放上来,说清楚要达到什么目的,大佬几秒种返回给你结果。VFP就是为整这些而生的。
#20
mywisdom882023-03-21 00:01
我想直接从3478795-3622188这期间的怎么一次性删除
这些数据,从哪里来的,是在一个表格里面的吗
假设你3478795-3622188这段数据在这个表中:对比表.dbf

delete t1 from 你要删除的表 t1 ,对比表 t2 where t1.cid==t2.cid
#21
schtg2023-03-21 06:40
新增一字段,赋上删除标志,再执行删除,这样应该可以一次性删除,不知理解对否?
#22
hu9jj2023-03-21 08:24
有规则的就按照给定的条件删除记录,没有规律的就按楼上的办法,但是不必新增字段,直接在某个字段中对要删除的记录做标记,或者直接在浏览表时点当前行的左边小方块选择。

[此贴子已经被作者于2023-3-21 08:26编辑过]

#23
星光悠蓝2023-03-21 08:34
没几条记录,排序后手动删除也花不了多少时间,想一劳永逸,做个表单、视图,查询、编辑、删除一操作。
#24
shoopblack2023-03-21 09:07
只有本站会员才能查看附件,请 登录

就是如何快速的把1里面的数字在2里面如何快速的删除,代码如何的敲击,我这边delete for cid='  '这样一个一个敲好麻烦
#25
吹水佬2023-03-21 09:32
先将 1.xlsx 另存为txt
CREATE CURSOR cid1 (cid c(7))
APPEND FROM 1.txt sdf
SELECT * FROM 2 WHERE cid NOT in (SELECT cid FROM cid1)


[此贴子已经被作者于2023-3-21 09:52编辑过]

#26
shoopblack2023-03-21 10:01
回复 25楼 吹水佬
只有本站会员才能查看附件,请 登录
  这个是新建了一个表?
#27
吹水佬2023-03-21 10:09
就是2里面不含1里面的数字的新表,相当于在2里面删除与1的cid相同记录。
#28
shoopblack2023-03-21 10:11
回复 27楼 吹水佬
然后就是保存出来就行了?
#29
吹水佬2023-03-21 10:19
以下是引用shoopblack在2023-3-21 10:11:21的发言:

然后就是保存出来就行了?

INTO 保存,如:
SELECT * FROM 2 WHERE cid NOT in (SELECT cid FROM cid1) INTO TABLE 表名
#30
shoopblack2023-03-21 10:39
回复 29楼 吹水佬
只有本站会员才能查看附件,请 登录
不能识别
#31
shoopblack2023-03-21 10:44
回复 29楼 吹水佬
我可不可这样  直接点文件然后导出
只有本站会员才能查看附件,请 登录
#32
吹水佬2023-03-21 10:57
回复 30楼 shoopblack
完整一句:
SELECT * FROM 2 WHERE cid NOT in (SELECT cid FROM cid1) INTO TABLE 表名

建PRG文件,方便修改调试。
#33
吹水佬2023-03-21 10:58
以下是引用shoopblack在2023-3-21 10:44:02的发言:

我可不可这样  直接点文件然后导出

调试还可以,实际应用就不太好了吧。
#34
shoopblack2023-03-21 11:00
回复 33楼 吹水佬
我这边不调试的  就只是单纯的把这个数据表DBF整理出来
#35
xuminxz2023-03-21 12:53
首先再次强调,不要用数字开头作表文件名!
将2.dbf改名为B2.dbf,将1的数据导到表 b1.dbf中,例如字段名为cid
delete from b2 where  cid in (select cid from b1)

1