ComboBox a baza danych

0

Chciałbym aby w ComboBoxie była lista z bazy danych, którą można uzupełniać w programie. Znalazłem że musi to być DBLookupComboBox. Ustawiłem DataSource i Data Field ale i tak w programie nic się nie wyświetla. Co mam jeszcze zrobić?

0

Może jest jakaś metoda inicjująca? .. na pewno jest.

0

jeżeli chodzi ci o to, żeby do zwykłego combo załadować wartości z tabeli to możesz zrobić coś takiego:

w jakimś zdarzeniu np. OnActivate formy napisz

<delphi> var i:integer; begin adoQuery.Active:=false; adoQuery.SQL.Clear; adoQuery.SQL.Add( '<font color="blue">tu wstawiasz zapytanie sql</span>'); adoQuery.Acive:=true; <font color="green">//teraz w pętli ładujesz wartości pola z tabeli</span> for i:=0 to adoQuery.RecordCount-1 do begin ComboBox1.Items.Add(adoQuery.FieldByName(<font color="blue">'nazwaPola'</span>).AsVariant; adoQuery.Next; end;

powinno zadziałać ;)

0

Zapytanie SQL? To aż takie skomplikowane?
Nie musi być zwykły combobox. Mnie chodzi o jego wygląd, takie rowijalne okienko, tylko zawartość z bazy żeby była i żeby w programie dało się modyfikować a nie na stałe wpisać w Items.

0

co rozumiesz przez "zawartość z bazy"?. Napisałem na przykładzie ADO bo wydaje mi się to najwygodniejszy sposób do dorwania się do danych (no i trochę dla tego, że innego sposobu, nie znam :d ), a jeżeli chcesz pobrać do programu dane to musi (chyba) być zapytanie sql chociaż jakiś najprostszy <font color="blue">select * from ...</span>. Z jakiej bazy korzystasz?

0

Bazę robie kreatorem który jest dołączony do delphi. Może się źle wyraziłem że to baza, może to tabela. Rozszeżenie dbf. Chodni mi o to że w tej tabeli mam 2 kolumny : nazwę samochodu i norme zużycia paliwa. Po wybraniu samochodu ma mi program to zużycia podstawiać do odpowiedniego wzoru. No i muszę mieć możliwość zmiany zawartości tabeli tak abym mógł dopisywac nowe samochody.

0

Ustaw ListSource (ja mam DM->DataSource1) ListField (ja mam nazwisko;imie) oraz KeyField(u mnie nazwisko)...

1 użytkowników online, w tym zalogowanych: 0, gości: 1