Arsip: mengedit 2 buah data yang sama

 
user image
more 11 years ago

tara

halo minta bantuannya dng :D saya membuat suatu program rental mobil dimana saya menggunakan access sbg database dengan format tabel sbb: no.nota, nama, alamat, id, dan rincian sewa. Masalahnya muncul ketika saya mau mengedit data via form edit yg saya buat di delphi, saya memperbolehkan user bisa meng-input 2/ lebih data yang sama (tak ada primary key) di form input, sehingga tampilan di db-grid bisa ada 2 nama yg sama, saya bingung ketika disuruh meng-edit salah satu data dimana data yang lain tidak boleh ikut berubah. Misal baris 1 dbgrid: '001','ahmad','palembang','ktp','mobil avanza' dan baris 2 : '001','ahmad','palembang','ktp','mobil crv'. Nah gimana saya mau meng-edit data ke 2 dgn catatan data 1 juga tidak ikut terganti...help please :wink:
user image
more 11 years ago

onsir

coba pake no. nota aja sbgi key nya
user image
more 11 years ago

tara

nah masalahnya, prog tsb diharuskan tidak ada key nya, so gmna th? setiap kali saya input mmg bsa tersave, tpi pas d-edit ya berubah semuanya dan juga ketika d delete muncul error "key collum information is insuffient or incorrect, too many rows affected by update"...
user image
more 11 years ago

percyl

dimana-mana no.nota itu harusnya gk da duplikasi..klo menurutku struktur tabel mobil harus di normalisasi lagi...seperti yg dicontohkan Tara di atas bahwa field Rincian_Sewa adalah jenis mobil, nah field tersebut hrs di pecah lagi menjadi, misal : ID_Mobil | Nama_Mobil, nah kemudian baru dibuat tabel Rincian_Sewa dgn tabel dgn struktur tabel,misal : No_Nota | ID_Pelanggan | ID_Mobil | Tanggal ...dan yg terakhir dibuat tabel Detail_Rincian_Sewa utk menampung field, misal : No_Nota | Uang_Muka | Discount | dsb.. | semoga bisa membantu....
user image
more 11 years ago

tara

wah gitu y..thx ya... aq jg pikir begitu sih no.nota hrs d primary..ok :D oh y bleh tny lagi ngk?heheh :p aq ingin buat suatu prosedur dimana jika user menginput no.nota yg ada maka akan ada peringatan "maaf, no.nota sudah ada"..aq udah coba buat kayak gini : if edit1.Text = form1.ADOQuery1['nonota_022070048'] then begin MessageDlg('No Nota sudah ada',mtWarning,[mbOK],0); edit1.Text:=''; edit1.SetFocus; end na misal d dbgrid ada 2 baris data mis : '001','ahmad','palembang','ktp','mobil avanza' '002','faisal','palembang','ktp','mobil crv'.. posisi default pointer kan d data1, klo pakai coding diatas maka ketika pointer di data ke 2 dan saya input no '001' maka tidak akan ada peringatan, dengan kata lain coding saya hanya mencocokkan no.nota dgn no.nota pd baris data yg ditunjuk padahal kn di baris 1 udah ada no.nota '001' jdi bsa tolong ada yg salah dgn codingku?
user image
more 11 years ago

Manz

@tara mau: nah masalahnya, prog tsb diharuskan tidak ada key nya
Lha ... itu kata siapa ? koq uaneh buanged ya :mrgreen: ... kalau dikau sebagai programmernya, gak perlu tahu kan yang pakai bahwa itu program pake key atau engga. nah sekarang dikau sendiri kebingungan untuk update datanya, kalau tanpa key. Udah ajah pake key nya di access dengan column Integer-Autonumber ... daripada binun ? Emang user/pihak ke-2 involve dan menentukan ntu gak boleh pake key ??? :mrgreen: ah ... ada ada sajah yah ... :mrgreen: Your pren Manz
user image
more 11 years ago

Manz

@tara lagi: if edit1.Text = form1.ADOQuery1['nonota_022070048'] then
hmm... emang ADOQuery1 bisa langsung seperti itu ??? :roll: [maaf saya tanya soalnya gak pernah pake ADOQuery -- biasanya pake ZeosLib] apa gak seperti ini :

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.text := 'Select * from tablenya where no_nota=' + quotedStr(edit1.text);
ADOQuery1.Active := true;
if (Not ADOQuery1.FieldByName('no_nota').isNull) then
begin
  MessageDlg('No Nota sudah ada',mtWarning,[mbOK],0);
  edit1.Text:='';
  edit1.SetFocus;
end;
:wink:
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com