Avatar billede fun22 Nybegynder
22. juni 2002 - 16:58 Der er 8 kommentarer og
1 løsning

Slette en række i access

Jeg har en database der hedder games.mdb. Så har jeg i mit program en dblistbox som hedder "DBListBox1". Jeg vil gerne have at når man trykker på en knap der hedder slet så skal den slette den række mna har markeret i "DBListBox1".

Er der nogen der ved hvordan man gør det??
Avatar billede jesperhansen Nybegynder
22. juni 2002 - 18:09 #1
Hvis du vil slette det valgte element kan det gøres således:

procedure TForm1.btnDeleteClick(Sender: TObject);
begin
  DBListBox1.Items.Delete(DBListBox1.ItemIndex);
end;
Avatar billede dkn Nybegynder
22. juni 2002 - 18:13 #2
har lavet en demo som jeg kan sende til din mail fun22 hvis du vil, men koden er ligesom hvis det var en normal listbox der blev brugt.
Avatar billede dkn Nybegynder
22. juni 2002 - 18:14 #3
procedure TForm1.FormCreate(Sender: TObject);
begin
  try
    adotable1.first;
    while not adotable1.eof do
    begin
      DBListBox1.Items.Add(ADOTable1.Fields.Fields[1].Asstring);
      adotable1.Next;
    end;
  finally
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var index: integer;
begin
  index := DBListBox1.ItemIndex;
  if index = -1 then exit;
  adotable1.first;
  while not adotable1.eof do
  begin
    if DBListBox1.Items.Strings[index] =
      ADOTable1.Fields.Fields[1].Asstring then
      ADOTable1.Delete;
    adotable1.Next;
  end;
  DBListBox1.Items.Delete(index);
end;
Avatar billede fun22 Nybegynder
22. juni 2002 - 19:26 #4
du må godt sende den demo til mig.
Avatar billede dkn Nybegynder
22. juni 2002 - 19:54 #5
fun22 -> hvad skal jeg sende den til?
Avatar billede fun22 Nybegynder
22. juni 2002 - 19:56 #6
jtp@home2.gvdnet.dk
Avatar billede fun22 Nybegynder
23. juni 2002 - 12:35 #7
Det er åbenbart min version der er noget galt med. Kan du ikke forklare lidt mere om hvordan man sletter en række i en access database. Jeg har det hele listet i en DBLookupListBox og så skulle det gerne være sådan at jeg kan markere et navn i den DBLookupListBox og så klikke på en knap der hedder slet. Og så sletter den det.
Avatar billede dkn Nybegynder
23. juni 2002 - 13:29 #8
jo jeg tænkte på kan du sende sourcen på det du har?
det ville gøre det lidt nemmere.

dkn@pc.dk
Avatar billede dkn Nybegynder
23. juni 2002 - 16:13 #9
okay put det her på din slet button onclick, så skulle det virke:

var
  index: integer;
begin
  if DBLookupListBox1.SelectedItem = '' then exit;
  index := DBLookupListBox1.ListSource.DataSet.Fields.Fields[0].AsInteger;
  adotable1.first;
  while not adotable1.eof do
  begin
    if ADOTable1.Fields.Fields[0].AsInteger = index then
      adotable1.Delete;
    adotable1.Next;
  end;
end;
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