Arsip: Get TDBEdit Value Menggunakan LookUp Grid

more 10 years ago
lukersgn
Dear Guys,
Salam Delphi,
Gmn yah cara mengambil nilai dari lookup form yg menggunakan TcxGrid, untuk dimasukkan ke bbrp DBEdit, saya sudah coba, tapi mengalami error terus. (seperti pada gambar).
Berikut code waktu doubleclick gridnya :
procedure TFormSearchBank.cxGrid1DBTableView1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
FormMissionOrder.edBankName.Text := qSearchBank.FieldByName('BANK_NAME').AsString;
FormMissionOrder.edAccountName.Text := qSearchBank.FieldByName('ACCOUNT_NAME').AsString;
FormMissionOrder.edAccountNo.Text := qSearchBank.FieldByName('ACCOUNT_NR').AsString;
Close;
end;
Terima kasih atas pencerahannya.

more 10 years ago
lukersgn
Errornya begini Mas,,
"Access violation at address 009ABAD8 in module 'Sysapp.exe. Read of address 00000464"
terima kasih buat pencerahannya.

more 10 years ago
theodorusap
Mohon ijin comment
Gunakan TStringlist sebagai penyimpan data universal.
- Hasil lookup disimpan ke TStringList,
- Isi TStringList dipindahkan ke Edit
Untuk Lookup Form :
Unit USearchBank;
......
interface
......
FormSearchBank = class(TFormSearchBank)
......
private
FOutputList : Tstrings;
....
Public
Function ExecuteLookup(Title,SQL:String; aOutput:TStrings):Boolean;
End;
implementation
.......
{TFormSearchBank}
....
Function TFormSearchBank.ExecuteLookup(Title,SQL:String; aOutput:TStrings):Boolean;
begin
FOutput:=aOutput;
Caption:=Title;
//Inisialisasi SQL ke qSearchBank dan cxGrid1DBTableView1 di sini
//misalnya :
qSearchBank.CommandText:=SQL;
qSearchBank.Open;
Result:=ShowModal=MROK; {<<-- kalo lookupnya pake Modal}
end;
.....
procedure TFormSearchBank.cxGrid1DBTableView1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
I:Integer;
begin
//Simpan hasil pilihan ke Output Tstrings
FOutputList.Clear;
For I:=0 to qSearchBank.FieldCount-1 do
FOutputList.Values[qSearchBank.Fields.Fields[i].FieldName] := qSearchBank.Fields.Fields[i].AsString;
ModalResult:=MROK; //<--sekali lagi, kalo pake modal
end;
....
End.[/code:1:e0930368e0]
Sementara di FormMissionOrder, misalnya lookup pada saat click Button 1, maka :
[code:1:e0930368e0]......
Implementation
uses ...., TFormSearchBank, ...; {tambahkan TFormSearchBank ke uses}
procedure FormMissionOrder.Button1Click(Sender:TObject);
var
F:TFormSearchBank;
SQL:String;
outputList:Tstrings;
begin
F:=TFormSearchBank.Create(Application);
outputList:TstringList.Create;
try
SQL:='Select * from ........';
if F.ExecuteLookup('Pilih Bank',SQL,aOutput) then
begin
//set output lookup ke Edit
edBankName.Text := outputList.Values['BANK_NAME'];
edAccountName.Text := outputList.Values['ACCOUNT_NAME'];
edAccountNo.Text := outputList.Values['ACCOUNT_NR'];
end;
finally
outputList.Free;
F.free;
end;
end;
//=========================================\\
Dengan cara seperti ini, FormSearchBank bisa digunakan sebagai
universal lookup form, bukan hanya bank saja.
Mudah-mudahan membantu.
more 10 years ago
theodorusap
sedikit revisi postingan ane :
bagian ini :
if F.ExecuteLookup('Pilih Bank',SQL,aOutput) then
seharusnya :
if F.ExecuteLookup('Pilih Bank',SQL,outputList) then

more 10 years ago
lukersgn
untuk proses ambil datanya sudah bisa dan muncul di DBEditnya bro, tapi waktu disave menggunakan DBNavigator, datanya ga masuk bro,
kira-kira kurang dmn yah?
Thanks bro.

more 10 years ago
theodorusap
jadi edBankName, edAccountName, edAccountNo itu jenisnya DBEdit bukan TEdit?
Kalo TEdit langsung aja edBankName.Text:=...................
Tapi kalo jenisnya DBEdit, prosesnya g seperti itu gan.
Cek dulu, apakan edBankName sudah dilink ke Datasource dan Dtasource sudah link ke Dataset.
Kalo belum, mesti dibuat rutin untuk simpan ke Database atau dilink dulu.
kalo sudah link, sebelum masukin, ubah dataset yang digunakan untuk link ke edBankName, edAccountName, dan edAccountNo ke mode edit sebelum diset.
Misalnya edBankName, edAccountName, dan edAccountNo link ke dataset yang sama maka :
if F.ExecuteLookup('Pilih Bank',SQL,aOutput) then
begin
//set output lookup ke Edit
ededBankName.Datasource.Dataset.edit; //atau append untuk tambah record baru
try
edBankName.Field.AsString := outputList.Values['BANK_NAME'];
edAccountName.Field.AsString := outputList.Values['ACCOUNT_NAME'];
edAccountNo.Field.AsString := outputList.Values['ACCOUNT_NR'];
edBankName.Datasource.Dataset.Post;
except
//gagal simpan
edBankName.Datasource.Dataset.cancel;
end;
end;
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 2 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 3 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 10 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 10 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 10 years ago
Random Topic
- Delphi Killer
by bo3l4q in OOT more 13 years ago - SIP Delphi
by tatang.arifin in Hal umum tentang Pascal Indonesia more 16 years ago - membuat function untuk menuliskan data ke memo ???
by jajang in Tip n Trik Pemrograman more 14 years ago - tanya matriks to array
by diandewi in Hal umum tentang Pascal Indonesia more 10 years ago - format 4digit
by dinox in Tip n Trik Pemrograman more 17 years ago - Pertanyaan Mengenai Software QA
by shinlei in OOT more 14 years ago - Join Table
by de27de in MySQL more 14 years ago - Nanya Lg nich,,,cara ubah format tgl ke mmddyyyy gimana ya,,
by ari_volker in Tip n Trik Pemrograman more 15 years ago - ada yang punyaK pA ga yak *sos kod* buwad TRANSTOOL...?
by selx99 in Paradox more 14 years ago - ambil karakter
by javaman in Hal umum tentang Pascal Indonesia more 16 years ago