我正在尝试执行以下查询,但它不起作用。
SELECT
ManageStudents.StudentId,
ManageStudents.StudentName,
ManageStudents.SubCharges,
ManageStudents.StartSub,
ManageStudents.EndSub,
ManageStudents.IssuedBook,
ManageStudents.DateOfIssue,
ManageStudents.DateOfReturn,
ManageBooks.BookName,
ManageBooks.BookId
FROM
( ManageStudents
INNER JOIN
ManageBooks
ON ManageStudents.IssuedBook = ManageBooks.BookId)
任何帮助将不胜感激。
FROM
(ManageStudents
INNER JOIN
ManageBooks
ON
Cint(ManageStudents.IssuedBook) = ManageBooks.BookId)
Cint()
符合预期。非常感谢!问题已经解决了!
答案 0 :(得分:3)
使用CInt()
将文本字段强制转换为整数。然后,Access将允许您使用整数字段加入该转换后的字段。
如果IssuedBook
是文字字段......
ON CInt(ManageStudents.IssuedBook) = ManageBooks.BookId
如果您在Access查询设计器中执行此操作,则可能会抱怨它无法在“设计视图”中显示连接。但是,您可以切换到SQL视图,修改查询,然后从那里执行它。即使无法在设计视图中显示SQL,SQL仍然可以工作。
如果文本字段包含的值不适合CInt()
,则此任务会更复杂。如果发生这种情况,请向我们展示问题文本字段值的示例。
答案 1 :(得分:2)
它只有一个地方;
ON ManageStudents.IssuedBook = ManageBooks.BookId
确保这两个字段都具有兼容的数据类型。
答案 2 :(得分:1)
请尝试以下查询:
SELECT
ManageStudents.StudentId,
ManageStudents.StudentName,
ManageStudents.SubCharges,
ManageStudents.StartSub,
ManageStudents.EndSub,
ManageStudents.IssuedBook,
ManageStudents.DateOfIssue,
ManageStudents.DateOfReturn,
ManageBooks.BookName,
ManageBooks.BookId
FROM
ManageStudents AS ManageStudents
LEFT JOIN
ManageBooks AS ManageBooks
ON
ManageStudents.IssuedBook = ManageBooks.BookId
我想你在最初的例子中忘记了ManageBooks.BookId
SELECT
。