8,276

(32 replies, posted in Russian)

vasitishe wrote:

Задач такова мне надо в  таблицу занести comboBox чтобы пользователь мог выбрать 1 из 2 вариантов и более.

Посмотрите пожалуйста данный видео урок, в нем используется ComboBox для присвоения абоненту его группы.
https://www.youtube.com/watch?v=lN6_yeK84K8#t=202

vasitishe wrote:

И пожалуйста расскажите по подробнее  о  типах данных при занесении их в таблицу базы(целое число, веществ. число, да/нет, файл, связь, и вычислительное поле) и как с ними работать?

Пожалуйста, задайте конкретный вопрос.
Возможно здесь сможете найти интересующую вас информацию
http://myvisualdatabase.com/help_ru/dat … igner.html


vasitishe wrote:

как осуществить импорт из excel в базу?

Необходимо Excel документ сохранить в формате CSV, о том как импортировать данный файл,можно прочитать здесь, там есть пример:
http://myvisualdatabase.com/forum/viewtopic.php?id=594


vasitishe wrote:

и что то можно сделать  чтобы счётчика была два?

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

8,277

(6 replies, posted in Russian)

Именно в таком виде, так сделать не получится.


В принципе это просто надписи и текстовые поля в табличном виде.
Т.е. вам необходимо использовать компоненты надпись http://myvisualdatabase.com/help_ru/components/label.png и текстовое поле http://myvisualdatabase.com/help_ru/components/editbox.png

Теперь понял )
Вы можете сделать это поле видимым с помощью вычисляемого поля, просто создайте выч. поле и напишите туда имя поля
filefield_filename

Да, поле fieldfile_filename просто скрыто, его не нужно дополнительно создавать.


Так в чем конкретно вопрос?
Вы уже сделали скрипт для экспорта? если нет, то каким способом экспортируете записи?

8,280

(6 replies, posted in Russian)

К сожалению не понял последнего вопроса )

8,281

(6 replies, posted in Russian)

Как именно вы заполняете таблицу данными?
По ниже перечисленным ссылкам можете прочитать подробней, как это сделать.


С помощью кнопки с действием "Поиск"
http://myvisualdatabase.com/help_ru/com … earch.html


С помощью кнопки с действие "SQL запрос"
http://myvisualdatabase.com/help_ru/com … n_sql.html


Через настройку компонента TableGrid
http://myvisualdatabase.com/help_ru/com … /grid.html

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


есть два варианта с помощью скриптов


1. У ComboBox есть метод dbSQLExecute, который позволяет заполнить компонент с помощью SQL запроса, где можете сформировать любые условия.


пример:
Form1.ComboBox1.dbSQLExecute ('SELECT fieldname, id FROM tablename');


обратите внимание, что в SQL запросе упомянуто поле id, чтобы компонент мог знать, какой записи в базе данных принадлежит выбранная строка. Допускается SQL запрос и без упоминания поля id, но в таком случае будет невозможно узнать, какой идентификатор записи имеет выбранная строка.




2. У ComboBox есть свойство dbFilter, в котором можно написать условие для фильтрации записей, таким образом исключить некоторые из них


пример

procedure Form1_Button8_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.ComboBox1.dbFilter:='yesno=0';
    UpdateDatabase('tablename');
end;

procedure Form1_Button7_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.ComboBox1.dbFilter:='yesno=1';
    UpdateDatabase('tablename');
end;


можете приложить свой проект к сообщению (без exe и dll), постараюсь помочь.

8,283

(8 replies, posted in Russian)

к сожалению не совсем понял, в чем трудность?
количество колонок определяется автоматически, когда в таблицу выводится информация.


опишите пожалуйста подробней проблему.

8,284

(2 replies, posted in General)

Hello,


ComboBox have property
FieldName        
Specifies which column of the database table belongs to this component. You can specify multiple fields: {field1} {field2}



But in you case, you need create calulated field for that, because you need fields from different tables.
unfortunately I do not quite understand how it should look ComboBox

Augsberger wrote:

Осталось разобраться с типом поля Файл! У меня на компонент DBFile1 идет скрипт:
.

вам необходимо просто импортировать значение поля fieldfile_filename

//файл
          if arrStr[5]<>'' then // если данные есть
             filename := '"'+arrStr[5]+'"' 
             else filename := 'NULL'; // иначе значение NULL

или в чем именно вопрос? )

8,286

(15 replies, posted in Russian)

Leonid wrote:

Скриншот не поможет .  Я пробую пояснить по другому :   запускаю программу --- открывается Form1,
на этой форме есть кнопка -- показать форму --- открывается Form2 , с Form2  открывается  Form3.
На Form3( это frmTovar)  TableGrid2 и DBImage1. Кликаю запись в TableGrid2 и жду , когда в  DBImage1
появится изображение ( т.е. выполняется   frmTovar.DBImage1.LoadFromDatabase('Shirina', 'RaskladFoto', frmTovar.TableGrid2.dbItemID);)
В зависимости от скорости инета длится это 4-5 сек. . На курсоре часики крутит . Как загрузка кончилась, на мониторе картинка едва
заметно моргнула и   Form2 оказывается верхней , (т.е. перекрывает Form3), но  Form2 не активна ( кликай по ней где хочешь - не реагирует)
Из под  Form2 виден небольшой фрагмент  Form3 . Я по этому фрагменту кликаю , и  Form3 стала на верхний слой , те в правильное положение
Вот такой эффект , но только когда на удаленке . Когда все на одном компе или в локалке , то скорость передачи большая и такого эффекта
не наблюдается.

Попробуйте пожалуйста добавить это frmTovar.Show;
в итоге получится:

procedure frmTovar_TableGrid2_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
      frmTovar.DBImage1.Clear;
    frmTovar.DBImage1.LoadFromDatabase('Shirina', 'RaskladFoto', frmTovar.TableGrid2.dbItemID);
    frmTovar.Show; // !!
end;

дайте знать, поможет или нет, а то нет локалки под рукой.

8,287

(4 replies, posted in General)

This functional added in version 1.45

8,288

(4 replies, posted in General)

Multiple objects are  selected by holding down SHIFT and clicking them with the mouse.

8,289

(1 replies, posted in General)

Hello )


Please, see video lessons first here:
http://myvisualdatabase.com/video_lessons.html



Thanks.

8,290

(9 replies, posted in Russian)

zoomix
К сожалению форму в форму вставить нельзя.


Можно расположить компоненты Panel, в которых можно расположить любые компоненты, и с помощью скрипта показывать их и скрывать, когда это необходимо.

8,291

(9 replies, posted in Russian)

Все компоненты выводят информацию без скриптов, но только на форме, которая была вызвана с действием "Показать запись"

8,292

(15 replies, posted in Russian)

zoomix
В принципе будет, но есть некоторые не совместимости, скорей всего скрипты перестанут работать.

8,293

(9 replies, posted in Russian)

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


Само по себе, оно не будет работать таким образом, ведь как правило компонент TextBox обычно используют для ввода информации для ее сохранения либо для поиска, поэтому ваш случай необходимо реализовать скриптом.


Пожалуйста, приложите ваш проект к сообщению, делаю для вас пример.

8,294

(15 replies, posted in Russian)

Leonid wrote:

Спасибо !
Все работает .
Т.к. я работал по удаленке , то фотка грузится примерно 4 сек (220 Кб).
По выходу из загрузки перекидывает открытые  формы , и сверху оказывается
неактивная форма . Приходится шлепать по активной , что бы стала верхней .
Есть ли возможность по выходу из этой процедуры активную форму заставить стать верхней ?

procedure frmTovar_TableGrid2_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
      frmTovar.DBImage1.Clear;
    frmTovar.DBImage1.LoadFromDatabase('Shirina', 'RaskladFoto', frmTovar.TableGrid2.dbItemID);
  ??  frmTovar  ???
end;

к сожалению не совсем понял, что происходит, можете приложить скриншот?


Leonid wrote:

Поэтому режим  LinkFile важная и очень полезная штука . Хотя в дальнейшем хотелось бы иметь возможность автоудаления файла
из папки при удалении записи , т.к  CopyTo все равно дублирует одинаковые по имени файлы .

Автоудаление будет реализовано в будущем.


А что значит дублирует одинаковые по имени файлы? такого не должно происходить, новый файл, который автоматически копируется в папку, проверяется на конфликт имен, и если такое имя файла уже занято, то файл будет переименован в "имя_файла(1)"
или я не правильно понял )

8,295

(6 replies, posted in General)

leob.bernardi
There is no any special characters for that.

8,296

(6 replies, posted in General)

Sorry for inconvenience, but in current version it's not work with mask.

8,297

(3 replies, posted in Script)

yann.yvinec

Example

procedure Form1_GridEmployees_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
     Form1.DBImage1.Clear;
     Form1.DBImage1.LoadFromDatabase('employees', 'photo', Form1.GridEmployees.dbItemID);
end;

but this code works with mode Type=LinkFile only in version 1.48beta
https://www.dropbox.com/s/6rz92s72djtmv … 8.zip?dl=0



Here you can download example:

8,298

(15 replies, posted in Russian)

Leonid
Я доработал программу, чтобы ваш первоначальный вариант из первого сообщения также работал с режимом LinkFile.


Пожалуйста, скачайте файл builder.dll и скопируйте его в папку программы My Visual Database, затем повторно запустите проект, должно все заработать.

https://www.dropbox.com/s/prhcfpwagmjgu … r.zip?dl=0

8,299

(6 replies, posted in General)

Hello,


In current version you can do it  using script:

Example:

 Form1.Edit1.Alignment := taCenter; // Alignment of the text in the middle
 Form1.Edit1.Alignment := taRightJustify; // Align text to the right
 Form1.Edit1.Alignment := taLeftJustify; // Align text to the left (default)

Augsberger
Исправил несколько ошибок, попробуйте так

//Дата записи
          if arrStr[0]<>'' then // если данные есть
          SdataPerexvataZapisi := '"'+ FormatDateTime('yyyy-MM-DD 00:00:00.000', StrToDate(arrStr[0])) + '"' // приводим дату к формату, который необходим для записи в БД
          else SdataZapisi := 'NULL'; // иначе значение NULL

//Время  записи
          //if arrStr[1]<>'' then // если данные есть
          //StimeZapisi := '"'+ FormatDateTime('1899-12-30 hh:nn:ss.000', StrToTime(arrStr[1])) + '"' // приводим Время к формату, который необходим для записи в БД
          //else StimeZapisi := 'NULL'; // иначе значение NULL

          //Дата и  Время  сохранения записи
          //if arrStr[2]<>'' then // если данные есть
          //SdataTimeAddZapisi := '"'+ FormatDateTime('yyyy-MM-DD hh:nn:ss.000', StrToDateTime(arrStr[2])) + '"' // приводим Дату и Время к формату, который необходим для записи в БД
          //else SdataTimeAddZapisi := 'NULL'; // иначе значение NULL

Для поля с типом Да/Нет

          if arrStr[5]<>'' then // если данные есть
          begin
              if arrStr[5] = 'Да' then sYesNo := '1' // приводим к формату, который необходим для записи в БД
              if arrStr[5] = 'Нет' then sYesNo := '0' // приводим к формату, который необходим для записи в БД
          end else sYesNo := 'NULL'; // иначе значение NULL


для импорта файлов, необходимо в поле fieldfile_filename указать путь к файлу, например если свойство CopyTo равно "photos", то полю fieldfile_filename необходимо присвоить значение например "\photos\file.jpg"