我在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文件中?
非常感谢。
答案 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
希望它有所帮助。