Arsip: Get TDBEdit Value Menggunakan LookUp Grid

more 8 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 8 years ago
lukersgn
Errornya begini Mas,,
"Access violation at address 009ABAD8 in module 'Sysapp.exe. Read of address 00000464"
terima kasih buat pencerahannya.

more 8 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 8 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 8 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 8 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
- Project Group dalam Lazarus
- FastPlaz Database Explorer
- Release: FastPlaz Super Mom v0.12.22
- PascalClass #3: Web Development with Free Pascal
- Makna Pascal di Pascal Indonesia
- Kulgram : Instalasi Lazarus di Perangkat Berbasis ARM
- PascalClass #1: Analisa Database dan Machine Learning
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
- Mengenal OXYGENE – Pascal For .NET
- PascalTalk #5: UX: Research, Design and Engineer
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 months ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 1 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 8 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 8 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 8 years ago
Random Topic
- Membaca Excel
by fatahjunaidi in Tip n Trik Pemrograman more 15 years ago - Edit data mirip excel
by fissas in Tip n Trik Pemrograman more 13 years ago - convert DB grid to Excell
by rika in Hal umum tentang Pascal Indonesia more 14 years ago - Ubah ukuran component sesuai resolusi layar
by rho in Tip n Trik Pemrograman more 13 years ago - Tanya Zeos 6.5.1 Alpha & MySql 5.0
by priki in MySQL more 13 years ago - Scroll Di Panel ?
by umarbakri in Hal umum tentang Pascal Indonesia more 13 years ago - LISTVIEW IN EDIT MODE???
by n3o_cybertech in Tutorial & Community Project more 13 years ago - Nanya
by aa_anang_s in Kritik & Saran more 13 years ago - Membaca tombol CapsLock, NumLock, ScrollLock
by doditali in Tip n Trik Pemrograman more 15 years ago - Hide program dari Taskmanager
by DeTerMaL in Tip n Trik Pemrograman more 13 years ago