![]() |
Datenbank: dBase IV • Version: ??? • Zugriff über: ???
auf bestimmtes feld einer datenbank zugreifen
hallo
ich möchte auf eine datenbank folgendermaßen zugreifen: 1. ein bestimmtes feld jedes datensatzes soll in einer DBListBox zu sehen sein 2. bei onclick auf ein item dieser ListBox sollen die restlichen datensätze in DBEdits geladen werden. wie macht man das? danke. |
Re: auf bestimmtes feld einer datenbank zugreifen
Du brauchst eine TDataSet (TQuery oder TTable). Außerdem ein TDataSource.
Das TDataSet trägst du ins TDataSource. Das TDataSource und den Namen des Feldes trägst du in deine TDBListBox ein. Wenn du nun in deiner DBListBox blätterst, stehst du in deinem TDataSet auf dem entsprechenden Datensatz. Also auch beim OnClick. Ich würde aber lieber das OnChange des TDataSource verwenden. |
Re: auf bestimmtes feld einer datenbank zugreifen
danke, probier ich gleich mal aus.
|
Re: auf bestimmtes feld einer datenbank zugreifen
hab ich gemacht, funktioniert allerdings nicht, in der listbox wird nichts angezeigt der rest funzt, hab nen navigator eingebaut.
hat jemand noch nen tipp? |
Re: auf bestimmtes feld einer datenbank zugreifen
Jasocul hat beschrieben, wie es geht. Magst du den nicht funktionierenden Code zeigen?
Grüße vom marabu |
Re: auf bestimmtes feld einer datenbank zugreifen
Vielleicht habe ich das zu ungenau geschrieben.
Bei der TDBListBox musst du im Objekt-Inspektor noch eintragen, welche TDataSource du nehmen willst. Außerdem musst du im Objekt-Inspektor auch eintragen, welches Tabellen-Feld du anzeigen lassen möchtest. Wenn der Rest funktioniert, müsste es an einem der beiden Sachen liegen. |
Re: auf bestimmtes feld einer datenbank zugreifen
habe ich eingestellt gehabt, funktioniert aber net.
|
Re: auf bestimmtes feld einer datenbank zugreifen
Bei mir geht das.
Vielleicht solltest du wirklich mal dein Projekt zum Download bereitstellen. Der Source allein genügt ja nicht, da die Einstellungen im OI dort nicht zu sehen sind. |
Re: auf bestimmtes feld einer datenbank zugreifen
Liste der Anhänge anzeigen (Anzahl: 1)
hallo
hab das anfängliche problem jetzt gelöst. hab alles einfach neu aufgesetzt und dann klappte es. hab jetzt aber natürlich das nächste problem:
Code:
es klappt soweit alles, nur kann ich jetzt die datensätze nicht mehr ändern. und wenn ich Form1.Table1.EnabledControls irgendwo hinsetze kann ich die ListBox vergessen.
unit UMain;
interface ... implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ListeFuellen(Self); end; procedure TForm1.DBListBox1Click(Sender: TObject); begin ListeKlick(Self); end; procedure TForm1.ListeFuellen(Sender: TObject); var Help : TStrings; begin Help := TStringList.Create; Form1.Table1.First; while not Form1.Table1.Eof do begin Help.Add(Form1.Table1A01.Text); Form1.Table1.Next; end; Form1.DBListBox1.Items := Help; end; procedure TForm1.ListeKlick(Sender: TObject); var i : integer; begin Form1.Table1.DisableControls; Form1.Table1.First; for i := 0 to Form1.DBListBox1.Items.Count do begin if Form1.DBListBox1.ItemIndex = i then begin Form1.DBEdit1.Text := Form1.Table1A01.Value; Form1.DBEdit2.Text := Form1.Table1A02.Value; Form1.DBEdit3.Text := Form1.Table1A03.Value; Form1.DBEdit4.Text := Form1.Table1A04.Value; Form1.DBEdit5.Text := Form1.Table1A05.Value; Form1.DBEdit6.Text := Form1.Table1A06.Value; Form1.DBEdit7.Text := Form1.Table1A07.Value; Form1.DBEdit8.Text := Form1.Table1A08.Value; Form1.DBEdit9.Text := Form1.Table1A09.Value; Form1.DBEdit10.Text := Form1.Table1A10.Value; Form1.DBEdit11.Text := Form1.Table1A11.Value; Form1.DBEdit12.Text := Form1.Table1A12.Value; Form1.DBEdit13.Text := Form1.Table1A13.Value; Form1.DBEdit14.Text := Form1.Table1A14.Value; end; Form1.Table1.Next; end; end; end. hab mal das projekt angefügt. danke. |
Re: auf bestimmtes feld einer datenbank zugreifen
keiner ne idee?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz