2012-01-09 90 views
4
Dim sort_slots_sql As String 
sort_slots_sql = _ 
    "select date, part, service, slot" & _ 
    " from ass_slots, ass_occasions" & _ 
    " where ass_slots.occasion = ass_occasions.occasion" & _ 
    " order by slot, service, date, part" 
Set slots_rst = db.OpenRecordset(sort_slots_sql) 

这给出了太少的参数错误。预计会有一个。在代码的另一个地方,有一个几乎相同的情况,但在那里,两个参数预计!Access 2003 VBA SQL“参数太少”错误

回答

5

我不能确定地说,但我99%确定问题是您在该查询中包含了该表中不存在的字段名称。检查所有的字段名称,并确保它们拼写完全像它们在表格中一样。

此外,“日期”字段是一个可能的嫌疑犯,因为它是Access中的保留字。我建议不要命名字段“日期”。但是,如果你坚持使用该名称,应将其用方括号在您所有的疑问,像这样:

Dim sort_slots_sql As String 
sort_slots_sql = _ 
    "select [date], part, service, slot" & _ 
    " from ass_slots, ass_occasions" & _ 
    " where ass_slots.occasion = ass_occasions.occasion" & _ 
    " order by slot, service, [date], part" 
Set slots_rst = db.OpenRecordset(sort_slots_sql) 
+0

正确的,在一列被命名为“基准”中的一个表(瑞典日期)。非常感谢! – 2012-01-09 21:46:04

+0

你打赌。看到这个错误一百万次。祝你的程序好运。 – JohnFx 2012-01-09 22:09:26

+2

你*看到了很多错误。你有没有看过关于“太多双重咒语”的那个? ;) – onedaywhen 2012-01-10 09:12:27