24.12.2007, 21:03
общий
это ответ
Здравствуйте, Yuryeva!
Этот код подразумевает использование библиотеки DAO, как ее подключить в Access 2.0 не подскажу, но сделать это надо.
Единственная обнаруженная ошибка, скорее похожа на опечатку, отмечена в коде.
В целом конструкция работоспособна, убедиться можно выполнив ее пошагово.
Евгений.
P.S. в Вашем коде присутствуют неиспользуемые переменные - это не есть хорошо.
Приложение:
Function Export1() ‘Exporter As Long) As Integer - не используемый аргумент и свойство ‘Dim StcAQL As String - не используемая переменнаяConst stcSQL = "SELECT DISTINCTROW otchet.*,podr.sh_name FROM otchet INNER JOIN podr ON otchet.код_подразделения = podr.kod_podr WHERE datat Between data-5 And data+5 And datat<=date()+2"Dim db As Database, rs As Recordset, qd As QueryDef ‘, rst As Recordset - не используемая переменная Set db = CurrentDb() Set rs = db.OpenRecordset(stcSQL)If rs.EOF Then MsgBox "Нет данных для копирования" ElseOn Error Resume Next db.QueryDefs.Delete "_tempQD" db.QueryDefs.Refresh ‘On Error GoTo 0 - не используемая команда Set qd = db.CreateQueryDef("_tempQD", stcSQL) db.QueryDefs.Refresh DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "_tempQD", "C:\otchet.xls" ‘в Вашей конструкции была ошибка - DoCmd TransferSpreadsheet ... db.QueryDefs.Delete "_tempQD" db.QueryDefs.Refresh MsgBox "Скопирован отчет. Файл находится по адресу C:\otchet.xls" End IfEnd Function