使用 Access 2003
表1
ID Name Value
001 Raja 100
002 Ramu 200
004 Raqu 500
008 Ravi 250
...
这里我想删除表格中的空白行?
Delete from table1 ...?
预期产出
ID 名称 值
001 Raja 100
002 Ramu 200
004 Raqu 500
008 Ravi 250
...,
需要查询帮助。
Delete from table1
where ID=' '
and Name=' '
and Value=' '
或
Delete from table1
where ID is null
and Name is null
and Value is null
如果您的字段允许零长度字符串并且其中可以包含空格,那么这是一种解决方案:
DELETE FROM table1
WHERE Len(Trim(ID & ''))=0
AND Len(Trim(Name & ''))=0
AND Len(Trim(Value & ''))=0;
我假设您正在编写要在 Access 本身中执行的 SQL,因为 Trim() 和 Len() 是 Access/VBA 函数(两者都是由使用 VBA 的 Access 表达式服务提供的,因此这无法通过 ODBC 工作或 OLEDB)。
现在,这会忽略这些字段中的其他类型的问题,例如制表符或 Cr/Lf 字符。如果上面的操作没有删除所有行,那么您必须在字段中查看实际字符是什么,然后将其清除。
我还希望您的字段名称是假的,因为 NAME 和 VALUE 都是 Access 保留字,应该避免出现在 Access/Jet/ACE 中任何级别的对象名称中。
我会推荐一个更通用的解决方案:
DELETE tblYourTable.*, tblYourTable.[OneFieldThatIsAlwaysEmpty]
FROM tNewTable
WHERE tNewTable.[OneFieldThatIsAlwaysEmpty] Is Null;
当然,这要求您的表中有一个真正为空(Null)的字段
优点是您不必定义表中的所有单个字段。在上面的答案中,这没有问题,因为示例表只有两个或三个字段。但通常桌子更大。
请注意,当您的表不是 Access 中的实际表而是获取数据的所谓“链接表”时,删除查询将不起作用。来自 Excel。在这种情况下,您首先应该将数据传输到真正的 Access 表中。
(已在Access 2010中测试过)
对不起论坛... 我没有其他答案,但我有这个:
我完全同意那个人的说法,他希望那些为 vba 问题提供建议和/或解决方案等的人需要准确告知编码将插入的位置......什么属性:表单、查询、控制、加载,当前等
论坛会员...我、提出此事的人以及所有有一天会发现这个论坛的人将非常感激。
祝你们每个人平安,享受剩下的夜晚,并始终努力保持日夜安全。
一份爱, 火焰...