我今天需要的是以下内容:
我已经构建了一个表单,并且我有几个表可以写入该表单,如何在打开表单时将其设置为可选?我认为基本上,在打开表单之前,我应该选择另一种形式的表来写,事情是,要写入的表的列表是不固定的,我有一个用于创建表的表单。
例如,我创建表x和表y和表w,它们在结构和字段名称和所有内容上都相同,它只是更改表名本身和字段中的值。我如何告诉表格我必须在表格x上写字直到关闭表格然后在关闭之后,当我再次打开时,它再次询问哪个表写入并写入它直到我关闭表格。然后我决定创建表格u,下次打开表格时,表格必须在列表中,这有多可行,我应该如何处理它?</ p>
我已经有一个与创建新表的表单进行通信的表,因此,保留了创建的每个表的记录,因此,我可以获取要写入的表的名称,我现在的问题是如何要改变表单中控件的来源,可以从代码中完成吗?
答案 0 :(得分:1)
在打开表单时,您可以遍历表集合DAO.TableDefs 并使用tableDeft的名称填充列表框。 当用户选择表名时,您可以将表单的记录源设置为表名。
答案 1 :(得分:0)
您可以考虑创建一个包含以下查询的列表:
SELECT MSysObjects.Name
FROM MsysObjects
WHERE (Left$([Name],1)<>"~")
AND
(Left$([Name],4) <> "Msys")
AND (MSysObjects.Type)=1
ORDER BY MSysObjects.Name;
MSysObjects可以为您提供数据库中的对象列表。 请记住,如果您有通过链接表管理器提供表的后端,则需要使用:
SELECT Name
FROM MSysObjects
WHERE Databse <> '';
使用此方法,您可以使用此查询作为记录源填充控件。然后,您可以提示用户指示并更明确地处理每个表。