Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Access и ListView


Автор: kind_programmer 9.6.2007, 12:00
Вот моя процедура входа в базу Access.
Код

procedure TReg_user.Button1Click(Sender: TObject);
begin
Reg_user.ADOTable1.close;
Reg_user.ADOTable1.Open;
repeat
if  Reg_user.ADOTable1.FieldByName('code').Value = edit1.text then
begin
Reg_user.ADOTable1.edit;
Reg_user.ADOTable1.FieldByName('Family').Value:=Edit2.Text;
Reg_user.ADOTable1.FieldByName('Name').Value:=Edit3.Text;
begin
cpp.Refresh;
end;
Reg_user.ADOTable1.refresh;
Reg_user.close;
lection.show;
break;
end
else
reg_user.ADOTable1.Next;
until reg_user.ADOTable1.Eof=true;

end;


CPP, главная форма; Reg_user, форма регистрации(код на ней),     Lection, дополнительно....она роли не играет.
На форме CPP, лежит ListView(у item'ов  имеется checkbox).
Код

procedure TCPP.ListView1Click(Sender: TObject);
begin
reg_user.ADOTable2.close;
reg_user.ADOTable2.Open;
     // Первая лекция
      if listview1.Selected.Caption='1 лекция'   then
Begin
        reg_user.ADOTable2.edit;
        reg_user.ADOTable2.FieldByName('Lection 1').Value:='x';
        reg_user.ADOTable2.Refresh;
        listview1.Hide;
       TWebBrowser(PageControl.ActivePage.Controls[0]).Navigate(ExtractFilePath(Application.ExeName)+'html\site\index.htm');
       end;
       // Вторая лекция
       if listview1.Selected.Caption='2 лекция'   then
       begin
        reg_user.ADOTable2.edit;
        reg_user.ADOTable2.FieldByName('Lection 2').Value:='x';
        reg_user.ADOTable2.Refresh;
        listview1.Hide;
       TWebBrowser(PageControl.ActivePage.Controls[0]).Navigate(ExtractFilePath(Application.ExeName)+'html\site\index1.htm');
       end;
      end;


Соответственно если чекаю на item'е вылезает ошибка, что запись уже есть и посылает меня на... smile
Необходима проверка если есть запись в поле, то item либо скрывается, либо рядом чекается и наоборот, если чекаю itemом, заносится в базу, если уже есть там запись просто заменяет либо showmessage! 
Как я только не извращался и условия ставил и черт знает чего, результат один...запись уже есть, так что отвалите. 
Вернул более старый вариант, а то там вообще кошмар...черт разберешься.

Помогите плизз......как нормально сделать. smile 










Автор: neat 10.6.2007, 23:32
Код

        reg_user.ADOTable2.edit;
        reg_user.ADOTable2.FieldByName('Lection 1').Value:='x';
        reg_user.ADOTable2.Post;
        reg_user.ADOTable2.Refresh;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)