|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Вопросы по базам данных
Уважаемые помогите решить 2 проблемы
1. Имеется любая база данных аксес, в ней есть столбцы типа DateTime, ДБГрид при клике на них, дает выбрать дату, но пишет туда как дату так и время (10.03.2016 20:03:01) а нужно (10.03.2016) 2. Вопрос Имеются поля, в которых нужно открыть свой внутренний справочник, ок. нахожу данные поля, на них отображаю кнопку, методом (Column.ButtonStyle:=cbsEllipsis) обрабатываю эту кнопку, открывается новая форма, теперь вопрос, как мне из этой новой формы вставить выбранное значение (скажем 2клик) в таблицу, открытую в форме_1 Раньше прям на форме 1 открывал ListBox1 и делал так Код:
procedure TForm1.ListBox1DblClick(Sender: TObject); Var Field: TField; begin Field := TField(ListBox1.Tag); Field.DataSet.Edit; Field.Value := ListBox1.Items[ListBox1.ItemIndex]; Field.DataSet.Post; ListBox1.Hide; end; |
#2
|
||||
|
||||
По первой трабле, в поле типа DateTime можно вбить три варианта значений: DateTime, Date или Time, видимо выбран первый, чем набиваете - если с помощью DateTimePicker то можно просто выбрать у него источник как Date
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
ApxaHGe1 (10.03.2016)
|
#3
|
|||
|
|||
тип поля делал и Date и DateTime
Выбор открывается сам средствами DBGridEh.... так как видит что поле типа DateTime .... Скрин прилагается |
#4
|
|||
|
|||
Второй вопрос решен уже ) оказалось все просто, видимо просто уже устал ....
|
#5
|
||||
|
||||
Не пользую эту либу, посему могу только предположить что наверное у и этой сетки выскакивает при даблклике редактор полей, возможно следует задать у поля с датой свойство DisplayFormat как dd.mm.yyyy, у обычного DBGrid такое есть
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
ApxaHGe1 (11.03.2016)
|
#6
|
|||
|
|||
Цитата:
количество полей тип Date я не знаю сколько пользователь создаст есть такакя идея, при прорисовке, форматировать, но я не знаю как Код:
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); if Column.Field.DataType in [ftDate,ftDateTime] then begin //как end; end; |
#7
|
|||
|
|||
Up. Помогите
|
#8
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#9
|
|||
|
|||
Все с чистого листа собиралось
|
#10
|
||||
|
||||
Все просто. У вас скорее всего есть на форме AdoQuery. У этого компонента есть локальное меню, в котором есть Fields editor. В нем есть возможность добавить поля и для вашего поля можно выставить DisplayFormat = dd.mm.yyyy
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#11
|
|||
|
|||
Да есть. Все через него и делается. Но отображается все в дбгриде. Я не знаю количество полей и имена их. Как быть?
|
#12
|
||||
|
||||
Там есть отдельная команда загрузить все поля.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#13
|
|||
|
|||
Это можно сделать после запроса и вывода результата в dbgrid? Или же как то иначе?
|
#14
|
||||
|
||||
Обычно, в процессе разработки формы, грид настраивают на источник подключив его хотя бы раз к базе данных. Это удобно для создания наиболее компактного и красивого представления данных. После этого отключают от базы и подключение к базе уже делают настраиваемым при старте программы.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#15
|
|||
|
|||
Дело в том что пользователь сам создает базу. И количество полей я не знаю сколько будет. Тем более полей типа date
|