Topic: Создание записи с возможностью добавлять несколько файлов DBFile

Здравствуйте, хотел сделать чтобы на форме добавления записи можно было прикреплять несколько Файлов (*.doc).
Далее можно не читать )))
Создал на форме добавления записи кнопку с экшеном Новая запись и указал в ней форму для добавления записи "Files".
На форму "Files" добавил компонент DBFile и кнопки Сохранить запись и отмена (закрыть форму).
Основная таблица это  "Записи"(Zasisi)....Кроме того создал новую таблицу "Files" (files----Файл и id_Zapisi---связь)
Так вот на главной форме нажимаю добавить запись....открывается форма добавления записи на которой кнопка (новая запись)  при нажатии на которой  у меня создается новая запись в таблице....а должна появиться форма для добавления файла (как это сделано в БД Телефоны в примерах к MVDB)...получается я еще не нажимал сохранить на форме добавления ...а нажал на кнопку новая запись и она создалась.... (((
И самое главное )))
Есть пример с сохранением к одной записи нескольких файлов (по ссылке ToCopy)???

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Приветствую,


к сожалению из описания не смог понять, в чем проблема )
Сделал для вас проект с примером.

Post's attachments

Attachment icon Many files and one record.zip 267.96 kb, 679 downloads since 2015-01-14 

Dmitry.

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Приветствую,


к сожалению из описания не смог понять, в чем проблема )
Сделал для вас проект с примером.

Сделал точь в точь как у вас в проекте но выдало

Post's attachments

Attachment icon 111.png 44.86 kb, 321 downloads since 2015-01-14 

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
Скорей всего это не ваша вина, если вы используете бета версию 1.48
есть небольшой баг, который я поправлю завтра, а пока попробуйте просто удалить файл базы данных sqlite.db и он должен пересоздаться правильно.

Dmitry.

5 (edited by Augsberger 2015-01-14 23:09:23)

Re: Создание записи с возможностью добавлять несколько файлов DBFile

А куда теперь крепить скрипт при множестве прикрепляемых файлов чтобы они сохранялись в папке новости вот мой код

Files.DBFile1.dbCopyTo := 'Operators\' +FormatDateTime('yyyy', now)+'\'+FormatDateTime('mmmm', now)+'\'+FormatDateTime('dd', now)+'\Новости';


У меня на форме добавления несколько вкладок и я хотел чтобы если выбрана 1 вкладка и на ней я нажимаю кнопку добавить файлы и вылазит форма добавления файлов, то эти материалы сохранились по указанному пути! Но код выдает ошибку

if Add_Zapis.PageControl1.ActivePageIndex := 0 then
     Files.DBFile1.dbCopyTo := 'Operators\' +FormatDateTime('yyyy', now)+'\'+FormatDateTime('mmmm', now)+'\'+FormatDateTime('dd', now)+'\Новости';

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger wrote:

А куда теперь крепить скрипт при множестве прикрепляемых файлов чтобы они сохранялись в папке новости вот мой код

Files.DBFile1.dbCopyTo := 'Operators\' +FormatDateTime('yyyy', now)+'\'+FormatDateTime('mmmm', now)+'\'+FormatDateTime('dd', now)+'\Новости';

думаю так

procedure Files_OnShow (Sender: string; Action: string);
begin
   Files.DBFile1.dbCopyTo := 'Operators\' +FormatDateTime('yyyy', now)+'\'+FormatDateTime('mmmm', now)+'\'+FormatDateTime('dd', now)+'\Новости';
end;

Augsberger wrote:

У меня на форме добавления несколько вкладок и я хотел чтобы если выбрана 1 вкладка и на ней я нажимаю кнопку добавить файлы и вылазит форма добавления файлов, то эти материалы сохранились по указанному пути! Но код выдает ошибку

if Add_Zapis.PageControl1.ActivePageIndex := 0 then
     Files.DBFile1.dbCopyTo := 'Operators\' +FormatDateTime('yyyy', now)+'\'+FormatDateTime('mmmm', now)+'\'+FormatDateTime('dd', now)+'\Новости';

в условии нужно убрать двоеточие, т.е. так

if Add_Zapis.PageControl1.ActivePageIndex = 0 then
     Files.DBFile1.dbCopyTo := 'Operators\' +FormatDateTime('yyyy', now)+'\'+FormatDateTime('mmmm', now)+'\'+FormatDateTime('dd', now)+'\Новости';
Dmitry.

7 (edited by Augsberger 2015-01-15 08:07:45)

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Теперь нужен экспорт/импорт для таблицы с файлами  по вашему примеру...

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
Пожалуйста, задайте конкретный вопрос.

Dmitry.

9 (edited by Augsberger 2015-01-17 14:54:40)

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Приветствую,


к сожалению из описания не смог понять, в чем проблема )
Сделал для вас проект с примером.

Здравствуйте, Дмитрий! Могли бы на этом примере показать экспорт и импорт файлов (когда запись одна а прикрепленных файлов несколько)
Нужно вывести экспорт в csv  файл но настройки табл грида не позволяют (первый пункт: Выберете таблицу бД для запроса) выбрать и таблицу Person и files одновременнно....
Если раньше при экспорте одна строка записи в табл гриде это одна строка в Excel и импорт у меня получилось сделать а сейчас при экспорте в Excel создается столько строк с колько прикрепленных файлов и все строки дублируются кроме file_filename (у каждого файла свой путь)

Вот ваш пример
http://myvisualdatabase.com/forum/misc. … download=1

Re: Создание записи с возможностью добавлять несколько файлов DBFile

???помогите пожалуйста!!!!

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
вам необходимо сделать экспорт из двух таблиц в два csv файла.
из таблицы person и таблицы files, также из  таблицы files нужно незабыть экспортировать внешний ключ id_person, именно по этому ключу определяются, кому принадлежит файл.

Dmitry.

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Augsberger
вам необходимо сделать экспорт из двух таблиц в два csv файла.
из таблицы person и таблицы files, также из  таблицы files нужно незабыть экспортировать внешний ключ id_person, именно по этому ключу определяются, кому принадлежит файл.

И как это будет выглядеть в программе? И так не особо удобно было!!! Делаешь экспорт в таблицу Excel потом сохраняешь как CSV файл, а теперь в два раза больше движений... и на форме теперь будет нужно две кнопки импорта и экспорта???

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
можно сделать по разному, опишите процесс, таким, каким бы вы его хотели видеть.
и какая цель.

Dmitry.

14 (edited by Augsberger 2015-01-19 21:44:36)

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Augsberger
можно сделать по разному, опишите процесс, таким, каким бы вы его хотели видеть.
и какая цель.

Ну конечно хотелось бы при нажатии кнопки экспорт выбираешь период записей (по дате) и создавался один файл EXCEL и в нем были данные из двух таблиц, а  другой кнопкой нажимаем импорт выбираем этот файл  и загоняем записи  в БД (ну как было  раньше у меня, только теперь запись -то одна а файлов у нее может быть несколько)....может не правильно понял вопрос?  А какие могут быть варианты? Главное чем меньше движений тем  проще...

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
Постараюсь завтра создать подобный пример.

Dmitry.

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Augsberger
Постараюсь завтра создать подобный пример.

Жду с нетерпением...пока ещё не завершил свой проект..

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
Готово.

Post's attachments

Attachment icon One to many import-export.zip 128.6 kb, 539 downloads since 2015-01-21 

Dmitry.

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Augsberger
Готово.

Поясните пожалуйста строчку

arrStr := SplitString(sl[i], #9); 

#9 ??? что это

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
Код табуляции.
В файле для экспорта используется знак табуляции для разделения колонок.

Dmitry.

20 (edited by Augsberger 2015-01-21 08:39:28)

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Augsberger
Код табуляции.
В файле для экспорта используется знак табуляции для разделения колонок.

Ваш пример выдал у меня ошибку...и у меня по вашему коду получается экспорт одной записи а импортирует почему-то две

Post's attachments

Attachment icon 20150121113145.jpg 564.52 kb, 336 downloads since 2015-01-21 

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
Перепроверил, у меня все работает, меняли что нибудь в коде?
Какую именно ошибку выдает?

Dmitry.

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Augsberger
Перепроверил, у меня все работает, меняли что нибудь в коде?
Какую именно ошибку выдает?

File is encrypted or is not a database

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
Это говорит о том, что у вас поврежден файл базы данных (sqlite.db)
попробуйте удалить его, и он пересоздатся заново.


если это не решит проблему, пришлите мне всю папку с проектом, не удаляя из нее файлы, на support@drive-software.com

Dmitry.

Re: Создание записи с возможностью добавлять несколько файлов DBFile

DriveSoft wrote:

Augsberger
Это говорит о том, что у вас поврежден файл базы данных (sqlite.db)
попробуйте удалить его, и он пересоздатся заново.


если это не решит проблему, пришлите мне всю папку с проектом, не удаляя из нее файлы, на support@drive-software.com

Это решено... Но у вас при импорте одной записи с двумя прикрепленными файлами в гриде должна отображаться одна запись а на самом деле они дублируются и получается в итоге две записи

Re: Создание записи с возможностью добавлять несколько файлов DBFile

Augsberger
К сожалению у себя такого не наблюдаю, пожалуйста, скачайте данный проект для теста, запустите и нажмите кнопку Import, затем выберите файл Export.csv
https://www.dropbox.com/s/69a5a8ti34eul … t.rar?dl=0

Dmitry.