Autor Beitrag
MRX
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 16.07.02 23:09 
Gleich vorneweg muss ich sagen das ich absoluter anfänger m Umgang mit Delphi bin. :lol:
Nun habe ich aber folgendes Problem:
Ich habe eine Datenbank mit der Datenbankoberfläche von Delphi erstellt und in meiner Form1 ein Editfeld und mehrere Labelfelder erzeugt. Im Editfeld wird durch den Benutzer eine Eingabe getätigt die max. 3 Zeichen lang ist. Bei jedem Tastendruck soll sowohl das Editfeld alsauch die Labelfelder mit der Datenbank abgeglichen werden ob es zu dieser Eingabe bis dort hin eine übereinstimmung gibt.
Es würde mich RIESIG froien wenn einer von oich mir eine Lösung bieten könnte. Wenn ich was nich verständlich erklärt habe und noch Fragen offen sind könnt ihr mir ja Mailen...Addy steht glaub ich da...
Bis dann.....Mr.X :wink:
KeinePanik
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131



BeitragVerfasst: Di 16.07.02 23:14 
Also so ne Art "Autovervollständigen" ... gibt man ein "J" ein werden alle Einträge, die mit "J" anfangen in den Labels angezeigt (joschi,jogi ...) !?

Warum die Labels ?

_________________
Es gibt keine dummen Fragen ... Nur blöde Antworten !!!
MRX Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 16.07.02 23:21 
Titel: Ja ne Art AUTOVERVOLLSTÄNDIGUNG*g*
Die labels sind deswegen da weil der Benutzer diese Daten nicht ändern soll/darf.
Wenn man "J" eingibt soll die Datenbank alle mit "J" verfügbaren Einträge im Editfeld anzeigen(Alphabetisch, versteht sich) und in den Labels die dazugehörigen Datensätze(Also wenn man das Bsp. Adressbuch nimmt, sollen alle Namen mit "J" angezeigt werden und Tel.Nr., Adresse usw. in den Labels dargestellt. :D
KeinePanik
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131



BeitragVerfasst: Di 16.07.02 23:26 
Schau mal Hier !!!

Vielleicht hilft dir das ja weiter ....

_________________
Es gibt keine dummen Fragen ... Nur blöde Antworten !!!
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 17.07.02 14:35 
Hallo,

ich bin nicht sicher ob ich deine Frage richtig verstehe, wenn dann enspricht sie in etwar diesem Thread und auch dir sollte ein Query mit Like helfen (Infos zu tTable, tQuery kannst du bei bedarf hier finden.).

Sollte ich dich falsch verstanden haben konkretisiere einfach noch mal deine Frage.

Gruß
Klabautermann
MRX Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 17.07.02 16:20 
Titel: Ne Du hat nich wirklich geholfen.
Ne Du hat nich wirklich geholfen.
Ich möchte eigentlich nur wissen ob man das nich im Objektinspektor bei irgendwelchen Funktionen einstellen kann und wenn ja mit welchen. Wenn man das nur über den Quellcode regeln kann, wie müsste der lauten und wo muss ich den hinschreiben?
Wie gesagt ich bin anfänger also bitte idiotensicher erklären :mrgreen:
Es ist wirklich wichtig weil ich das Prog für jemanden anderen schreibe, er es bald haben will, es aber noch ne weile dauert bis ich es fertigstellenkann, vorrausgesetzt ich weiss wie ich DIESE Prob beheben kann. Die DB ist nämlich sehr komplex!
Danke im Vorraus!
Bye Mr.X :wink:
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 17.07.02 16:50 
Tja,

da müssten wir uns erst einmal einigen, wodrüber wir sprechen ;).

Also ich habe hier mal ein Demo gemacht von dem, was ich glaube das du willst. Die sache mit dem Label habe ich nicht verstanden aber da kannst du mcih ja aufklären.
Das ganze beruht auf einer Beispieldatenbank die mit Delphi ausgeliefert wird. Voraussetzung ist also, dass du diese mitinstalliert hast.

Gucke es dir mal an, und erkläre mir dann was ich falsch verstenden habe.

Gruß
Klabautermann
MRX Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 17.07.02 17:14 
Titel: Öhmmmmm ja....
also Deine Demo hab ich nich zum laufen gebracht :oops:
Wenn ich sie starten willl zeigt er mir erst zwei Fehlermeldungen an. Wenn man diese weggeklickt hat kommt der Quellcode der jeweiligen datei(LikeDemo bzw. frmMain).
Nur ich kann diese nicht starten weil ich ja auch noch irgendwas auf einer Form erstellen muss(Buttons, Labels, Edits etc.)
Also funztr nich...hat wohl mit meiner mangelnden Erfahrung zutun.
Das mit den Labels war so gemeint:
Ich hätte genausogut anstelle der Labels auch Edits erstellen können nur hat dfann der Benutzer das gefühl er könne diese ändern und das soll er ja nich. Er darf nur das ändern was auch wirklich im Editfeld steht. Nur deswegen hab ich Labels gewählt.
Wenn Du/Ihr nochmehr fragen habt: Immer her damit...ich beantworte jede.
WENN ICH NUR EINE ANTWORT AUF MEINE FRAGE BEKOMME UND ICH DAS PROB ENDLICH LÖSEN KANN. Es ist mir sehr wichtig..
Danke
Mr.X :D
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 17.07.02 17:34 
Ok,

versuchen wir es einmal mit einem Beispiel:

Variante eins:
Ich gebe in das Edit Feld Me an und in den Labels erseinen alle Meiers aus der Datenbank.

Variante zwei:
Ich gebe Meiner ein und in den Edits erscheinen alle weiteren Informationen zu dem aktuellen Meier (also z.B. Vorname, Wohnort, Schuhgröße usw.).

Oder meinst du noch was ganz anderes?

Neugierig Klabautermann

PS: Wegen der Demo welches DELPHI verwendest du? Und wie lauten die Fehlermeldungen.
MRX Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 17.07.02 17:43 
Titel: Die zweite Variante ist richtig!
Also da ich sehe es wird doch schon etwas spezieller und ich komme mit der allgemeinen beschreibung nicht weiter schildere ich jetz mal das konkrete Prob.
Es geht um Flughäfen. Zu jedem Flughafen gibt es Kürzel die aus drei grossen Buchstaben bestehn. Wenn der Benutzer den ersten Buchstaben eingibt soll die DB schon anfangen zu ackern. Sie soll die beiden rstlichen Buchtaben ergänzen und die restlichen Informationen zu den Fluhäfen sowie den ausgeschriebenen Namen des Airports.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Do 18.07.02 09:33 
Hallo,

das ist im Grunde genau das, was das von mir gelieferte Beispiel macht, nur das ich ein DB-Grid für die Ausgebe verwende.
Versuche mal folgende änderungen:
1. Setze bei der Eigenschaft DataBaseName den Alias deiner Datenbank ein.
2. Passe die Procedure Check an den beiden Markierten Stelen an:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Check(TXT: STRING);
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.sql.Add('SELECT * FROM BIOLIFE'); // Hier Biolife durch den Namen deiner Tabelle ersetzen
  IF TXT <> '' THEN
    Query1.SQL.Add('WHERE Common_Name LIKE "' + TXT + '%"'); // Hier Common_Name gegen den Namen deiner Kürzel-Spalte ersetzen
  Query1.Open;
end;


Danach sollte es eigentlich mit deiner Datenbank arbeiten.

Gruß
Klabautermann


Zuletzt bearbeitet von Klabautermann am Do 06.10.05 11:42, insgesamt 1-mal bearbeitet
MRX Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 18.07.02 11:02 
Titel: .....
Hi Klabautermann!
Also ich hab nochmal zwei Fragen. Erstens: Wo finde ich die Procedure .Check???
Und zweitens: In dem Feld DataBaseName steht der Name meiner Datenbank nicht obwohl ich die DB im gleichen Verzeichnis wie das Projekt gespeichert habe. Warum steht die nicht da?
Kann ich den Code den Du dort gezweigt hast dann einfach einfügen wenn ich die Procedure gefunden habe oder muss ich irgendwas anpassen?
Bye Mr.X
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Do 18.07.02 11:22 
Titel: Re: .....
MRX hat folgendes geschrieben:
Hi Klabautermann!
Also ich hab nochmal zwei Fragen. Erstens: Wo finde ich die Procedure .Check???

Im ufrmMain von dem Beispiel das ich dir geschickt habe.

MRX hat folgendes geschrieben:
Und zweitens: In dem Feld DataBaseName steht der Name meiner Datenbank nicht obwohl ich die DB im gleichen Verzeichnis wie das Projekt gespeichert habe. Warum steht die nicht da?

Er wird sie nicht selbsständig erkennen. Du must sie dort eintragen (wenn du mit einem Alias Arbeitest nimm dies). Generell sollte da das selbe drinstehen wie bei den Table Objecten in deinem Programm.

MRX hat folgendes geschrieben:
Kann ich den Code den Du dort gezweigt hast dann einfach einfügen wenn ich die Procedure gefunden habe oder muss ich irgendwas anpassen?

Die Procedure sorgt dafür, das das Query angepast und ausgeführt wird. Du musst sie also immer dann aufrufen wenn diese Anpassung vorgenommen werden soll, also z.B. im OnChande Ereigniss des Edit feldes aber auch im OnCreate des Formulars (initialisierung).

Gruß
Klabautermann
MRX Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 18.07.02 11:31 
Titel: Hallo Klabautermann!
Ich hab Dir mal ne Private Nachricht geschickt, vieleicht guckst Du ja mal nach!?...
Bis dann.
Mr.X