powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выгрузить все файлы в запросе с поля тип вложение.
24 сообщений из 24, страница 1 из 1
Выгрузить все файлы в запросе с поля тип вложение.
    #39582104
Bass1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться с полем тип вложение.
есть запрос в котором формирует колонку с полем вложение. Нужно выгрузит все вложение с это запроса в определенную папку.
Нашол информации по роботе с этим типом поля очень мало.
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #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
Выгрузить все файлы в запросе с поля тип вложение.
    #39582869
Bass1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
большое спасибо.

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

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

ошибка: run-time error 3061 . слишком мало параметров. требуется 1.
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #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
Выгрузить все файлы в запросе с поля тип вложение.
    #39582961
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эта ошибка обычно обозначает, что в запросе неверно указано название поля или ошибка в синтаксе, проверяйте внимательнее.
Врежиме конструктора запросов перейдите в режим SQL и проверьте запрос,
Код: sql
1.
select * from mitnica4

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

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

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

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

а какая функция для замены файла если он уже есть?.
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #39583613
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bass1а какая функция для замены файла если он уже есть?.
Kill перед сохранением
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #39583805
Bass1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
большое спасибо.
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #39583938
Bass1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашол ошибку но не знаю как правильно устранить.
как только прописываю ссилку на открытую форму
не знаю как правильно описать условие в котором есть ссылочка на форму.
я пишу =[Forms]![edik]![zagruzka]
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #39583950
Bass1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.sql.ru/faq/faq_topic.aspx?fid=157 нашол но не все понялллл
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #39584130
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bass1не знаю как правильно описать условие в котором есть ссылочка на форму.
Это где? Полный текст приведите
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #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
Выгрузить все файлы в запросе с поля тип вложение.
    #39584709
Bass1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если пишу "WHERE (((Накладна.Дата)<[Forms]![Відправка едік]![ДатаЗ]-2));"
то сразу ошибка при выгрузке но запрос работает если удаляю выгрузка работает, но мне нужно это условие.
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #39584710
Bass1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если пишу одно условие пишет ошибка: run-time error 3061 . слишком мало параметров. требуется 1.
если два то ошибка: run-time error 3061 . слишком мало параметров. требуется 2.
...
Рейтинг: 0 / 0
Выгрузить все файлы в запросе с поля тип вложение.
    #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
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выгрузить все файлы в запросе с поля тип вложение.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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