2015-06-09 97 views
0

我有它嵌套查询的查询,像这样:不明白为什么这个查询崩溃访问

select table1.name, table1.address 
     from table1 
     where table1.year=[forms]![form1]![year] 
      and table1.name not in 
      (select table2.name 
        from table2 
        where table2.year=[forms]![form1]![year]) 

这种崩溃访问每次。我正在做一些不允许的事情吗?

+2

如果不允许,那么访问会告诉你。崩溃的访问是您遇到错误的迹象,或者查询正在进入一个非常深的兔子洞。 –

+1

我意识到你的样品就是这样,但没有确认,当我看到使用的保留字时,它会吓到我。你是否试图通过首先删除第二个条件并测试来测试你的查询,然后删除第一个条件并使用第二个条件进行测试?如果他们工作正常,您可能会损坏数据库。 –

+1

什么是碰撞症状? – HansUp

回答

0

我能够通过使用VBA建立我的查询来使它工作。

基本上我写的那台RS的函数= db.OpenRecordset( “我的子查询”)

然后遍历RS,并追加到一个字符串,像这样:

string="" 
rs.MoveFirst 
Do Until rs.EOF 
string=string & "'" & rs.Fields(0) & "', " 
rs.MoveNext 
loop 
if string <> "" then string=Left(string,len(string)-2) 

最后:

strSQL="select table1.name, table1.address from table1 where table1.year=forms]![form1]![year] and table1.name not in (" & string & ")" 
我的更新后事件过程中

然后

me![subform].form.Recordsource=myfunction() 

现在一切正常