在MS Access中创建一个表

时间:2010-10-17 16:55:17

标签: ms-access

我在MS ACCESS中有一个查询,我在MS ACCESS中运行它:

SELECT * FROM table1 
INNER JOIN table2 ON table1.f1=table2.f1 WHERE table1.f2=table2.f2

工作正常。但是,我需要将结果保存到另一个表中。所以,我把它改成了:

SELECT * Into a1
FROM table1 INNER JOIN table2 ON table1.f1=table2.f1 WHERE table1.f2=table2.f2

它不起作用。我收到此错误:“无法打开数据库。它可能不是您的应用程序识别的数据库,或文件可能已损坏。” 有谁知道如何将结果保存在数据库或txt文件中?

非常感谢。

4 个答案:

答案 0 :(得分:1)

数据库是只读的吗?

要检查的一些事项:

是否设置了DB文件的只读属性?
您是否使用“Open Read Only”打开数据库? 你是否没有磁盘空间?
是否有足够的磁盘空间来创建新表?

答案 1 :(得分:1)

您可以使用insert into命令,请参阅:http://msdn.microsoft.com/en-us/library/bb208861(office.12).aspx

同样出现数据库处于只读模式。

答案 2 :(得分:1)

您可以轻松地将结果输出为.txt文件或.csv文件(可以在Excel中查看)。要导出.txt文件:

DoCmd.TransferText acExportDelim, , "myQuery", "C:\myQuery.txt", True

您可以在帮助中研究TransferText,以查看.csv文件的选项。

这应该很容易。

答案 3 :(得分:0)

尝试使用您选择中提到的值创建一个新表。

第1步:

CREATE TABLE table_shadi
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
)

确保您定义了与查询相同的数据类型和字段数

第2步:

Insert into table_shadi(column_name1,column_name2,column_name3)
SELECT column_name1,column_name2,column_name3
FROM table1 
INNER JOIN table2 
ON table1.f1=table2.f1 
WHERE table1.f2=table2.f2

希望它有所帮助。