AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MyBase Datenbank für Name und Phonenummer
Thema durchsuchen
Ansicht
Themen-Optionen

MyBase Datenbank für Name und Phonenummer

Ein Thema von noiser · begonnen am 11. Okt 2005 · letzter Beitrag vom 14. Okt 2005
Antwort Antwort
noiser

Registriert seit: 11. Okt 2005
2 Beiträge
 
#1

MyBase Datenbank für Name und Phonenummer

  Alt 11. Okt 2005, 19:08
Datenbank: MyBase • Zugriff über: ?
hallo allerseits!

ich habe folgendes problem. i benutze eine tabelle in welche ich mit hilfe eines TDBGrid
jeweis den namen und die dazugehörige telefonnummer speichert.

nun sollte ich in einer combobox den namen auswählen können, dann schreibt es mir die
dazugehörige nummer in ein edit feld.

wie kann ich das anstellen?

vielen dank für eure hilfe!

mfg

noiser
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: MyBase Datenbank für Name und Phonenummer

  Alt 12. Okt 2005, 11:06
Willkommen im Forum, noiser!

Zwar bin ich auch noch ein Beginner, aber ich glaube, trotzdem eine Lösung anbieten zu können.

Je nachdem, ob du die Namen direkt aus der Tabelle oder aus einem Query lesen willst, gehst du diese "Liste" an Einträgen durch und übergibst die vorhandenen Namen an eine LookupCombo.

etwa so
Delphi-Quellcode:
Combobox1.Clear;
While not Query.Eof do // Im Beispiel wird von einem Ergebnis in einer Query ausgegangen
begin
  Combobox1.Items.Add(FieldByName('Name').AsString) // Für "Name" die Bez. Deiner Tab.-Spalte
end;
In OnClick-Ereignis der Combobox kannst du dann den Index und somit den Namen abfragen und mit dem Befehl "Locate" intern zum Datensatz der Query bzw. deiner Tabelle springen.

Delphi-Quellcode:
...ComboBox1Click(Sender: TObject);
begin
  with Query do
   If Locate('Name', ComboBox1.Items[Combobox1.ItemIndex], []) then
    Edit1.Text:= FieldByName('Telefonnummer').AsString;
end;

Natürlich ist die Sache noch nicht perfekt mit Locate, denn wenn ein Name doppelt vorkommt, springt er nur zum ersten Datensatz. Man könnte auch den Itemindex der Combobox dafür nutzen, um zur entsprechenden Nummer in der Tabelle bzw. des Querys zu springen.
(Ich weiß jetzt nicht auswending, ob der Befehl RecNo immer funktioniert, sonst könntest Du den Cursor intern damit auf den entsprechenden Datensatz setzen)


Sicherlich kann dir ein Profi noch mehr dazu sagen.

Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: MyBase Datenbank für Name und Phonenummer

  Alt 12. Okt 2005, 14:00
Stop! Ich habe da noch ein kleines "Next" vergessen und ein "Query" vor "FieldByName" wäre auch nicht schlecht.

Delphi-Quellcode:
Combobox1.Clear;
While not Query.Eof do // Im Beispiel wird von einem Ergebnis in einer Query ausgegangen
begin
  Combobox1.Items.Add(Query.FieldByName('Name').AsString) // Für "Name" die Bez. Deiner Tab.-Spalte
  Next;
end;


Sorry
Ich hoffe, es sind nicht noch mehr Fehler drin...

Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
noiser

Registriert seit: 11. Okt 2005
2 Beiträge
 
#4

Re: MyBase Datenbank für Name und Phonenummer

  Alt 13. Okt 2005, 19:10
hi pfoto

vielen dank für eine tipps.

leider begreife ich nicht was es mit dem "Query" auf sich hat.

die daten werden jeweils in einem xml file abgelegt . ausserdem verwende
ich für das dbgrid ein tclientdataset und ein tdatasource.

mfg
noiser
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: MyBase Datenbank für Name und Phonenummer

  Alt 13. Okt 2005, 22:19
Hallo,

schau dir mal das Tutorial zum Thema MyBase auf Delphi-Source - dem Delphi-Treff an.

André
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: MyBase Datenbank für Name und Phonenummer

  Alt 14. Okt 2005, 08:54
Zitat von noiser:
leider begreife ich nicht was es mit dem "Query" auf sich hat.
Mit der "Query" kannst Du eine SQL-Abfrage über mehrere Tabellen machen. Das Ergebnis lässt sich dann über dieses Objekt ansprechen. Du kannst aber genauso gut Deinen Tabellennamen anstatt "Query" einsetzen -- dann kannst Du halt nur auf diese eine Tabelle zugreifen.
Es ist also egal, wo die Datenbank die Daten herholt (z.B. XML), hauptsache Du kannst sie Zeile für Zeile ansprechen (siehe Quell-Code Zeile: "While not EOF do...")
Wie genau das mit MyBase funktioniert, weiß ich nicht, schau halt mal im Tutorial.

Gruß
Pfoto
Jürgen Höfs
  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 07:13 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