AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wert in Dtenbank suchen, doppelte aussortieren und anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Wert in Dtenbank suchen, doppelte aussortieren und anzeigen

Ein Thema von ByStones2 · begonnen am 23. Sep 2006 · letzter Beitrag vom 23. Sep 2006
Antwort Antwort
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#1

Wert in Dtenbank suchen, doppelte aussortieren und anzeigen

  Alt 23. Sep 2006, 13:12
Datenbank: dBase • Version: ??? • Zugriff über: Per Prg
Hi,

ich hab bei meinem Aktuellen Projekt ein Problem:
Ich möchte, sobald Form12 angezeigt wird in einer Datenbank suchen. Der name der Datenbank wird aus Form1 mit der Variable text überliefert. Der Inhalt der Variable könnte so aussehen: Test.db
Ich möchte nun in der Datenbank in der Spalte unit suchen. Wenn ein Eintrag doppelt ist, müssen so viele wegfallen, dass nur noch einer übrig bleibt.
Für jeden Eintrag soll dann in eine ListBox1 ein neues Item erstellt werden...

Ich hoffe dass kann man lösen ...
Danke schon mal im vorraus.

ByStones
Wer nämlich mit "h" schreibt ist dämlich.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:25
Hi,

TEST.DB sieht nach einer Paradox-Tabelle aus, den Zugriff erledigst du sicher über die BDE-Komponenten. Wenn du eine TQuery benutzt, dann kannst du recht einfach alle eindeutigen Werte für UNIT ermitteln:

Delphi-Quellcode:
begin
  ListBox.Clear;
  with TQuery.Create(self) do
  begin
    DatabaseName := '???'; // wie heißt die bei dir?
    SQL.Text := 'SELECT DISTINCT unit FROM test ORDER BY unit';
    Open;
    while not Eof do
    begin
      ListBox.Items.Add(FieldByName('UNIT').AsString);
      Next;
    end;
    Close;
    Free;
  end;
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:34
Zitat von marabu:
Hi,

TEST.DB sieht nach einer Paradox-Tabelle aus, den Zugriff erledigst du sicher über die BDE-Komponenten. Wenn du eine TQuery benutzt, dann kannst du recht einfach alle eindeutigen Werte für UNIT ermitteln:

Delphi-Quellcode:
begin
  ListBox.Clear;
  with TQuery.Create(self) do
  begin
    [color=#ff003f]DatabaseName[/color] := '???'; // wie heißt die bei dir?
    SQL.Text := 'SELECT DISTINCT unit FROM test ORDER BY unit';
    [color=#ff003f]Open[/color];
    while not Eof do
    begin
      ListBox.Items.Add([color=#ff005f]FieldByName[/color]('UNIT').[color=#ff003f]AsString[/color]);
      Next;
    end;
    Close;
    Free;
  end;
end;
Getippt und nicht getestet.

Grüße vom marabu
Oje, das ist zu hoch für mich...
Ich hab ein bisschen was geändert, aber er unterstreicht noch eine ganze Menge Rot...

Bei Mir sieht das jetzt so aus:

procedure TForm12.FormShow(Sender: TObject);
begin
ListBox1.Clear;
with TQuery.Create(self) do
begin
DatabaseName := '???'; // wie heißt die bei dir?
SQL.Text := 'SELECT DISTINCT unit FROM test ORDER BY unit';
Open;
while not Eof do
begin
ListBox1.Items.Add(FieldByName('UNIT').AsString);
Next;
end;
Close;
Free;
end;
end;

Stop zurück, jetzt is nichts mehr unterstrichen...
Was muss ich hinter DataBaseName eintragen ???
Wer nämlich mit "h" schreibt ist dämlich.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:42
Den Verzeichnisnamen der Datei Test.DB - falls du keine TDatabase-Komponente verwendest.

marabu
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:46
Wenn ich das Fenster aufrufen will gibt es hier immer einen Fehler:
Delphi-Quellcode:
procedure TForm1.Panel3Click(Sender: TObject);
begin
try
texter := ComboBox1.Text + '.db';
if FileExists(texter) then
begin
Form12.Show;
end
else
Form11.Show;
except
Form9.Show;
end;
end;
bei mir kommt dann immer: Unbekannte Datenbank
Alias Klasse5.db.

Dein Code sieht bei mir jetzt so aus:
Delphi-Quellcode:
procedure TForm12.FormShow(Sender: TObject);
begin
  ListBox1.Clear;
  with TQuery.Create(self) do
  begin
    DatabaseName := Form1.texter; // wie heißt die bei dir?
    SQL.Text := 'SELECT DISTINCT unit FROM test ORDER BY unit';
    Open;
    while not Eof do
    begin
      ListBox1.Items.Add(FieldByName('UNIT').AsString);
      Next;
    end;
    Close;
    Free;
  end;
end;
Wer nämlich mit "h" schreibt ist dämlich.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:49
Ich kann nicht erkennen was du genau bei DatabaseName eingetragen hast. Es muss für die Datei "C:\Daten\Klasse5.DB" der Name des Verzeichnisses sein: "C:\Daten".

marabu
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:50
Zitat von marabu:
Ich kann nicht erkennen was du genau bei DatabaseName eingetragen hast. Es muss für die Datei "C:\Daten\Klasse5.DB" der Name des Verzeichnisses sein: "C:\Daten".

marabu
Die Datenbank ist im gleichen Ordner, falls dir dass Weiterhilft ???
Hinter Texter verbirgt sich: Klasse5.db
Wer nämlich mit "h" schreibt ist dämlich.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:54
Dann lasse die Eintragung einfach weg. Falls das nicht geht setze DatabaseName auf '.' und wenn auch das scheitert, dann hilft vielleicht ExtractFilePath(ParamStr(0)) oder GetDir(0, workingDir).

marabu
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Wert in Dtenbank suchen, doppelte aussortieren und anzei

  Alt 23. Sep 2006, 13:59
Zitat von marabu:
Dann lasse die Eintragung einfach weg. Falls das nicht geht setze DatabaseName auf '.' und wenn auch das scheitert, dann hilft vielleicht ExtractFilePath(ParamStr(0)) oder GetDir(0, workingDir).

marabu
Geht
Danke !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wer nämlich mit "h" schreibt ist dämlich.
  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 17:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz