Kolumna DBgrid do Combobox przy starcie programu

0

Witam
Napisałem taką oto prockę wysyłania kolumny dbgrid od comobobxa.
W samym programie, gdy kliknę na button to ładnie uzupełnia combobox, oczywiście, gdy recordcount jest większy niż 0.
Pytanie:
Jak zrobić, aby uzupełniał mi przy starcie programu?
Próbowałem już wrzucić przycisk do OnCreate, onActivate Form1 (główna forma) - wywala AV przy starcie lub Form2 (dodawanie pracowników) - nie odpala Form1, pomimo, że proces jest odpalony.
Próbowałem też grzebać w zdarzeniach komponentu IBQuery - After...

Jak to zrobić, aby przy starcie uzupełniało?
Dzięki za sugestie lub odpowiedzi.

//kolumna z dbgrid do combobox
procedure TForm2.Button3Click(Sender: TObject);
begin
try
  if Form2.IbQuery2.Recordcount > 1 then begin
    Form1.Combobox1.Clear;
     while not IBQuery2.Eof do
       begin
        Form1.ComboBox1.Items.AddObject(IBQuery2.FieldByName('PRACOWNIK').AsString,
        Pointer(IBQuery2.FieldByName('ID_P').AsInteger));
      IBQuery2.Next;
    end;
 end;
  finally
    IBQuery2.Close;
  end;
end;
0

Wprawdzie nie jestem jakimś specjalistą od baz danych ale po co IBQuery2 jest na Form2 gdybyś wykorzystał DataModule pewnie nie było by problemu z AV nawet gdybyś ładował dane w OnCreate Form1 (pod warunkiem wcześniejszej zmiany w pliku projektu tak aby DataModule było tworzone przed Form1).

0

W sumie to dopiero się uczę baz danych i jeszcze nie jestem na tym poziomie.
Poczytam o tym DataModule. Jednak coraz bardziej mi się to podoba, zwłaszcza ten IBExpert. ;)
Dzięki.

Moderatora prosiłbym o merge postów.

Rozwiązanie okazało się jeszcze prostsze: komponent DBLookupCombobox rozwiązał sprawę. :)

Ech..pochwaliłem się.
Wyskakuje teraz przy dodawaniu rekordu, że nie ma takiej i takiej kolumny.

LookupField to NAZWISKO
LookupSource to DataSource1

i czepia się przy dodawaniu że nie ma kolumny NAZWISKO, fizycznie jest.

Nie wiem jak to dobrze połączyć.

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