Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DBListBox-Einträge (https://www.delphipraxis.net/35442-dblistbox-eintraege.html)

LOMBI 7. Dez 2004 12:01


DBListBox-Einträge
 
Delphi3-Prof./Paradox7
Anfänger


Hallo,

während das Programm ausgeführt wird, kann ich in eine DBListBox Einträge hinzufügen. Diese Einträge gehen leider beim Programmende + Neustart
verloren. Was muß ich bitte tun, damit die Einträge in der DBListBox
für spätere Anwendungen erhalten bleiben?

Über eine Antwort würde ich mich sehr freuen.

Gruß
Lombi

kiar 7. Dez 2004 12:15

Re: DBListBox-Einträge
 
hallo lombi,

schau mal in der oh nach table.post und table.append

raik

LOMBI 7. Dez 2004 15:27

Re: DBListBox-Einträge
 
Hi raik,

jetzt probiere ich schon einige Zeit das hinzubekommen, aber es will einfach nicht ...

Table1.Append;
Table1.FieldValue['Anrede']:=DBEdit1.Text;
Table1.Post;

Wer hilft bitte?

Gruß

Lombi

kiar 7. Dez 2004 15:35

Re: DBListBox-Einträge
 
hallo lombi,

meine glaskugel habe ich nicht bei :shock: was geht nicht?

immer soviel wie möglich info's mitgeben.

raik

LOMBI 7. Dez 2004 15:41

Re: DBListBox-Einträge
 
Hi raik,

die DBListBox-Einträge werden mit Programmende gelöscht. Schau mal bitte in die Glaskugel...

Gruß

kiar 7. Dez 2004 15:53

Re: DBListBox-Einträge
 
hallo lombi, redest du jetzt über ein DBtext oder über eine DBListbox?

MrSpock 7. Dez 2004 16:04

Re: DBListBox-Einträge
 
Hallo LOMBI,

eine DBListBox hat die Eigenschaft Items, die eine Liste von Werten enthält, die du dem mit der DBListBox verknüpften Feld einen Datenmenge zuweisen kannst. Die Werte in Items kommen ja irgendwo her. Wenn sie manuell eingegeben werden, könntest du diese z.B. in eine eigene Tabelle schreiben. Dann kannst die Werte immer wieder einlesen, bzw. zurückschreiben. Alternativ kannst du eine INI Datei oder ein einfaches TextFile verwenden.

kiar 7. Dez 2004 16:08

Re: DBListBox-Einträge
 
ich versuche es mal
Delphi-Quellcode:
var
  i :integer;
begin
  for i:=0 to DBListBox1.items.count-1 do
  begin
     if DBListBox1.selected[i] then
        table1.append;
        Table1.fieldValues('dein feld'):= dblistbox1.items.strings[i];
        table1.post;
  end;
end;
jetzt sollten daten die in der listbox sind auch in deiner tabelle sein.
vorausgesetzt es ist ein stringfeld!!!!

raik

MrSpock 7. Dez 2004 16:10

Re: DBListBox-Einträge
 
Hallo kiar,

warum selected[i], du solltest dort Items.Strings[i] verwenden!?

LOMBI 7. Dez 2004 16:13

Re: DBListBox-Einträge
 
Hi,

über ein DBEdit füge ich der DBListBox div. Bezeichnungen hinzu. Diese
sollen für weitere Programmstarts zur Verfügung stehen. DBEdit und DBList
Box sind über DataSource mit einer Paradox7-Tabelle verbunden.

Gruß
Lombi

kiar 7. Dez 2004 16:14

Re: DBListBox-Einträge
 
hallo MrSpock,
wenn nichts selected ist , dann nimmt er doch alle einträge der DBListbox

raik

kiar 7. Dez 2004 16:18

Re: DBListBox-Einträge
 
warum ein dbedit?

haben die beiden tabellen ein master-detail beziehung?
langsam dämmert es mir :mrgreen:

du möchtest auch gleich die änderung sehen? dann must du
Delphi-Quellcode:
DBISavechanges(table1.handle)
machen

MrSpock 7. Dez 2004 16:20

Re: DBListBox-Einträge
 
@kiar: ich habe es so verstanden, dass LOMBI genau das will.

@LOMBI: Wie gesagt, entweder speicherst du die Einträge in eine separate Tabelle, in eine INI-Datei oder in eine Textdatei.

kiar 7. Dez 2004 16:25

Re: DBListBox-Einträge
 
so lombi,

jetzt versuchen wir das ganze aufzudösseln :mrgreen:

eine tabelle, wo die daten in einem dbedit sind und diese willst du in eine andre tablle übertagen. und diese einträge sofort in deiner dblistbox sehen.

habe ich das jetzt richtig verstanden?

LOMBI 7. Dez 2004 19:41

Re: DBListBox-Einträge
 
Hallo Raik + MrSpock,

jetzt mal alles der Reihe nach:

Auf der Form2 habe ich folgende Komponenten:

DBListBox1, über DataSource + TTable verbunden mit einer Anreden.db

In diese DBListBox1 soll der Anwender während der Laufzeit die Anreden
speichern, löschen, ändern bzw. pflegen können.

Damit die Anreden in die DBListBox1 übernommen werden, habe ich unter die DBListBox1 gleich ein DBEdit1 für die Eingabe gelegt. Hätte vielleicht ein einfaches Edit auch gereicht?

Mit dem Btn 'übernehmen' wird die neue Anrede von DBEdit1 in die DBListBox1 kopiert und soll damit auf einer Form1 für eine Auswahl
in einer DBComboBox1 dienen.

Die in der DBListBox1 gespeicherten Einträge dürfen jedoch nicht bei
Programmende verloren gehen, d.h. wird Form2 mit der DBListBox1 aufgerufen, dann müssen alle Einträge vorhanden sein.

Alles klar?

Grüße

kiar 7. Dez 2004 20:01

Re: DBListBox-Einträge
 
nimm doch erstmal die navigatorkomponente und versuche damit zu speichern und durch die tabelle zu navigieren.


ehrlich gesagt, ich habe nur 50 % von dem verstanden, was du geschrieben hast.

vielleicht könntest du den quellcode mal anhängen

MrSpock 7. Dez 2004 20:41

Re: DBListBox-Einträge
 
Hallo LOMBI,

du setzt m.E. die DBListBox falsch ein. Die BDListBox wird einem Feld einer Tabelle zugeordnet. Du kannst dann den Wert dieses Feldes für den aktuellen Datensatz aus der Liste, die du über Items.Add füllst, festlegen. Das willst du aber offensichtlich gar nicht! Du möchtest die Anreden speichern!? Nehme doch in Form2 ein DBGrid und lasse den Nutzer dort alle Werte eintragen, die er in der Tabelle ablegen möchte. Mit einem DBNavigator hat er alle Möglichkeiten eine Tabelle zu modifizieren auf einfache Weise angeboten.

In Form1 kannst du dann auf die Tabelle Anreden zugreifen und z.B. über ein DBLookupCombobox die Werte aus der Tabelle Anreden für ein Feld zur Verfügung stellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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