makasih..makasih...
emang klo key pencariannya hanya menggunakan primary key
atau field laen yg tidak boleh diedit maka permasalahannya tidak serumit 
ini.

tapi ini ceritanya laen..jadi begini ada 2 tabel yaitu jbtbh(master) dan 
jbtbd(detail)
jbtbh---> No_BTB,Tanggal,Kd_supp
jbtbd---> No_BTB,No_PO,No_PPB,Jenis,Kd_Brg,Satuan,QTY,Ket

kendala updatenya di jbtbd karena itu tabel detail, dmn
dg No_BTB yg sama akan ada bbrp record
yg record2 itu bs jadi No_PO dan No_PPB nya sama, bs jg lain
yg pasti lain adl Kd_Brg itupun kadang kosong
ketika Kd_Brg kosong sbg gantinya ada isian di field Ket

makanya fieldnya saya ngacu ke hampir semua field
yg nilai2 field itu sebagian mau tdk mau hrs diambil dari recordset

hehe..rumit yah...
itulah repotnya klo bikin program ndak dari awal
sedkt info..ini saya upgrade dari program lama yg under dos
jadi database yg lama kan hrs tetap terpakai

Btw thanks bantuannya
n klo ada masukan lain...dengan senang hati saya pelajari

----- Original Message ----- 
From: "Yulianto" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, January 03, 2006 12:30 PM
Subject: [Programmer-VB] Re: insufficient key column.....


> Mas Eko,
>
> ada bbrp hal ttg database yang harus kamu perhatikan, misalnya:
> 1. field (column) yang digunakan sebagai primary key itu tidak boleh
> diEDIT.
> 2. Untuk update, delete dan query cukup menggunakan primary key
> sebagai key pencarian.
> contoh sqlstm update kamu:
> cnado.execute "update `tbbeli` set 'NoBeli` = '" & tdbgrid.columns
> (0) & "',`barang`='" & tdbgrid.columns(1) & "',`Qty`='" &
> tdbgrid.columns(2) where `NoBeli`='" cb.(0).text & "' and
> `barang`='" & rsbeli!barang & "' and `Qty`='" & rsbeli!Qty & "'"
>
> Perintah Update ini jelas akan menggunakan nilai-nilai baru yang
> sudah diedit. Jelas ini sudah tidak sesuai, Where tidak akan
> menemukan data yang dimaksud.
>
> bisa disederhanakan menjadi :
> cnado.execute "update `tbbeli` set `barang`='" & tdbgrid.columns(1)
> & "',`Qty`='" & tdbgrid.columns(2) where `NoBeli`='" cb.(0).text
> & "'"
>
> atau :
> 'kalo hanya Qty yg perlu diupdate, diperlukan NoBeli dan Barang
> sebagai Key. Dalam hal ini pastikan NoBeli dan  barang tidak  boleh
> diedit.
> cnado.execute "update `tbbeli` set `Qty`='" & tdbgrid.columns(2)
> where `NoBeli`='" cb.(0).text & "' and `barang`='" & rsbeli!barang
> & "'"
>
>
> Saya punya sedikit saran, lebih baik perubahan di save setelah semua
> kegiatan edit selesai dilakukan, tidak mengupdate setiap kali ada
> perubahan pada row tdbgrid.
> Karena itupun proses penyimpanan bisa menjadi lebih mudah dan
> terkontrol baik.
> contoh:
> sub simpandata()
> dim.....
> on error goto errMsg
> cnado.BeginTrans
> 'Tabel Header Transaksi (Pembelian)
> cnado.execute "Update TbTransBeli Set .... Where NoBeli='" & NoBeli
> & "'"
>
> 'Tabel Detil yang berisi barang-barang yang dibeli
> cnado.execute "Delete From TbBeli Where NoBeli='" & NoBeli & "'"
>
> Loop rows TDBGrid
> cnado.execute "Insert Into TbBeli (NoBeli, Barang, Qty) values (...)
> end loop
> cnado.CommitTrans
> exit sub
> errMsg:
> cnado.RollbackTrans
> end sub
>
>
>
>
> Regards,
> Yulianto
>
>
>
>
>
> --- In [email protected], "Eko" <[EMAIL PROTECTED]>
> wrote:
>>
>> makasih tanggapannya mas yulianto
>> sudah saya coba update manual terutama pd event on keypress
>> where-nya kan saya ambil dari recordset yg udah ada
>> tapi anehnya value yg terbaca dr recordset itu justru angka stlh
> diedit
>> pdhal di databasenya terbaca blm diedit
>> akhirnya where itu tdk menemukan data yg dimaksud
>>
>> update manualnya kurang lbh kayak gini:
>> cnado.execute "update `tbbeli` set 'NoBeli` = '" & tdbgrid.columns
> (0) &
>> "',`barang`='" & tdbgrid.columns(1) & "',`Qty`='" & tdbgrid.columns
> (2) where
>> `NoBeli`='" cb.(0).text & "' and `barang`='" & rsbeli!barang & "'
> and
>> `Qty`='" & rsbeli!Qty & "'"
>>
>> yg biasanya sering diedit nilai Qty
>>
>> karena blm brhasil akhirnya ketika posisi mo edit tdbgrid itu saya
> ganti
>> datasourcenya dg query yg satu tabel, baru stlh diedit dikembaliin
> lagi ke
>> datasource semula
>> mungkin ada yg pny ide lain, sangat diharapkan
>>
>> ----- Original Message ----- 
>> From: "Yulianto" <[EMAIL PROTECTED]>
>> To: <[email protected]>
>> Sent: Saturday, December 31, 2005 4:04 PM
>> Subject: [Programmer-VB] Re: insufficient key column.....
>>
>>
>> > Dear Eko,
>> >
>> > Setahu saya, untuk update langsung dari grid hanya bisa pada 1
> table.
>> > karena kalo lebih dari 1 tabel biasanya dipengaruhi oleh relasi
> key
>> > antar table. dan ada kemungkinan terjadi inconsisten dalam relasi
>> > database (antar table).
>> >
>> > Untuk itu, ada baiknya lakukan update secara manual.
>> >
>> >
>> > Regards,
>> > Yulianto
>> > KwetChiro
>> > 0812-806-3138
>> >
>> > --- In [email protected], "Eko"
> <[EMAIL PROTECTED]>
>> > wrote:
>> >>
>> >> temen2 vb ...mo minta tolong lagi nih..
>> >> saya kan join 2 tabel n ditampilin ke tdbgrid
>> >> cuma klo diedit keluar message
>> >> "insufficient key column information for updating or refreshing"
>> >> gmn solusinya
>> >>
>> >> sbb klo cuma satu tabel bisa
>> >> saya baca di internet katanya ada 2 key yang diedit dlm waktu
> yang
>> > sama
>> >>
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > Untuk keluar dari millis ini, kirim email kosong ke:
>> > [EMAIL PROTECTED]
>> >
>> >
>> > Yahoo! Groups Links
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>>
>
>
>
>
>
>
> Untuk keluar dari millis ini, kirim email kosong ke:
> [EMAIL PROTECTED]
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
> 



Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Programmer-VB/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Kirim email ke