Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.08.14;
Скачать: CL | DM;

Вниз

Delphi:Вывести в DBLookupComboBox нужною строку столбца   Найти похожие ветки 

 
Lutdan ©   (2011-05-03 00:55) [0]

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

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


 
OW ©   (2011-05-03 09:53) [1]


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

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


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

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


 
Cobalt ©   (2011-05-03 10:07) [2]

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


 
oldman ©   (2011-05-03 10:11) [3]

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


 
oldman ©   (2011-05-03 10:31) [4]


> sDBEdit10.Text


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


 
Lutdan ©   (2011-05-04 14:04) [5]

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

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


 
Cobalt ©   (2011-05-04 15:13) [6]

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


 
Dennis I. Komarov ©   (2011-05-04 16:24) [7]


> Lutdan ©   (03.05.11 00:55) 

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

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

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


 
Lutdan ©   (2011-05-04 23:11) [8]

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


 
Lutdan ©   (2011-05-05 03:41) [9]

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

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

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


 
MonoLife ©   (2011-05-05 07:37) [10]

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


// 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 19:05) [11]

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

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


 
Amoeba_   (2011-05-05 19:45) [12]


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

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


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

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


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2011.08.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
2-1304147924
Basilisk
2011-04-30 11:18
2011.08.14
Вводить только одну запятую


15-1303331396
Юрий
2011-04-21 00:29
2011.08.14
С днем рождения ! 21 апреля 2011 четверг


15-1303293901
uzver
2011-04-20 14:05
2011.08.14
Вопрос по C Sharp, если можно.


2-1304482497
Moli
2011-05-04 08:14
2011.08.14
как переписать формулу с Q basik на Delphi?


15-1303475554
OW
2011-04-22 16:32
2011.08.14
Графы. Задачка. Забыл как доказать, не напомните?