0

我正在尝试执行以下查询,但它不起作用。

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)

任何帮助,将不胜感激。

编辑1:

FROM  
     (ManageStudents 
INNER JOIN 
      ManageBooks 
ON 
      Cint(ManageStudents.IssuedBook) = ManageBooks.BookId)

Cint()预期工作。非常感谢!问题已解决!

4

3 回答 3

3

用于CInt()文本字段将其转换为整数。然后 Access 将允许您将转换后的字段与整数字段连接起来。

如果IssuedBook是文本字段...

ON CInt(ManageStudents.IssuedBook) = ManageBooks.BookId

如果您在 Access 查询设计器中执行此操作,它可能会抱怨它无法在设计视图中显示连接。但是,您可以切换到 SQL 视图、修改查询并从那里执行它。即使 SQL 不能在设计视图中显示,它仍然可以工作。

如果文本字段包含不适合的值,此任务将更加复杂CInt()。如果发生这种情况,请向我们展示问题文本字段值的示例。

于 2013-08-27T15:15:06.867 回答
2

它只能在一个地方;

ON ManageStudents.IssuedBook = ManageBooks.BookId

确保这两个字段都具有兼容的数据类型。

于 2013-08-27T15:07:44.613 回答
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.BookIdSELECT最初的例子。

于 2013-08-27T15:14:11.313 回答