Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kunden auf Rechnungsform eingeben/anzeigen (https://www.delphipraxis.net/72468-kunden-auf-rechnungsform-eingeben-anzeigen.html)

LOMBI 30. Jun 2006 17:10

Datenbank: Paradox • Version: 7 • Zugriff über: TQuery, TDataSource

Kunden auf Rechnungsform eingeben/anzeigen
 
Hallo,

ich möchte auf der Rechnungsform den KundenNamen in ein TEdit eintragen und
wenn nötig suchen lassen.

Gebe ich z.B. "Mü" für "Müller" ein, dann sollte sich beim OnExit des TEdits die Kundenübersicht öffnen, mit den Namen aus der KundenTabelle, sortiert nach "Mü.."

Bei dem folgenden Code bekomme ich allerdings die Meldung "Parameter 'suche' nicht gefunden":

Delphi-Quellcode:
procedure TFRechnungen.EditMatchExit(Sender: TObject);
begin
  with FKunden.QueryKunden do
    begin
      SQL.Text := 'SELECT * FROM Kunden WHERE (NName like : suche) OR
                   (VName) like : suche)';
      ParamByName('suche').asString : = EditMatch.Text +'%';
      Open;
Wer weiß Bescheid? Vielen Dank für Eure Hilfe!

Gruß
Lombi

mkinzler 30. Jun 2006 17:14

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Versuchs mal so:

Delphi-Quellcode:
SQL.Text := 'SELECT * FROM Kunden WHERE (NName like :suche) OR
                   (VName like :suche)';

LOMBI 3. Jul 2006 15:06

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Danke mkinzler für den Hinweis. Hat geklappt!

Folgende Fragen gäb's noch:

Wie bitte könnte ich nur für diesen Vorgang das Fenster
der Kundenübersicht verkleinern?

Aus der Kundenübersicht möchte ich einen Kunden per Klick auswählen und
seine Daten auf der Rechnungsform in die Felder EditNName, EditVName EditStrasse usw. eingetragen lassen.

Gruß
Lombi

marabu 5. Jul 2006 10:33

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Hallo Lombi,

meinst du mit Verkleinern das Minimieren des Fensters Kundenübersicht? Ich würde das Fenster modal anzeigen, dann hast du dieses Problem gar nicht. Nach dem Auswählen des Datensatzes wird das Fenster automatisch geschlossen, wenn du es willst.

Grüße vom marabu

LOMBI 5. Jul 2006 17:39

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Hallo marabu,

ich meine nicht das Minimieren der Kundenübersicht. Normalerweise werden
die Forms in voller Bildschirmgröße dargestellt. Beim OnExit des EditMatch wird die KundenListe (FKundenListe.Show) mit den Treffern gezeigt. Bei dieser Übersicht wollte ich eben nicht den ganzen
Bildschirm ausfüllen. Mit Height/Width-Einstellung der Form scheint's
zu funktionieren.

Zitat:

Aus der Kundenübersicht möchte ich einen Kunden per Klick auswählen und
seine Daten auf der Rechnungsform in die Felder EditNName, EditVName EditStrasse usw. eingetragen lassen.
Zitat:

Nach dem Auswählen des Datensatzes wird das Fenster automatisch geschlossen, wenn du es willst.
Genau, ich möchte aus der Trefferliste (FKundenübersicht) eine Adresse per Klick auswählen, die Übersicht schließen und die Daten in die Edits auf der Rechnungsform übernehmen. OnCellClick des DBGrid hat nicht den gewünschten Erfolg gebracht.

Was ist bitte zu tun?

Gruß
Lombi

marabu 5. Jul 2006 20:37

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Hallo Lombi,

die Übernahme der Kundendaten könntest du im Ereignis OnDblClick() des DBGrid vornehmen. Nach erfolgreicher Übernahme kannst du dann ModalResult auf mrOK setzen und dein modaler Auswahldialog wird geschlossen. Die Dimensionierung der Form über die Eigenschaften Height und Width machst du schon richtig.

marabu

LOMBI 6. Jul 2006 09:02

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Schönen guten Morgen marabu!

Zitat:

ParamByName('suche').asString : = EditMatch.Text +'%';
Was müßte ich bitte noch ergänzen, damit in die Suche auch Kleinbuch-
staben einbezogen werden, z.b. statt nach "Meier" möchte ich nach
"meier" suchen und trotzdem alle "Meier, MEIER" als Treffer erhalten.

Bis dann und viele Grüße
Lombi

marabu 6. Jul 2006 09:08

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Guten Morgen Lombi,

du kannst die Zeichenketten mit der LOCALSQL-Funktion UPPER() normieren:

SQL-Code:
SELECT * FROM Kunden WHERE UPPER(NName) LIKE :suche OR UPPER(VName) LIKE :suche
Grüße vom marabu

LOMBI 6. Jul 2006 11:15

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Hallo marabu,

Zitat:

SELECT * FROM Kunden WHERE UPPER(NName) LIKE :suche OR UPPER(VName) LIKE :suche
mit diesem Code erhalte ich leider überhaupt keine Treffer im DBGrid.

Beste Grüße
Lombi

mkinzler 6. Jul 2006 11:30

Re: Kunden auf Rechnungsform eingeben/anzeigen
 
Ist der Suchstring auch Uppercase?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.
Seite 1 von 2  1 2      

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