|
запрос в vba
#36035064
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
Участник
Откуда: Moscow
Сообщения: 2 731
|
|
макрорекордером пытаюсь оформить в код процедуру выполнения sql-запроса к БД акса.
Запрос следующий:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.
SELECT a.`ID клиента в RS-Bank`,
a.Филиал,
a.Заемщик,
a.`Номер договора`,
a.`Остаток ссудной задолженности`,
a.`В том числе просроченной`,
c.`Остаток ссудной задолженности` As `Остаток ссудной задолженности2` ,
c.`В том числе просроченной` As `В том числе просроченной2`,
1 as `Признак суммы`
FROM `D:\InitialData`.` 01 / 04 / 09 ` a
LEFT OUTER JOIN `D:\InitialData`.` 01 / 05 / 09 ` c
ON a.`ID клиента в RS-Bank` = c.`ID клиента в RS-Bank`
AND a.`Номер договора` = c.`Номер договора`
UNION
SELECT b.`ID клиента в RS-Bank`,
b.Филиал,
b.Заемщик,
b.`Номер договора`,
e.`Остаток ссудной задолженности`,
e.`В том числе просроченной`,
b.`Остаток ссудной задолженности`,
b.`В том числе просроченной`,
1 as `Признак суммы`
FROM `D:\InitialData`.` 01 / 05 / 09 ` b
LEFT OUTER JOIN `D:\InitialData`.` 01 / 04 / 09 ` e
ON b.`ID клиента в RS-Bank` = e.`ID клиента в RS-Bank`
AND b.`Номер договора` = e.`Номер договора`
UNION
SELECT
f.`ID клиента в RS-Bank`,
f.Филиал,
f.Заемщик,
'',
sum(f.`Остаток ссудной задолженности`),
sum(f.`В том числе просроченной`),
sum(f.`Остаток ссудной задолженности2`),
sum(f.`В том числе просроченной2`),
2 as `Признак суммы`
FROM (
SELECT a.`ID клиента в RS-Bank`,
a.Филиал,
a.Заемщик,
a.`Номер договора`,
a.`Остаток ссудной задолженности`,
a.`В том числе просроченной`,
c.`Остаток ссудной задолженности` As `Остаток ссудной задолженности2` ,
c.`В том числе просроченной` As `В том числе просроченной2`,
1 as `Признак суммы`
FROM `D:\InitialData`.` 01 / 04 / 09 ` a
LEFT OUTER JOIN `D:\InitialData`.` 01 / 05 / 09 ` c
ON a.`ID клиента в RS-Bank` = c.`ID клиента в RS-Bank`
AND a.`Номер договора` = c.`Номер договора`
UNION
SELECT b.`ID клиента в RS-Bank`,
b.Филиал,
b.Заемщик,
b.`Номер договора`,
e.`Остаток ссудной задолженности`,
e.`В том числе просроченной`,
b.`Остаток ссудной задолженности`,
b.`В том числе просроченной`,
1 as `Признак суммы`
FROM `D:\InitialData`.` 01 / 05 / 09 ` b
LEFT OUTER JOIN `D:\InitialData`.` 01 / 04 / 09 ` e
ON b.`ID клиента в RS-Bank` = e.`ID клиента в RS-Bank`
AND b.`Номер договора` = e.`Номер договора`
) f
GROUP BY f.`ID клиента в RS-Bank`,f.Филиал , f.Заемщик
ORDER BY `ID клиента в RS-Bank`, Заемщик, `Номер договора`
Из макрорекордера вылезают следующие строки. Код запроа помечается красным и, понятное дело, не работает. ПОЧЕМУ? На chr() что-ли ругается?
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Sub Макрос1()
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=База данных MS Access;DBQ=D:\InitialData.mdb;DefaultDir=D:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
, Destination:=Sheets("Лист2").Range("A1"))
.CommandText = Array( _
"SELECT a.`ID клиента в RS-Bank`,"&chr( 13 )&""&chr( 10 )&" a.Филиал,"&chr( 13 )&""&chr( 10 )&" a.Заемщик,"&chr( 13 )&""&chr( 10 )&" a.`Номер договора`,"&chr( 13 )&""&chr( 10 )&" a.`Остаток ссудной задолженности`,"&chr( 13 )&""&chr( 10 )&" a.`В том числе просроченной`,"&chr( 13 )&""&chr( 10 )&" c.`Остаток сс" _
, _
"удной задолженности` As `Остаток ссудной задолженности2` ,"&chr( 13 )&""&chr( 10 )&" c.`В том числе просроченной` As `В том числе просроченной2`,"&chr( 13 )&""&chr( 10 )&" 1 as `Признак суммы`"&chr( 13 )&""&chr( 10 )&"FROM `D:\InitialData`.`01/04/09` a"&chr( 13 )&""&chr( 10 )&"LEFT O" _
, _
"UTER JOIN `D:\InitialData`.`01/05/09` c"&chr( 13 )&""&chr( 10 )&" ON a.`ID клиента в RS-Bank` = c.`ID клиента в RS-Bank`"&chr( 13 )&""&chr( 10 )&" AND a.`Номер договора` = c.`Номер договора`"&chr( 13 )&""&chr( 10 )&"UNION"&chr( 13 )&""&chr( 10 )&"SELECT b.`ID клиента в RS-Bank`,"&chr( 13 )&""&chr( 10 )&" b" _
, _
".Филиал,"&chr( 13 )&""&chr( 10 )&" b.Заемщик,"&chr( 13 )&""&chr( 10 )&" b.`Номер договора`,"&chr( 13 )&""&chr( 10 )&" e.`Остаток ссудной задолженности`,"&chr( 13 )&""&chr( 10 )&" e.`В том числе просроченной`,"&chr( 13 )&""&chr( 10 )&" b.`Остаток ссудной задолженности`,"&chr( 13 )&""&chr( 10 )&" b.`В том чис" _
,,,,,,,,,)
.Name = "Запрос из База данных MS Access"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Sheets("Лист2").Select
End Sub
|
|
|