Stu*_*ork 6 sql ms-access dummy-data
假设我有一个表"tblItems":
*ID* | *Name*
1 | First Item
2 | Second Item
Run Code Online (Sandbox Code Playgroud)
我希望将其填入表格的下拉列表中.我该如何添加一行:
ALL | SHOW ALL
Run Code Online (Sandbox Code Playgroud)
成为
*ID* | *Name*
1 | First Item
2 | Second Item
ALL | SHOW ALL
Run Code Online (Sandbox Code Playgroud)
一个查询放在Row Source组合框中?我无法找到Access语法来执行此操作..
AFAIK,我需要类似的语法
SELECT ID, Name FROM tblItems
UNION
SELECT 0, "All" FROM SOME.SYSTEM.DUMMY.TABLE
Run Code Online (Sandbox Code Playgroud)
我找不到的是那个虚拟表的Access'版本.我真的不想有一个单独的表只是为一个表单存储一行......但是从我一直在阅读的内容我可能不得不这样做.
你可以这样做:
select ID, Name
from tblItems
union all
select 'ALL', 'SHOW ALL'
Run Code Online (Sandbox Code Playgroud)
如果你一直希望它显示在底部,你必须要复杂一点.
根据评论,我意识到Access不支持SELECT没有FROM子句的语句,这很烦人.解决方法是创建一个表tblAll(语法可能需要修改):
create table tblAll(ID varchar(15), Name varchar(30));
insert into tblAll(ID, Name) values ('ALL', 'SHOW ALL');
Run Code Online (Sandbox Code Playgroud)
然后你可以这样做:
select ID, Name
from tblAll
union all
select str(ID) as ID, Name
from tblItems
Run Code Online (Sandbox Code Playgroud)
小智 7
我所做的是使用一个SELECT TOP 1语句并使用现有的表名,所以它看起来像这样:
SELECT ID, Name FROM tblItems
UNION
SELECT TOP 1 'ALL', 'SHOW ALL' FROM tblItems
Run Code Online (Sandbox Code Playgroud)
这将为您提供单行以及现有表格中的选择.您可以使用所需的任何表格TOP 1.