|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
Добрый день! С Access никогда не работала. Задумала автоматизировать часть своей работы с его помощью, но так закопалась, что и работать стало некогда. Буду благодарна за помощь. Пишу подробно, потому что не пойму, на что внимание обратить. Сейчас пока всего 3 таблица про экспорт и импорт страны. Таблицы: country (с названиями стран и идентификатором), code (там кода ТН ВЭД - десятизначное число, но поле текстовое, потому что код может начинаться с "0" и это важно, т.е. 0210 и 210 - разные товары; ещё в таблице название кода и идентификатор), 2009 (поля с экспортом и импортом, идентификатором страны и кодом ТН ВЭД). Есть запрос (пока только про импорт): SELECT country.country_name, [2009].im_t, [2009].im_unit, [2009].im_doll, code.code FROM country INNER JOIN (code INNER JOIN 2009 ON code.code=[2009].code) ON country.Код=[2009].country_code WHERE (code.code=forms!FZapros.ved and country.country_name=forms!FZapros.Spcon); Хотелось бы, что выбрав в форме FZapros страну из списка (Spcon) и введя код ТН ВЭД (а чаще только часть его) в поле (ved), выполнялся этот запрос, а результат выгружался в Excel. Есть 3 вопроса: 1) Со списком все хорошо, а вот в поле чаще всего мне нужно не подробное десятизначное значение, а покрупнее. Т.е. надо, чтобы я ввела "0210", а мне выдавалось "0210000201", "0210000203", "0210000209" и т.д. 2) Никак не пойму, как подвязать выполнение запроса к кнопке на форме. Сейчас запрос выполняется, если выбрать-ввести значения на форме, но неудобно же) нужно идти запрос, просматривать его в режиме таблицы. 3) Можно как-то результат запроса сразу выгружать в файл Excel? Пусть каждый раз это будет новый файл, удалю его потом и всё. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 17:20 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
Crey-hen, Like,TransferSpreadsheet и CurrentDb.QueryDefs("ИмяЗапроса").SQL = "strSQL" ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 18:01 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
sdku, спасибо за ответ. с Like с синтаксисом разобралась. и сейчас ищется по части кода ТН ВЭД. а с выгрузкой никак не выходит. пишу в процедуре на нажатие кнопки: DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "Сводный запрос", "C:\Test.xls" не работает. а про CurrentDb.QueryDefs совсем ничего не могу понять. в английском хелпе разобраться не могу. можно, хоть пару слов для чего это "CurrentDb.QueryDefs("ИмяЗапроса").SQL = "strSQL"" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2015, 00:56 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
Crey-hen, ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2015, 11:48 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
sdku, спасибо огромное! заработало) где тут ставить плюсы в карму? при чем работает даже без этой страшной строчки с CurrentDb.QueryDefs. я так и не поняла, зачем в VB переписывать уже готовый запрос. а можно сделать так, чтобы этот экселевский файл, в который результат запроса сохраняется, у меня сразу открывался? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2015, 02:07 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
Crey-hen, это в общий модуль Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Существующую процедуру дополнить строкой: Код: vbnet 1.
А Вы не хотите создать отчет и уже потом делать с ним что пожелаете ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2015, 10:21 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
Вдогонку:Crey-hen... я так и не поняла, зачем в VB переписывать уже готовый запрос. А что, за все время существования БД Вы параметр менять не будете? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2015, 10:27 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
Crey-henа можно сделать так, чтобы этот экселевский файл, в который результат запроса сохраняется, у меня сразу открывался? Зная путь к файлу, его можно открыть методом FollowHiperlink объекта Application. Еще файл Excel можно создать методом DoCmd.OutputTo. Он умеет и сразу открывать созданный файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2015, 11:55 |
|
По нажатию кнопки на форме выполнить запрос и выгрузить результат в Excel
|
|||
---|---|---|---|
#18+
sdku, снова спасибо! мне теперь нужно время, чтобы понять все эти многа букв) и всё переварить. sdkuВдогонку:Crey-hen... я так и не поняла, зачем в VB переписывать уже готовый запрос. А что, за все время существования БД Вы параметр менять не будете? нет, конечно. но я прямо в запросе ссылаюсь forms!FZapros.Spcon (страна т.е.) но вообщем, не суть. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 16:57 |
|
|
start [/forum/topic.php?fid=45&msg=39112464&tid=1614211]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 358ms |
total: | 484ms |
0 / 0 |