![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка данных Query на форму [D7, Paradox]
Bogdan © (2005-02-24 20:25:00)Здравствуйте, такой вопрос почему данные на форму помещаются только со второй попытки.
Сначала при щелчке на кнопке и выполнении следующего условия, исполняется запрос, результат которого помещается на DBGrid:
if RadioButton5.Checked then
begin
DataModule1.Query10.Active:=true;
DBGrid1.DataSource:=DataModule1.DataSource10;
текст SQL следующий:
select distinct Tab11.*, Tab2.*,
from Tab1, "Tab2.DB"Tab2,
where Tab1.Name1ID = Tab2.ID and Tab1.NomerID = Tab2.ID
order by Tab1.Name1ID
Я выбираю необходимую строчку и щелкаю на другой кнопке для редактирования выбраной записи, данные должны помещатся на форму:
procedure TForm14.Button2Click(Sender: TObject);
begin
form10.ShowModal;
if DataModule1.Query10.Active then
begin
form10.Edit14.Text:=DataModule1.Query10.Fields[1].AsString;
form10.Edit26.Text:=DataModule1.Query10.Fields[8].AsString;
form10.Edit27.Text:=DataModule1.Query10.Fields[9].AsString;
form10.Edit3.Text:= DataModule1.Query10.Fields[7].AsString;
form10.Edit6.Text:= DataModule1.Query10.Fields[17].AsString;
form10.Edit7.Text:= DataModule1.Query10.Fields[38].AsString;
......
end;
Но интересно то, что с первой попытки она пуста, когда я повторяю весь процесс, данные оказываются на своем месте.
Непойму почему??? И что нужно сделать чтоб это исправить???
Благодарен за ответ.
Desdechado (2005-02-25 10:55:00) [1]думаю, в следующий раз попытка будет 4-й...
смотри последовательность:
1. открываем запрос
2. пользователь кликает на нужную запись
3. пользователь жмет кнопку редактирования
4. появляется форма с DBaware-элементами управления (без всяких там Edit, а удобнее TDBEdit)
5. пользователь редактирует данные и закрывает форму
Так вот - при использовании Dbaware-controls у тебя не должно быть проблем с присваиванием (оно вообще тогда не нужно).
Bogdan (2005-02-24 22:13:00) [2]>Desdechado © (24.02.05 21:33) [1]
сначала присваивание, потом ShowModal
ShowModal ждет, когда ты закроешь форму, толькопотом что-то после него происходит
Оказывается я немного наврал, в первом описаном мной варианте правильность заполнения формы происходит за третей попыткой.
Bogdan (2005-02-24 22:07:00) [3]>сначала присваивание, потом ShowModal
ShowModal ждет, когда ты закроешь форму, толькопотом что-то после него происходит
В этом случае, на форме появляются данные из первой строки ID[0],Tab1. Когда все повторить сначала то только тогда форма заполняется нужной-выбраной строкой.
Desdechado (2005-02-24 21:33:00) [4]сначала присваивание, потом ShowModal
ShowModal ждет, когда ты закроешь форму, толькопотом что-то после него происходит