AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Editfeld mit automatischer Listbox

Ein Thema von Hansa · begonnen am 5. Okt 2002 · letzter Beitrag vom 19. Okt 2002
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1
  Alt 6. Okt 2002, 00:58
Hallo:

Da war doch noch was :

Zitat:
Wenn Du die mit dem ComboBox Style csDropDownList kombinierst, hast Du auch den Effekt, dass der User nichts eingeben kann
Du meinst, dann geht die ComboBox von alleine auf? Aha, sehr gut, aber nicht für diesen Zweck. Die Sperre des Editfeldes ist für die Kundennr. gedacht. Sobald diese den DS selektiert hat, soll alles verfügbar sein, NUR NICHT die Kundennr. selbst.

Das Auswahlfeld soll er ja nutzen können, um die KG-Nr., die eventuell falsch eingegeben wurde zu korrigieren ! Er soll nur nicht die Nr. einfach so ändern.

Stelle meinen code mal hier rein. Kommentare willkommen :
Code:
unit KGform;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, FIBQuery, pFIBQuery, StdCtrls, Mask, DBCtrls,
  ComCtrls;

type
  TForm1 = class(TForm)
    Label2: TLabel;
    KGlistBox: TDBListBox;
    KuAnrede: TDBedit;
    KuName: TDBEdit;
    KuStrasse: TDBEdit;
    KuOrt : TDBedit;
    KuNr: TEdit;
    KGnr: TEdit;
    Label1: TLabel;
    procedure FormShow(Sender: TObject);
    procedure KUnrExit(Sender: TObject);
    procedure KGnrEnter(Sender: TObject);
    procedure KGnrExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

USES DataMod;

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
  KGlistBox.Hide;
  KuNr.SetFocus;
end;

procedure TForm1.KUnrExit(Sender: TObject);
begin
  IF KuNr.Text <> '' THEN BEGIN
    WITH DataModul.KuDatensatz DO BEGIN
      active := false;
      SelectSQL [0] := 'SELECT * FROM KUNDE8 WHERE NR = ' + KuNr.text;
      active := true;
      IF IsEmpty THEN BEGIN
        ShowMessage ('Kunde existiert nicht !');
        KuNr.SetFocus;
      END
      ELSE BEGIN
        KuNr.enabled := false; // Kunden-Nr. nicht editierbar
{
        WITH DataModul.KGdatensatz DO BEGIN
          Active := false;
          SelectSQL [0] := 'SELECT * FROM KG8 WHERE ID = ' +
            FieldByName('IDKGH').AsString;
          Active := true;
          IF NOT IsEmpty THEN
            Label1.Caption := '(' + FieldByName('BEZ').AsString + ')';
        END;
}
        KuAnrede.SetFocus;      // erstes editierbares Feld
      END;
    END
  END
  ELSE BEGIN
    ShowMessage ('Kunden-Nr. muß eingegeben werden !');
    KuNr.SetFocus;
  END
end;

procedure TForm1.KGnrEnter(Sender: TObject);
begin
  KGlistBox.Show;
  WITH DataModul.KGdatensatz DO BEGIN
    Active := false;
    SelectSQL [0] := 'SELECT * FROM KG8';
    Active := true;
    while not EOF do begin
      KGlistBox.Items.Add(FieldByName('NR').AsString + ' ' +
                          FieldByName('BEZ').AsString);
      next;
    end;
  end;
end;

procedure TForm1.KGnrExit(Sender: TObject);
begin
  KGlistBox.Clear;
  KGlistBox.Hide;
  IF KGnr.Text <> '' THEN WITH DataModul.KGdatensatz DO BEGIN
    Active := false;
    SelectSQL [0] := 'SELECT * FROM KG8 WHERE NR = ' + KGnr.text;
    Active := true;
    IF NOT IsEmpty THEN
      Label1.Caption := '(' + FieldByName('BEZ').AsString + ')';
  END;
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz