Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выгрузить все файлы в запросе с поля тип вложение. / 24 сообщений из 24, страница 1 из 1
10.01.2018, 22:01
    #39582104
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Помогите разобраться с полем тип вложение.
есть запрос в котором формирует колонку с полем вложение. Нужно выгрузит все вложение с это запроса в определенную папку.
Нашол информации по роботе с этим типом поля очень мало.
...
Рейтинг: 0 / 0
11.01.2018, 06:01
    #39582193
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Как-то так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim rst As dao.Recordset
Dim rstA As dao.Recordset

Set rst = CurrentDb.OpenRecordset("select * from tbl_SystemFiles", dbOpenSnapshot)
Set rstA = rst("Attachments").Value
While Not rstA.EOF
    rstA("FileData").SaveToFile "c:\temp\" & rstA("FileName").Value
    rstA.MoveNext
Wend
...
Рейтинг: 0 / 0
11.01.2018, 22:16
    #39582869
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
большое спасибо.

попробывал но выдайот ошибку: run-time error 3061 . слишком мало параметров. требуется 1.

p.s. чайнік
...
Рейтинг: 0 / 0
11.01.2018, 22:44
    #39582878
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
попробовал с таблицей, работает но выгружает только одну ячейку но не все
...
Рейтинг: 0 / 0
12.01.2018, 00:43
    #39582925
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
понял как выгружать Все ячейки но с таблицы, если указываю запрос то:

ошибка: run-time error 3061 . слишком мало параметров. требуется 1.
...
Рейтинг: 0 / 0
12.01.2018, 02:04
    #39582940
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub Êíîïêà333_Click()
Dim rst As dao.Recordset
Dim rstA As dao.Recordset

Set rst = CurrentDb.OpenRecordset("mitnica4", dbOpenDynaset)
While Not rst.EOF
Set rstA = rst.Fields("ser1").Value

While Not rstA.EOF
On Error Resume Next
    rstA("FileData").SaveToFile "c:\temp\" & rstA("FileName").Value

         rstA.MoveNext
       Wend
       rst.MoveNext
       Wend
    MsgBox "ok - "

End Sub


что не так?
...
Рейтинг: 0 / 0
12.01.2018, 06:42
    #39582961
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Эта ошибка обычно обозначает, что в запросе неверно указано название поля или ошибка в синтаксе, проверяйте внимательнее.
Врежиме конструктора запросов перейдите в режим SQL и проверьте запрос,
Код: sql
1.
select * from mitnica4

должно работать. Или просто посройте нужный запрос в конструкторе и скопируйте его текст в первый параметр OpenRecordset.
И уберите On Error Resume Next, это используется только в специальных случаях, здесь только вредит.
...
Рейтинг: 0 / 0
12.01.2018, 10:42
    #39583092
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Спасибо. я перебрал разные комбинации но нигде не могу найти ошибки.
буду дальше долбить...
On Error Resume Next использовал для того чтобы цыкл продолжался если файлы при вигрузке попадают одинаковые. (оно останавливало и выдавало ошибку типа такой файл уже есть...)
...
Рейтинг: 0 / 0
12.01.2018, 10:56
    #39583127
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Bass1нигде не могу найти ошибки
Так в чем ошибка? Где именно она возникает? В конструкторе пробовали запрос сделать?
...
Рейтинг: 0 / 0
12.01.2018, 12:24
    #39583221
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
да вставлял код запроса SQL тоже видает туже ошибку.

если запрос очень простой основан на нескольких таблицах то все работает если добавляю еще запросs то ошибка...
...
Рейтинг: 0 / 0
12.01.2018, 12:24
    #39583223
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Жолтым светит
Код: vbnet
1.
Set rst = CurrentDb.OpenRecordset("mitnica4", dbOpenDynaset)
...
Рейтинг: 0 / 0
12.01.2018, 12:29
    #39583225
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Bass1запрос очень простой основан на нескольких таблицах то все работает если добавляю еще запросs то ошибка
Ну так и разбирайтесь с запросом, пока не исправите, работать не будет
...
Рейтинг: 0 / 0
12.01.2018, 12:39
    #39583235
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
тем и занимаюсь.
А что посоветуeте в том случае когда попадают одинаковые файлы пусть остается on err.....?
...
Рейтинг: 0 / 0
12.01.2018, 13:56
    #39583298
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Bass1А что посоветуeте в том случае когда попадают одинаковые файлы пусть остается on err.....?

- Перед сохранением проверять, существует ли файл. Если есть, то можно либо удалить его, либо пропустить, либо поменять название сохраняемого файла, добавив версию - смотря что вам нужно.

- Обрабатывать ошибку по номеру в обработчике ошибок, но первый вариант правильнее
...
Рейтинг: 0 / 0
12.01.2018, 18:21
    #39583474
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Дошло до того что с одного и того запроса одно поле (nqk) выгружает а пишу название другого поля (ser) то его не хочет.....

а какая функция для замены файла если он уже есть?.
...
Рейтинг: 0 / 0
13.01.2018, 05:54
    #39583613
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Bass1а какая функция для замены файла если он уже есть?.
Kill перед сохранением
...
Рейтинг: 0 / 0
13.01.2018, 22:57
    #39583805
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
большое спасибо.
...
Рейтинг: 0 / 0
14.01.2018, 15:18
    #39583938
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Нашол ошибку но не знаю как правильно устранить.
как только прописываю ссилку на открытую форму
не знаю как правильно описать условие в котором есть ссылочка на форму.
я пишу =[Forms]![edik]![zagruzka]
...
Рейтинг: 0 / 0
14.01.2018, 15:56
    #39583950
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
http://www.sql.ru/faq/faq_topic.aspx?fid=157 нашол но не все понялллл
...
Рейтинг: 0 / 0
15.01.2018, 06:22
    #39584130
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
Bass1не знаю как правильно описать условие в котором есть ссылочка на форму.
Это где? Полный текст приведите
...
Рейтинг: 0 / 0
15.01.2018, 21:09
    #39584708
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
SELECT митницяматереур.[Відвантаження №], митницяматереур.Матеріал, накладнатоварПриход.N, Накладна.Дата, Накладна.№накладнои, Контрагент.Контрагент, Накладна.накл, сертифкат.номерсерт, сертифкат.датасерт, сертифкат.Виробник, сертифкат.серт
FROM сертифкат RIGHT JOIN (((Контрагент RIGHT JOIN Накладна ON Контрагент.Кодконтрагент = Накладна.Кодконтрагент) RIGHT JOIN (митницяматереур LEFT JOIN накладнатоварПриход ON митницяматереур.Кодматериала = накладнатоварПриход.Кодматериала) ON Накладна.Коднакладнои = накладнатоварПриход.Коднакладнои) LEFT JOIN кодматерсертифкат ON накладнатоварПриход.N = кодматерсертифкат.кодматеріаланакладна) ON сертифкат.Код = кодматерсертифкат.кодсертифіката
WHERE (((Накладна.Дата)<[Forms]![Відправка едік]![ДатаЗ]-2));
...
Рейтинг: 0 / 0
15.01.2018, 21:12
    #39584709
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
если пишу "WHERE (((Накладна.Дата)<[Forms]![Відправка едік]![ДатаЗ]-2));"
то сразу ошибка при выгрузке но запрос работает если удаляю выгрузка работает, но мне нужно это условие.
...
Рейтинг: 0 / 0
15.01.2018, 21:14
    #39584710
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
если пишу одно условие пишет ошибка: run-time error 3061 . слишком мало параметров. требуется 1.
если два то ошибка: run-time error 3061 . слишком мало параметров. требуется 2.
...
Рейтинг: 0 / 0
16.01.2018, 00:17
    #39584746
Bass1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузить все файлы в запросе с поля тип вложение.
2.2 Устранение ошибок в CurrentDb.Execute и в CurrentDb.OpenRecordset
Ошибка, как правило, возникает со следующим текстом "Too few parameters. Expected Число" ("Слишком мало параметров. Ожидалось Число").
Эта ошибка возникает, если команда или один из нижележащих запросов содержит обращения к формам или собственные параметры, - все эти обращения будут восприняты как параметры, которым не передано значение.
Почему так происходит? - Вот вольный перевод из MSDN (ms-help://MS.MSDNQTR.2003APR.1033/enu_kbacc2000kb/acc2000kb/209203.htm):
MSDN
NOTE: В DAO Вы должны явно присвоить значение параметру. При использовании DoCmd.OpenQuery Вы этого делать не должны, т.к. DAO использует операции низкого уровня, что даёт Вам большую свободу в использовании параметров (т.е. Вы можете сами присвоить параметру значение переменной, а не использовать ссылку на форму), но Вы должны выполнить служебные действия, которые Аксесс делает "за кулисами" при исполнении DoCmd. С другой стороны, DoCmd работает на более высоком уровне, чем DAO. Выполняя DoCmd, Microsoft Access делает некоторые предположения о том, как поступить с параметрами, и не дает Вам никакой свободы в этом отношении.

Если все параметры являются ссылками на контролы форм (Forms![ИмяФормы]![ИмяКонтрола]), тогда самое простое (и красивое) решение:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim q As DAO.QueryDef, p As DAO.Parameter
  Set q = CurrentDb.QueryDefs("ИмяЗапроса") 'как обычного запроса Select,
  'так и INSERT/UPDATE; в запросах на удаление это не помогает
  For Each p In q.Parameters
    p.Value = Eval(p.Name)
  Next
  q.Execute
  q.close: Set q=Nothing




А ларчик просто откривался.... http://www.sql.ru/faq/faq_topic.aspx?fid=410

Всем спасибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выгрузить все файлы в запросе с поля тип вложение. / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]