Avatar billede delphiuser Mester
12. maj 2006 - 17:20 Der er 2 kommentarer og
1 løsning

hjælp til sletning via checkboxes

Hej alle eksperter...

Jeg er i gang med at lave et program som skal kunne slette noget fra en database. men jeg har lavet det sådan at hvis jeg har flere felter der skal slettes bruger jeg checkboxes i et listview. men det vil ikke som jeg vil...

Fejl melding....
[Error] Unit9.pas(85): Undeclared identifier: 'ADOTabel1'

Fejlen er indrammet af stjerner. hvad har jeg gjort galt?
source code for den del.....

procedure TForm9.Button1Click(Sender: TObject);
Var
Tr : String;
t , o :String;
i : Integer;
Begin
t:='Er du sikker på du vil slette de valgte';
o:='Sletning af Brugere';
If application.messagebox(pchar(t),pchar(o),MB_iconexclamation + MB_yesno) = MRyes then
  for i := 0 to ListView1.Items.Count-1 do
  begin
  if ListView1.Items[i].Checked = True then
  begin
    ListView1.Items[i].Selected:=true;
    tr:=IntToStr(integer(ListView1.Selected.Data));
*****************************************************************
    ADOTabel1.Locate('id',tr,[]);
    ADOTabel1.Delete;
*****************************************************************   
  end;
  end;
end;
Avatar billede dkn Nybegynder
12. maj 2006 - 19:11 #1
Lyder somom det ikke er navnet på den, har du placeret det ado component på formen, eller created den dynamisk ?
Avatar billede delphiuser Mester
12. maj 2006 - 22:43 #2
vil du have hele min kode fra den form?

unit Unit9;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, ComCtrls;

type
  TForm9 = class(TForm)
    Label1: TLabel;
    ListView1: TListView;
    Button1: TButton;
    Button2: TButton;
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    procedure Button2Click(Sender: TObject);
    procedure OnShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form9: TForm9;

implementation

{$R *.dfm}
Function KL : string;
begin
  Form9.ADOTable1.Close;
  Form9.ADOTable1.Active:=True;
  Form9.ADOTable1.First;
  Form9.ListView1.Clear;
  While Not Form9.ADOtable1.Eof do
  begin
    with Form9.ListView1.Items.Add do
    begin
      Caption:=''; //Kolonne 1
      ImageIndex:=-1;
      Subitems.Add(Form9.ADOTable1.FieldByName('id').asstring);
      Subitems.Add(Form9.ADOTable1.FieldByName('pass').asstring); // Kolonne2
      Subitems.Add(Form9.ADOTable1.FieldByName('navn').asstring); // Kolonne3
      Subitems.Add(Form9.ADOTable1.FieldByName('adresse').AsString); // Kolonne4
      SubItems.Add(Form9.ADOTable1.FieldByName('post').AsString);
      SubItems.Add(Form9.ADOTable1.FieldByName('by').AsString);
      SubItems.Add(Form9.ADOTable1.FieldByName('tlf').AsString);
      SubItems.Add(Form9.ADOTable1.FieldByName('mobil').AsString);
      SubItems.Add(Form9.ADOTable1.FieldByName('mail').AsString);
      SubItems.Add(Form9.ADOTable1.FieldByName('http').AsString);
    end;
    Form9.ADOTable1.Next;
  end;
end;


procedure TForm9.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm9.OnShow(Sender: TObject);
begin
KL;
end;

procedure TForm9.Button1Click(Sender: TObject);
Var
Tr : String;
t , o :String;
i : Integer;
Begin
t:='Er du sikker på du vil slette de valgte';
o:='Sletning af Brugere';
If application.messagebox(pchar(t),pchar(o),MB_iconexclamation + MB_yesno) = MRyes then
  for i := 0 to ListView1.Items.Count-1 do
  begin
  if ListView1.Items[i].Checked = True then
  begin
    ListView1.Items[i].Selected:=true;
    tr:=IntToStr(integer(ListView1.Selected.Data));
    ADOTabel1.Locate('id',tr,[]);
    ADOTabel1.Delete;
    end;
  end;
end;


end.
Avatar billede vallemanden Nybegynder
12. maj 2006 - 22:56 #3
det er en stave fejl

ADOTabel1.Locate('id',tr,[]);
ADOTabel1.Delete;

ÆNDRES til

ADOTable1.Locate('id',tr,[]);
ADOTable1.Delete;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester