Avatar billede delphiuser Mester
06. april 2012 - 07:40 Der er 7 kommentarer og
1 løsning

Vil ikke overføre data til ny form.

Hej eksperter

Jeg har lavet en lille søgemaskine hvor jeg bruger et dbgrid.
når så jeg søger på en ting og hvis der er flere hits vil jeg ligemeget hvad kunne klikke på den kollonne jeg skal bruge og derved åbne en ny form hvor at indholdet bliver vist.

Jeg har lavet følgende kode og det er fra søgemaskinen.

procedure TForm5.Button1Click(Sender: TObject);
begin
if php.Checked = true then
  begin
    if php1.Locate('k_title', edit1.Text, []) = true then
      begin
      php1.Close;
      php1.SQL.Text:='select * from kode where k_title like "%'+edit1.text+'%"';
      php1.Open;
      dbgrid2.Visible:=true;
      dbgrid1.Visible:=false;
      dbgrid3.Visible:=false;
      end
      else
      showmessage('PHP koden findes ikke...');
  end;
if email.Checked = true then
  begin
    if email1.Locate('email', edit1.Text, [])=true then
      begin
        email1.Close;
        email1.SQL.Text:='select * from mail where email like "%'+edit1.Text+'%"';
        email1.Open;
        dbgrid2.Visible:=false;
        dbgrid3.Visible:=false;
        dbgrid1.Visible:=true;
      end
      else
      showmessage('Email opsætning findes ikke...');
  end;
if delphi.Checked = true then
  begin
    if delphi1.Locate('d_title', edit1.Text, []) = true then
      begin
        delphi1.Close;
        delphi1.SQL.Text:='select * from delphi where d_title like "%'+edit1.Text+'%"';
        delphi1.Open;
        dbgrid1.Visible:=false;
        dbgrid2.Visible:=false;
        dbgrid3.Visible:=true;
      end
      else
      showmessage('Delphi koden findes ikke i systemet...');
  end;
end;

procedure TForm5.DBGrid1CellClick(Column: TColumn);
begin
form6.show;
end;

her kommer koden fra det vindue hvor at jeg gerne vil have vist indholdet fra den kollonne jeg klikker på.

procedure TForm6.FormCreate(Sender: TObject);
begin
statictext1.Caption:=form5.DBGrid1.Fields[pop3].AsString;
statictext2.Caption:=form5.DBGrid1.Fields[smpt].AsString;
statictext3.Caption:=form5.DBGrid1.Fields[email].AsString;
statictext4.Caption:=form5.DBGrid1.Fields[navn].AsString;
statictext5.Caption:=form5.DBGrid1.Fields[bruger].AsString;
statictext6.Caption:=form5.DBGrid1.Fields[pass].AsString;
end;

Jeg håber i kan hjælpe mig og på forhånd tak for hjælpen.

Delphiuser
Avatar billede kroning Nybegynder
06. april 2012 - 09:09 #1
Du skal ikke hente data fra din DBGrid men i stedet fra din TQuery altså php1
Avatar billede kroning Nybegynder
06. april 2012 - 09:13 #2
eller email1 eller delphi1...
Avatar billede kroning Nybegynder
06. april 2012 - 09:34 #3
Og så tænkte jeg på når du nu alligevel har gang i de DB komponenter hvorfor så ikke bruge TDBText i stedet for statictext, så kan du helt droppe de 6 linier med statictext1.caption:=...
Avatar billede delphiuser Mester
06. april 2012 - 09:43 #4
kan du evt. vise mig noget kode til hvordan jeg skal gøre eller?
Avatar billede kroning Nybegynder
06. april 2012 - 10:07 #5
Hente fra din Query eller bruge TDBText ?
Avatar billede delphiuser Mester
06. april 2012 - 16:02 #6
har fået det til at virke...
Avatar billede delphiuser Mester
06. april 2012 - 16:03 #7
ellers tak for hjælpen...
Avatar billede martinlind Nybegynder
17. april 2012 - 00:00 #8
til en anden gang hvis du skal bruge data fra din grid skriver du dbgrid.datasource.dataset.fields[x]
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