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 1 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 1 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 1 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 2 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 9 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 9 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 9 years ago
Random Topic
- Triger mysql ke host berbeda
by sinaga in MySQL more 12 years ago - Mas caranya bikin help di delphi gimana ?
by arjunn_ke in Tutorial & Community Project more 14 years ago - Bagaimana screencapture active window tanpa border & Cap
by ronindra in Tip n Trik Pemrograman more 13 years ago - delphi-id lagi sakit
by ganang in Kritik & Saran more 14 years ago - Try Exception
by khairulfahmi in Tip n Trik Pemrograman more 14 years ago - Koneksi MySQL di Linux UBuntu
by IdrisZZ in OOT more 13 years ago - handshaking
by ihsantea in Enginering more 15 years ago - MOHON BANTUANNYA
by poespitazone in Enginering more 14 years ago - Membuat aplikasi database multi tier
by utuhhirang in Network, Files, I/O & System more 13 years ago - Menjalankan perintah dos prompt di delphi
by ahariono in Enginering more 15 years ago