2014-09-18 1 views
1

많은 쿼리를 작성했지만이 쿼리로 어려움을 겪고 있습니다.런타임 오류 '3065'선택 쿼리를 실행할 수 없습니다.

다음 SQL을 실행하면 런타임 오류 3065가 발생합니다.

Dim db As DAO.Database 
Dim sqlstring As String 

Set db = DBEngine(0).Databases(0) 


sqlstring = "SELECT ebk.hr_leav_amnt AS hr_clia_hour, ebk.hr_leav_type, ebk.hr_leav_code, ebk.hr_empl_code, ebk.hr_loadg_amt AS hr_loadg_amt, 'Leave Pay' AS hr_provision, mst.hr_paym_code, mst.hr_base_hour, '' AS hr_splt_accr, mst.hr_leav_abbr, ype.hr_norm_pcnt, ype.hr_allw_amnt" 
sqlstring = sqlstring + " FROM hrtlvebk AS ebk, hrtlvmst AS mst, hrtptype AS ype" 
sqlstring = sqlstring + " WHERE ebk.hr_leav_code Like 'a%' And ebk.hr_leav_code = [mst].[hr_leav_code] And ebk.hr_leav_type Like '1%' And bk.hr_leav_type = [mst].[hr_leav_type] And ebk.hr_recd_type = 'a' And ebk.hr_lbkg_refn = 'ACCRUAL' And ebk.hr_from_dati >= 20140701 And ebk.hr_from_dati <= 20140730 And mst.hr_load_rule <> 'y' And mst.hr_paym_code = [ype].[hr_paym_code]" 
sqlstring = sqlstring + " GROUP BY ebk.hr_leav_amnt, ebk.hr_leav_type, ebk.hr_leav_code, ebk.hr_empl_code, ebk.hr_loadg_amt, mst.hr_paym_code, mst.hr_base_hour, mst.hr_leav_abbr, ype.hr_norm_pcnt, ype.hr_allw_amnt" 
db.Execute sqlstring, dbFailOnError 

쿼리 (SQL) 문을 실행할 때 제대로 작동합니다. 내가 변경하는 유일한 것은 where 절의 텍스트입니다. ('a %'- 쿼리는 "a %"입니다.)

감사합니다.

답변

3

메시지는 선택의 결과를 검색 할 수 있도록 Openrecordset를 사용해야합니다 SELECT 쿼리에 대한 사실이다. Execute은 값을 반환하지 않는 '명령'쿼리 용입니다.

관련 문제