Topic: Новое поле Mysql

Добрый день, Дмитрий.
Имеется готовый работающий проект на БД MySQL, возникла необходимость добавления еще одного поля в базу, т.е изменить структуру, подскажите, не потеряются ли при этом данные,внесенные ранее?
И если не сложно, напомните как убрать из списка мультикомбобокса первое значение- галочка, выделить все. Спасибо.

Re: Новое поле Mysql

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


Не потеряются, перед добавлением поля незабудьте подключиться к вашей БД.


Убрать первое значение из ComboBox можно так

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.ComboBox1.dbDeleteRecord(-1);
end;
Dmitry.

Re: Новое поле Mysql

Спасибо.
А не подскажите еще по такому вопросу: в программе генерируется отчет и сохраняется каждый раз по определенному адресу, с именем, которое меняется в зависимости от того,какой сейчас день. Т.к например Иванов. А.И. 16.03.15; Иванов. А.И. 19.03.15 и тд. Дата в конец имени добавляется методом тыка в календаре. И если случайно ошибиться датой, этот файл пересохраниться с тем же именем, и не спросит нужно ли заменять этот файл или нет.  Как сделать, чтобы была возможность выбрать, перезаписывать ли файл или нет? Скприпт программы лежит у Вас на почте в проекте. Тема письма: К теме : http://myvisualdatabase.com/forum/viewt … p?id=2453.

Re: Новое поле Mysql

memult wrote:

Спасибо.
А не подскажите еще по такому вопросу: в программе генерируется отчет и сохраняется каждый раз по определенному адресу, с именем, которое меняется в зависимости от того,какой сейчас день. Т.к например Иванов. А.И. 16.03.15; Иванов. А.И. 19.03.15 и тд. Дата в конец имени добавляется методом тыка в календаре. И если случайно ошибиться датой, этот файл пересохраниться с тем же именем, и не спросит нужно ли заменять этот файл или нет.  Как сделать, чтобы была возможность выбрать, перезаписывать ли файл или нет? Скприпт программы лежит у Вас на почте в проекте. Тема письма: К теме : http://myvisualdatabase.com/forum/viewt … p?id=2453.

С помощью функции FileExists вы можете проверить наличие файла на диске, затем при его наличии задать пользователю вопрос с попощью функции MessageDlg

if MessageDlg('Перезаписать файл?', mtInformation, mbYes+mbNo, 0) = mrYes then
Dmitry.

Re: Новое поле Mysql

Дмитрий, а не подскажите почему данная конструкция в скрипте не работает корректно?

sFile := Form1.frxRTFExport1.FileName;
    //Form1.frxRTFExport1.FileName:=ChangeFileExt(sUser+' '+FormatDateTime('YYYY-MM-DD.', frmEmployee.dtDateOfBirth.Date), '.rtf');
         sDest := 'R:\_Отчеты_V1\'+FormatDateTime('YYYY', now)+'\'+FormatDateTime('MM-MMMM', now)+'\'+sUser+'\';
     
    if ForceDirectories(sDest) then
    begin

        if FileExists(sFile) then
       // begin
        if MessageDlg('Перезаписать файл?', mtInformation, mbYes+mbNo, 0) = mrYes then  begin
        CopyFile(sFile, sDest+sUser+' '+FormatDateTime('YYYY-MM-DD.', Form1.Date_report.Date)+'rtf') ;
        ShowMessage('Файл отчета сохранен по адресу:'#13'FreeShare/_Отчеты_V1/'+FormatDateTime('YYYY', now)+'/'+FormatDateTime('MM-MMMM', now)+'/'+sUser+'/'+#13+'Под именем:'+' '+sUser+' '+FormatDateTime('YYYY-MM-DD.', Form1.Date_report.Date)+'rtf' ) ;
        OpenFile(sDest+sUser+' '+FormatDateTime('YYYY-MM-DD.', Form1.Date_report.Date)+'rtf');
        end;


    end;


    DeleteFile(sFile);
end;

Т.е задумка-если файл с таким именем есть-спросить перезаписать или нет,если да, то заменить этот файл, если нет, то никаких действий.
Если файла с таким именем нет - сохранить его.

Re: Новое поле Mysql

memult
к сожалению по обрывку скрипта не смогу определить причину.

Dmitry.

Re: Новое поле Mysql

Проект еще раз отправил на почту. Тема письма DB_report.

Re: Новое поле Mysql

Здравствуйте, можете ли дать ответ на вопрос выше?

Re: Новое поле Mysql

К сожалению я могу помочь только с конкретным вопросом.

Dmitry.

Re: Новое поле Mysql

А разве это не конкретный вопрос? Просто Вы просили полный скрипт, я его переслал Вам.

11 (edited by memult 2016-05-26 17:42:57)

Re: Новое поле Mysql

Дмитрий, если по прошлому вопросу помочь не получится, поясните пожалуйста по поводу этого :

DriveSoft wrote:

Убрать первое значение из ComboBox можно так

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.ComboBox1.dbDeleteRecord(-1);
end;

Первое значение (чекбокс выделить все) убирается , но теперь получается его место занимает чекбокс, который раньше был вторым и при нажатии на него опять выделяются все записи (т. е он стал чекбоксом выделить все)

Re: Новое поле Mysql

memult
Скачайте пожалуйста последнюю  бета версию:
https://www.dropbox.com/s/pebrvqwqcbluy … a.zip?dl=0



Для компонента ComboBox добавил свойство FirstEmptyItem, который позволяет убрать первый пустой пункт списка без использования скрипта.

Dmitry.

Re: Новое поле Mysql

Спасибо за помощь.