|
sania wrote:
Tp ada kemungkinan index di dalam case tersebut bertambah dan querynya tidak hanya dr 1 tabel.
Baik tabel maupun Query(termasuk query yang berisi lebih dari 1 tabel) hampir sama. Jika anda mau secara dinamis memasukkan daftar kolom dari query/ tabel yang anda buat ke kotak kombo, anda harus inisiasi dulu daftar yang akan anda masukkan ke kotak kombo :
Code:
var
i : integer;
begin
ComboBox1.Items.Clear;
qryTest.first;
for i:= 1 to qryTest.FieldCount-1 do
try
ComboBox1.Items.Add(qryTest.Fields[i].FieldName);
except on e:exception do
raise exception.Create(e.Message);
end;
Snippet diatas untuk memasukkan daftar kolom pada query/ table anda ke dalam kotak kombo. Anda bisa memanggilnya pada saat form ditampilkan (Form Show event)
Quote:
Dan saat ini data yg saya ambil ada pd bagian keyvalue, sehingga msh butuh key field. Punya solusi lainnya kk?
Anda bisa mengubah keyfield/listfield saat runtime. Tapi dengan catatan status query/tabel anda sedang Aktif. Misal
Code:
if DBLookupComboBox1.ListField = 'KODE' then begin
DBLookupComboBox1.KeyField:='ISI_KOLOM';
DBLookupComboBox1.ListField:='ISI_KOLOM';
end
else begin
DBLookupComboBox1.KeyField :='KODE';
DBLookupComboBox1.ListField := 'ISI_KOLOM_LAINNYA';
end;
Semoga Membantu |