Entwickler-Ecke

Datenbanken - David "The QReport" Copperfield lässt Tab. verschw


Bruce - Mi 19.03.03 00:05
Titel: David "The QReport" Copperfield lässt Tab. verschw
Hallo Leute,
ein Problem, daß ich mit meinem Sechs-Wochen-Delphi-Können nicht lösen kann :( :

Mein Programm hat eine Artikelliste, da kann ich Artikel suchen (Wahnsinn, oder? :D ) und dann zeigt es mir die verschiedenen Preisschienen pro Artikel an. Dann kann ich den Preis verändern und per Tastendruck werden die Artikeldaten + der neue Preis in eine neue Tabelle "Angebot" geschrieben.
Die Angebotstabelle wird dann per QReport ausgedruckt oder abgespeichert. Das funktioniert alles wunderbar.
Allerdings: Nachdem ich in der QReport-Preview abgespeichert oder einen abgespeicherten Report wieder geöffnet habe und dann wieder in der Artikelliste suchen will, geht das nicht, weil mir das Programm meldet, die Artikeltabelle ist nicht vorhanden. Das versteh´ich nicht ganz, weil doch der Report aus der Angebots-Tabelle generiert wird und nicht aus der Artikeltabelle. Würde es die Angebotstabelle nicht finden, wäre das logischer (obwohl ich es trotzdem nicht verstehen würde).
Kann damit jemand was anfangen? Ich hab Delphi 3 Pro (ja, richtig, hab auch das Buch "Delphi für Kids :oops: ) und QR2.0k.

Danke schon mal fürs Lesen und...
Gruce, Bruce


CenBells - Mi 19.03.03 11:51

kannst du mal ein bisserl code posten, wo du das suchen machst.

Gruß
Ken


Bruce - Mi 19.03.03 12:24

Ja, wollte ich schon, wusste nur nicht, welcher Code-Teil interessant ist.
Mit dem Code suche ich z.B. nach der Artikelnummer:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.suchanKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key = VK_Return) then
begin
Query1.Active:=false;
Query1.Sql.Clear;
Query1.SQL.Add('SELECT * FROM preisliste WHERE upper(ARTNR) LIKE '''+ansiuppercase(suchan.Text)+'%''');
Query1.Active:=true;
suchan.SelectAll;
Label4.Caption := 'Gefundene Artikel: ' + IntToStr(Query1.RecordCount);
end;
if (key = VK_Down) then
begin
DBGrid1.SetFocus;
end;
end;


Hilft das weiter?

Gruß, Bruce