![]() |
Datenbank: MS-Access • Version: 2000 • Zugriff über: ADO
Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Hallo an alle,
ich habe folgende Frage: Ist es möglich,in einem DBGrid Datensätze hinzuzufügen,ohne den vorherigen Datensatz zu löschen,oder zu überschreiben?
Delphi-Quellcode:
Wenn ich auf den Button klicke,wird ein Datensatz im DBGrid angezeigt,dies funktioniert auch soweit.
procedure TForm2.Button1Click(Sender: TObject);
begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text := 'SELECT Artikel FROM Tabelle WHERE Artikelnummer=' + f1; ADOQuery1.ExecSQL; ADOQuery1.Open; end; Nur wird immer der aktuelle Datensatz überschrieben. Mit jedem Klick soll aber ein weiterer Datensatz im DBGrid hinzugefügt werden. Wie kann ich dies ändern,damit alle Datensätze erhalten bleiben??? Mfg AnfängerDelphi |
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Dein SQL selektiert ja genau eine Artikelnummer. Du könntest das ändern, indem Du Dir (in Delphi, nicht in SQL) eine Liste der Artikelnummern anlegst und diese dann selektierst.
SQL-Code:
SELECT Artikel FROM Tabelle WHERE Artikelnummer IN (<Kommagetrennte Liste>)
|
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Meinst du,das ich meine Datenbank komplett in ein ListView lade und von dort aus meine Artikel auswähle...?
Ich weiß im moment nicht so genau,wie ich deinen Tip umsetzen soll. Könntest du mir es bitte an einem Beispiel beschreiben? Mfg |
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Plies uäitäminnit.
|
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Ich habe mal schnell eine kleine Beispielanwendung geschrieben:
Delphi-Quellcode:
Die Liste müsste bei Dir natürlich global sein. Deine Variable f1 würde ihr dann jeweils hinzugefügt.
procedure TForm1.Button1Click(Sender: TObject);
var Nummern: TStringlist; SQL: string; i: integer; begin (* Liste für die Auftragsnummern erzeugen *) Nummern := TStringlist.Create; try (* Artikelnummern '1' bis '10' hinzufügen *) for i := 1 to 10 do Nummern.Add(QuotedStr(IntToStr(i))); (* Trennzeichen auf Komma setzen *) Nummern.Delimiter := ','; (* SQL zusammenbauen *) SQL := Format('SELECT Artikel FROM Tabelle WHERE Artikelnummer IN (%s)', [Nummern.DelimitedText]); ShowMessage(SQL); finally (* Liste freigeben *) Nummern.Free; end; end; |
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Danke für dein Beispiel,ich melde mich sobald ich es ausprobiert habe.
|
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Zitat:
|
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Zitat:
|
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
[OT]
:shock: habt ihr alle bei Loddar geübt ? Zitat:
[/OT] |
AW: Durch Anklicken des Buttons,Datensätze im DBGrid anzeigen
Hallo,
ich habe folgende Lösung für mich gefunden. Zuerst erstellt man im sich im Spalteneditor vom ListView seine Spalten. Dann legt man noch einen Button,mit folgendem Code an.
Delphi-Quellcode:
Immer wenn der Button gedrückt wird,wird eine neue Zeile hinzugefügt,ohne die vorherige zu überschreiben.
procedure TForm7.Button2Click(Sender: TObject);
begin ListView1.Items.BeginUpdate; aListItem := ListView1.Items.Add; aListItem.Caption := LabeledEdit2.Text; //gibt die erste Spalte vom Datensatz an aListItem.SubItems.Add(ADOQuery1.FieldByName('Artikelnummer').AsString); aListItem.SubItems.Add(ADOQuery1.FieldByName('Lagerbestand').AsString); .......usw ListView1.Items.EndUpdate; end; Allen wünsche ich noch ein frohes Osterfest. Mfg AnfängerDelphi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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