查询提示输入参数值

时间:2018-12-03 15:20:57

标签: ms-access

我正在尝试为我的课程创建一个VIEW。我被指示使我的Access兼容语法ANSI92。我这样做了,但是我不断收到一条消息,提示:

  

“输入'JR'的参数值。

但是它应该只显示字段值中带有JR的任何内容。

知道我在做什么错吗?

SELECT Student.IDno, LastName, FirstName, Class AS
Junior, Major, GPA
FROM Student, Person
WHERE Student.IDno = Person.IDno
AND Class = “JR”;

我还必须包括2-3个不同表中的列,更改其中两列的标题,并仅显示具有class = "JR"的记录。

任何从何处开始寻找此信息的建议都将是不错的。

谢谢。

编辑:感谢您对最后一个的帮助。现在,我正在尝试更改它,使其能够从多个表中拉出,但似乎无法解决任何问题。当我运行此代码时,它告诉我找不到表或查询。如果我单独运行每个部分,则效果很好。我需要从4个表中提取一些信息...

SELECT Student.IDno, Person.LastName, Person.FirstName, Student.Class, Student.Major, Student.GPA
FROM Student, Person
WHERE Student.IDno = Person.IDno
AND Class = 'JR';
UNION
SELECT Student.IDno, Enrollment.OfferNo, Enrollment.Grade
FROM Student, Enrollment
WHERE Student.IDno = Enrollment.IDno;

1 个答案:

答案 0 :(得分:0)

SQL代码中出现的双引号是'智能引号'或Unicode字符0x201C,而标准双引号是Unicode / ASCII字符{{ 3}}。

因此将SQL更改为:

import tkinter as tk
button = tk.Button(...)

或:

SELECT Student.IDno, LastName, FirstName, Class AS Junior, Major, GPA
FROM Student, Person
WHERE Student.IDno = Person.IDno
AND Class = "JR";

将解决此问题。


但是,我也强烈建议使用SELECT Student.IDno, LastName, FirstName, Class AS Junior, Major, GPA FROM Student, Person WHERE Student.IDno = Person.IDno AND Class = 'JR'; (即ANSI-92语法)代替在INNER JOIN子句中具有连接条件的笛卡尔乘积(ANSI -89语法):

WHERE

为每个字段(例如SELECT Student.IDno, LastName, FirstName, Class AS Junior, Major, GPA FROM Student INNER JOIN Person ON Student.IDno = Person.IDno WHERE Class = 'JR'; Person.LastName)声明表限定符也是可取的,以避免在多个表中使用同名字段引起的保留字使用不当或歧义。


在添加到问题中的代码中,您试图进行Student.LastName两个UNION查询,这些查询输出不同数量的列,并且可能输出不同的数据类型-这是无效的。

我想您实际上是想这样做:

SELECT