Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi:Вывести в DBLookupComboBox нужною строку столбца [D7]


Lutdan ©   (2011-05-03 00:55:00) 

НА форме кнопки ДОБАВИТЬ, УДАЛИТЬ, ИЗМЕНИТЬ, СОХРАНИТЬ. При добавлении всё устраивает т.е. можно из выпадающего списка(Таблица1) выбрать "Единицу измерения массы" (кг,т) и добавить в другую таблицу (Таблица2). Но при изменении  в Таблице 2 записи хотелось бы, чтоб в DBLookupComboBox стояла нужная единица. 2 эти таблицы не связаны между собой по ID, просто от туда(Таблица1) текст добавляется в Таблицу2. Пробовал реализовать так при нажатии на кнопку ИЗМЕНИТЬ:
DataModule4.EDVES1.Locate('Naimenovanie',sDBEdit10.Text,[]);
EDVES1 - Таблица1;
sDBEdit10.Text - Единица измерения в Таблице 2.
Но такой способ не работает или у меня знаний не хватает.
P/S/ Нужно это, чтобы пользователь при изменении данных не сохранил пустоту или неправильную единицу.

Ещё вопросик
Хотелось бы в программе сделать резервную копию БД, ну и потом с возможностью восстановить. Как это можно реализовать?
Я вот думал скопировать просто MDB файл в заранее созданную папку и в имени ещё прибавить дату. Но вот как это реализовать затрудняюсь. Спасибо, тем кто поможет!


Amoeba_   (2011-05-06 01:40:00) [1]


> Lutdan ©   (06.05.11 00:47) [13]
>
> Спасибо .. будем искать, как копирнуть файл.
>

А чего тут искать?
Есть ф-ии CopyFile и CopyFileEx
См. справку по этим API ф-иям


Lutdan   (2011-05-06 00:47:00) [2]

Спасибо .. будем искать, как копирнуть файл.


Amoeba_   (2011-05-05 19:45:00) [3]


> Остался вопрос с копированием БД. Может у кого завалялся
> для примера код...

В общих чертах такой:
ADOConnection1.CloseDataSets;
ADOConnection1.Connected := False;
try
 //Здесь пишем код копирования файл БД
finally
 ADOConnection1.Connected := True;
 //Далее здесь открываем таблицы
end;


Lutdan   (2011-05-05 19:05:00) [4]

MonoLife
Огромное спасибо! Всё работает как часики!!!

Остался вопрос с копированием БД. Может у кого завалялся для примера код...


MonoLife   (2011-05-05 07:37:00) [5]

не понятно зачем нужен s DBEdit...


// DBLookupComboBox.ListField= Таблица1.<field>
// DBLookupComboBox.KeyField= Таблица1.<field>

if dataset.Locate('Naimenovanie', sDBEdit10.Text,[loCaseInsensitive, loPartialKey]) then
 DBLookupComboBox.KeyValue:=sDBEdit10.Text;


Lutdan   (2011-05-05 03:41:00) [6]

Попробую объяснить ещё раз:
Нужно как-то программно выбрать запись из DBLookupComboBox1 используя текст из sDBEdit10.

EDVES1 - Таблица1, где хранятся просто наименования ЕДиНИЦ ИЗМЕРЕНИЯ (КГ, т и т.д.);
sDBEdit10.Text - Единица измерения в Таблице 2.Создал этот эдит для того чтобы выбрать программно запись в DBLookupComboBox1 т.к. Таблицы не связаны .

СПАСИБО ЗА ВАШИ ОТВЕТЫ!


Lutdan   (2011-05-04 23:11:00) [7]

Ну закрыть базу не проблема.


Dennis I. Komarov   (2011-05-04 16:24:00) [8]


> Lutdan ©   (03.05.11 00:55) 

Ничерта не понятно...

> Я вот думал скопировать просто MDB файл

С открытой базой? Непойдеть...


Cobalt   (2011-05-04 15:13:00) [9]

Хмммм....
InplaceEditor?
Хотя намучаетесь потом раскладку клавиатуры переключать )))


Lutdan   (2011-05-04 14:04:00) [10]

OW
Просто не знаю кода, как по кнопочке копировать файл))
oldman
В DBEdit выводится текст (например, КГ) и по этому тексту я перехожу на строчку из таблицы 2 через Locate.
Возможно он и переходит на строчку, но не отображаются в DBLookupComboBox.

Или как лучше сделать, чтобы при добавлении выпадал список Единиц измерения. Ну и соответственно как при изменении выводилась ранее сохранённая Еденица измерения, но с возможностью её поменять


oldman   (2011-05-03 10:31:00) [11]


> sDBEdit10.Text


Если все завязано на список из другой таблицы, зачем DBEdit???


oldman   (2011-05-03 10:11:00) [12]

С [] поиграй. Похоже ты ищешь 'name              ', а в таблице 1 'name     '


Cobalt   (2011-05-03 10:07:00) [13]

Для начала определись точно - как связаны эти две таблицы, каковы правила изменения этих таблиц.
Просто возьми листик и выпиши, словами опиши подробно:
Добавление, Изменение, Удаление строки в каждой таблице.


OW   (2011-05-03 09:53:00) [14]


> скопировать просто MDB файл

Они копируются так же как любой файл.


> в заранее созданную папку и в имени ещё прибавить дату

Перевод даты в строку, конкатенация строк, создание папки - что конкретно не ясно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо