2017-09-01 46 views
0

我正在处理一个项目,我需要将查询的记录集导出到Excel文件。我得到了Excel导出部分的工作。但是我在查询时遇到了一些麻烦。MySQL查询中的语法错误(缺少运算符)

Private Sub Tch_rep_Click() 
Dim strSQL As String 
Dim qdf As DAO.QueryDef 

strSQL = "SELECT tbl_tch.teacher_id,teacherfirstname_vchr,teachersurname_vchr,description_vchr,teacheremail_vchr FROM tbl_tch " & _ 
"LEFT JOIN tbl_tchcareer ON tbl_tch.teacher_id = tbl_tchcareer.teacher_id " & _ 
"LEFT JOIN tbl_typedescription ON tbl_tchcareer.tchspecialism_int = tbl_typedescription.description_int " & _ 
"AND tbl_typedescription.descriptiongroup_int = 6 " & _ 
"ORDER BY tbl_tch.teacher_id DESC" 

Set qdf = CurrentDb.CreateQueryDef("TeacherRecords", strSQL) 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "TeacherRecords", "K:\Records\Teachers\Teacher Records.xls", True 

CurrentDb.QueryDefs.Delete qdf.Name 

qdf.Close 
End Sub 

我收到以下错误消息。

“语法错误(缺少操作员)在查询表达式“tbl_tch.teacher_id = tbl_tchcareer.teacher_id留在tbl_tchcareer.tchspecialism_int加入tbl_typedescription = tbl_typedescription.description_int”

当我使用一个简单的查询,如“从表名SELECT * “一切正常。

查询在mysql控制台中工作。

+0

您是否缺少'WHERE'? –

+0

没有实际上,当我使用而不是和,它工作正常。但它不会返回所有记录。只有当前查询返回我需要的所有记录 –

+0

查询在mysql工作台中正常工作。不幸的是没有在这方面工作(vba) –

回答

-1

将整个strSQL更改为小的简单部分,然后您会发现问题。

相关问题