Moc si vážím toho, že se mi snažíte pomoct, ale mluvíme na sebe každý jiným jazykem. Já rozumím slovům co píšete jednotlivě, dohromady mi to ale nedává žádný smysl.

Rozchodil jsem si připojení k mdb tím, že jsem rozkuchal příklad. Fakt nechápu, proč se k tomu nedá přistoupit jako ke kdejakému souboru. Prostě mám soubor, v něm tabulky, z té a té vytáhni to a to. Tři řádky kodu tops. Ale to je na jinou debatu (např. c vs basic na ATM mikrokontrolerech).
tady je co mi funguje + sshot té tabulky judokas v libreoffice.
Já ale potřebuju vyhledat jméno podle sloupce Member number (s mezerou je ten sloupec už v té databázi). S tím Indexnr to funguje, jakmile ho zaměním za Member number tak ne. Už mi z toho hrabe.

procedure TfrmGettingStarted.cbConnDefsClick(Sender: TObject);
begin
with dbMain do begin Close;
with Params do begin
Clear;
Add('DriverID=MSAcc');
Add('Database=' + 'tournaments.mdb');
end;
end;
dbmain.GetTableNames('','','',ListBox1.Items, [osMy], [tkTable]);
end;
procedure TfrmGettingStarted.btnInsertClick(Sender: TObject);
var
jmeno: string;
begin
if not dbMain.Connected then Exit;
jmeno:= dbMain.ExecSQLscalar('select plr_lname from judokas where indexnr = 503696');
showmessage (jmeno); //funguje
end;
end;
procedure TfrmGettingStarted.btnCompactClick(Sender: TObject);
var
sDb: String;
begin
sDb := edtDatabase.Text;
if sDb = '' then
Exit;
end;
procedure TfrmGettingStarted.btnCreateDBClick(Sender: TObject);
var
sDb: String;
begin
sDb := edtDatabase.Text;
if sDb = '' then
Exit;
if not FileExists(sDb) then
with accService do begin
Database := sDb;
CreateDB;
end
else
ShowMessage('Database already exists!');
end;
procedure TfrmGettingStarted.btnOpenClick(Sender: TObject);
begin
edtDatabase.Text := 'tournaments.mdb';
end;
end.