Arsip: DBEngine Error : Multiple Record Found.....

 
user image
more 14 years ago

Budiadi

Teman2 Delphier, Saya baru aja nemu-in masalah yang ga bisa saya solve ndiri, masalahnya gini : Saya menggunakan 2 buah form dan 1 table, form yang satu adalah untuk menampilkan record pada table dan form kedua untuk meng-edit record pada form pertama, pada form pertama, record ditampilkan berdasarkan filter relationship dengan table headernya yaitu berdasarkan no-invoice. Permasalahannya adalah pada saat saya membuat eventhandler onclick btnUpdate untuk mengedit record di form 2 :
With Table1 Do Begin
    Edit;
    FieldByName('KodeBarang').AsString := EdtKodeBarang.Text;
    FieldByName('Qty').AsString := EdtQty.Text;
    Post;
 End;
Maka setelah proses tersebut akan muncul error message : 
DBEngineError With message 'Multiple record found, but only one was expected'
Kira-kira kesalahannya dimana ya??,.. ada yang bisa bantu?
user image
more 14 years ago

Jevox

Yang di Edit data Header atau Detail? Pasti Detail ya??? :D ya pasti error coz Field KodeBarang kan pasti banyak Kalo bisa ditambahkan pula Field KodeInvoice atau Field yang menghubungkan detail sama Headernya maybe like this with table1 do begin Edit; FieldByName('kodeInvoice').asString := tableheader.FieldByName('kodeInvoice').AsString; FieldByName('KodeBarang').AsString := EdtKodeBarang.Text; FieldByName('Qty').AsString := EdtQty.Text; Post; end;
user image
more 14 years ago

zieborg

betul sekali kata mas Jevox, kesalahannya ya pasti ada record yang sama, lha wong error msgnya juga udah jelas gitu
user image
more 14 years ago

pinguinz

coba aja sebelum masukin record di filter aja dulu. jadi semisal ada kesamaan record maka balik lagi ke form dulu kalo sudah bener recordnya baru di edit. saya juga pernah mengalami kesamaan record tapi gak parah banget kayak gitu. maka saya make kondisi persyaratan untuk filter... mungkin permasalahan kita beda....tapi semoga bermanfaat : if (edit1.text = table1.fieldbyname('nama_field').value) then begin messagedlg('nomor telah digunakan',mterror,mbOK); end else (-masukkan perintah insert atau edit) end; semoga bisa membantu.....
user image
more 14 years ago

Budiadi

@Jevox saya dah coba tambahkan field relasinya fieldbyName('InvNo').AsString := FInvNo; sebelum post tapi error message masih tetap sama, apa mungkin ini ada hubungannya dengan form sebelumnya yang masih menampilkan data detail yang belum di close ?, karena form1 memanggil form2 dengan method showmodal @pinguinz Saya tidak bisa mengaplikasikan filter tersebut karena dalam kasus saya ini, tidak ada field yang unik, artinya dalam satu invoice bisa saja ada 2 item barang yang sama jadi kodebarang pun bisa sama yang berbeda hanya Qty-nya saja
user image
more 14 years ago

Jevox

Coba gini deh... - tambahkan variable public pada form2 dengan nama NoInv, KodeBrg: String; - pada saat form2.FormActivate with table1 do begin close; Filtered := False; Filter := 'NoInv = ' + QuotedStr(NoInv) + ' KodeBarang = ' + QuotedStr(KodeBrg); Filtered := True; open; Edit; end; - pada saat di UPdate.Click With Table1 Do Begin FieldByName('KodeBarang').AsString := EdtKodeBarang.Text; FieldByName('Qty').AsString := EdtQty.Text; Post; End; - pada form1. saat memanggil form2 with TForm2.Create(Self) do try NoInv := table1.FieldByName('NoInv').asString; KodeBrg := table1.FieldByName('KodeBarang').asString; Showmodal; finally Free; end; dicoba dulu tp sebelumnya buat copyan folder projectnya untuk berjaga2 :D
user image
more 14 years ago

Budiadi

@Jevoc Aku dah coba dengan cara filtering seperti diatas juga masih ga isa,.. akhirnya semua table aku pindahin kedalam sebuah data source dan masalah multiple record da muncul lagi sampai kini masalah "multiple record found" tetap masih jadi misteri,.. maunya sih di ulik sampai ketemu penyebabnya Tapi deadline udah sampai leher jadi aku tangguhkan dulu deh Anyway Thanks banget ya sudah membantu :D
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com