>Engine SQL Server menyokong tipe field yang disebut sebagai 'computed >column', yang tidak menyimpan data sama sekali, tetapi isinya langsung >menghitung dari field2 yang didefinisikan di tabel definisinya,
Untuk menyimpannya kedalam tabel bisa ditambahkan PERSISTED atau kalau menggunakan SSMS cukup Merubah isPersistent menjadi true Terima kasih atas tanggapannya mas. _____ From: [email protected] [mailto:[email protected]] On Behalf Of aksan kurdin Sent: Wednesday, January 07, 2009 12:42 PM To: [email protected] Subject: Re: [belajar-access] Requery tidak jalan Access dibandingkan dengan SQL Server sangat jauh berbeda. Engine SQL Server menyokong tipe field yang disebut sebagai 'computed column', yang tidak menyimpan data sama sekali, tetapi isinya langsung menghitung dari field2 yang didefinisikan di tabel definisinya, sehingga kita tidak direpotkan sama sekali dengan updating datanya, itu udah urusan engine SQL Server. Gunanya untuk memudahkan dari sisi query saja, tetapi tetap saja ada kelemahannya, seperti tidak bisa menggunakan subquery yang mengandung computed column di dalamnya. Ada catatan disini: nilai dalam computed column tidak disimpan dalam media harddisk, tetapi kalau field computed column tersebut dijadikan index, mau tak mau, nilai tersebut akan di simpan oleh SQL Server, tetapi tetap tidak menjadi masalah di sisi developer, karena update nilainya ditangani oleh SQL Server. Perlakuan index di SQL Server pun ada perbedaan dengan index di Access. SQL Server bisa mengatur letak fisikal data dalam harddisk urutannya sesuai dengan index, sedangkan di Access index tidak secara fisik di atas harddisk, tetapi secara logikal penunjukan alamat referens. Computed Column adalah fitur milik SQL Server, dan dalam hal ini, bisakah dikatakan SQL Server nge-break aturan RDBMS ? Tentu tidak bukan ? Yang dilakukan Darmawan adalah berusaha meniru perlakuan tsb di engine Access, tetapi secara manual. Akibatnya seperti kesulitan updating nilai yang Darmawan hadapi sekarang. Semakin banyak data, pasti semakin berat kerja engine database untuk membuat laporan, itulah sekarang yang lagi trend: data warehouse. Sederhananya, kalau mau dimanualkan di Access, pisahkan data current dengan data history. Data current dalam keadaan normalisasi (minimal bentuk ke 3), sedang data history dalam kondisi denormalized. Satu aturan yang harus dipegang, data history tidak boleh ada perubahan lagi. Jika terpaksa ada perubahan, maka buatkan mekanisme untuk generate denormalisasi otomatis. Proses mendenormalisasikan dilakukan periodik. Reporting untuk analisa bisa mengambil data dari database history, dan dipadukan dengan data current. Hasilnya pasti jauh lebih cepat dibandingkan dengan menghitung dari satu database yang terdiri dari data tahun jembot sampai tahun sekarang dalam kondisi normalisasi. Aksan Kurdin 2009/1/7 I Putu Gede Darmawan <ipgd.mi...@gmail. <mailto:ipgd.milis%40gmail.com> com>: > Saya menggunakan Calculated Field hanya untuk mempercepat proses saja mas. > Sebab program saya yang sebelumnya sangat lambat sekali untuk > Membuat rekapan bulanan terutama tahunnya. > Mengingat banyaknya jumlah transaksi yang terjadi > Untuk itu > Pada program yang baru saya akan coba atasi masalah tersebut. > > Untuk proses updatenya, > Bukannya cukup Handling Event Before Update saja, > Maka otomatis ketika ada perubahan pada calculated field tinggal disimpan. >> SubTotal = Harga * Jumlah - Discount > Ini sebenernya penyederhanaan dari kasus saya. > SubTotal = Harga * Jumlah * (1-(Discount/100)) > :D > >>Btw, kalo masih ngotot nyimpen calculated field di tabel dan melanggar >>aturan RDBMS, > Maaf ya mas kalau agak ngotot, > Maklum masih newbie. > Ini mungkin yang sempet saya diskusikan dengan mas Aksan. > Saya jadi bingung kenapa menyimpan calculated field dibilang melanggar RDBMS > Di SQL Server fasilitas untuk nyimpan SQL Server ada. > Masakan Database besar seperti SQL Server melanggar aturan RDBMS .... > Just my thought. > >> pasti mas Putu punya alasan yang bagus - meskipun cara ini tidak efektif. > Wakakakakka saya masih newbie, jadi alasannya untuk mempercepat retrieval > Saja. > Nanti dalam modul lain pada saat entry data pada form detail, > Stok perlu ditampilkan ke user. > Jainya setiap beberapa bulan sekali tabel stok_awal perlu di update, > Dan Querynya untuk menghitung sisa stok tidak mulai dari awal melainkan dari > tanggal stok terkahir di update. > Jadi tidak perlu kalkulasi sisa barang . > Hanya untuk mempercepat kalkulasi saja. > > Terima kasih > Mas buat tanggapannya. > > -----Original Message----- > From: belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com [mailto:belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com] > On Behalf Of Edy WIYONO > Sent: Wednesday, January 07, 2009 10:16 AM > To: belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com > Subject: Re: [belajar-access] Requery tidak jalan > > Mungkin kang Putu terbawa 'kebiasaan' di software yang lama. > > Mungkin pertanyaannya lebih ke sisi integrasi data nantinya. > > SubTotal = Harga * Jumlah - Discount > GrandTotal = Sum(Harga) > > Daily Summary > Weekly Summary > Monthly Summary > > Tiap kali harga satu item berubah, maka harus jalanin routine > - Update Grand > - Update Daily > - Update Weekly > - Update Monthly > > Btw, dgn Desain RDBMS - seperti Bang Aksan bilang - karena hasil kalkulasi > tdk > di simpan, maka nggak usah jalanin apapun, semua data di Summary dan di > Calculated Field > akan terUpdate secara otomatis. > > Btw, kalo masih ngotot nyimpen calculated field di tabel dan melanggar > aturan RDBMS, > pasti mas Putu punya alasan yang bagus - meskipun cara ini tidak efektif. > > Salam Hangat dan Jabat Erat, > > Edy WIYONO > > ----- Original Message ----- > From: "aksan kurdin" <aksan.kurdin@ <mailto:aksan.kurdin%40gmail.com> gmail.com> > To: <belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com> > Sent: Wednesday, January 07, 2009 08:08 > Subject: Re: [belajar-access] Requery tidak jalan > > Saya tetap menyarankan darmawan untuk tidak menyimpan calculated field > dalam table. Pekerjaan jadi lebih sederhana, tidak terbuang lama dalam > desain interface formnya. Tool developer sekarang lebih banyak > mengarahkan kita untuk sisi pemecahan masalah, bukan lagi dari sisi > desain tampilan seperti pendahulu2nya jaman fox dan clipper dulu. Jadi > semakin normal data anda, pekerjaan anda seyogyanya bisa lebih banyak > yang diselesaikan, ketimbang muter2 di desain calculated field yang > 'harus' disimpan. > Interface data entry bisa dibuat dari unbound field pada field yang > tidak perlu disimpan. > Untuk pelaporan dan print out data, baru gunakan query untuk > menghitung calculated field, karena gunanya query adalah memberikan > data yang diminta, termasuk olahan penghitungan dari field2 yang > dibutuhkan. > > aksan kurdin > > 2009/1/6 I Putu Gede Darmawan <ipgd.mi...@gmail. <mailto:ipgd.milis%40gmail.com> com>: >> Terima kasih atas tanggapannya. >> >> Ini saya kirimkan filenya mas. >> >> >> >> Jadi masalah kalau saya update data di Form Detail, >> >> Totalnya tidak otomatis terhitung. >> >> Kecuali kita klik next & back / back & next / Form Close & Form Open >> >> Padahal saya sudah beri perintah Requery pada Event OnCurrent / On >> AfterUpdate >> >> >> >> Mohon bantuan suhu suhu disini >> >> >> >> Terima kasih >> >> ________________________________ >> >> From: belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com >> [mailto:belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com] >> On Behalf Of hasimnurhsm@ <mailto:hasimnurhsm%40yahoo.com> yahoo.com >> Sent: Tuesday, January 06, 2009 1:57 PM >> To: belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com >> Subject: RE: [belajar-access] Requery tidak jalan >> >> >> >> coba contoh filenya disertakan >> >> I Putu Gede Darmawan <ipgd.mi...@gmail. <mailto:ipgd.milis%40gmail.com> com> wrote: >> >> Maaf mas masih error. >> >> Tetap saja kalau ada perubahan pada form detail nggak mau tersimpen >> otomatis. >> >> Kecuali record tersebut di buka sekali lagi (event OnCurrent di trigger) >> ,bisa melalui tombol next kemudian back,back kemudian next, >> >> Close form kemudian buka form. >> >> >> >> >> >> Aduh pusing juga nih ... >> >> >> >> ________________________________ >> >> From: belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com >> [mailto:belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com] >> On Behalf Of Edy.WIYONO >> Sent: Wednesday, December 31, 2008 9:48 AM >> To: belajar-access@ <mailto:belajar-access%40yahoogroups.com> yahoogroups.com >> Subject: Re: [belajar-access] Requery tidak jalan >> >> >> >> Kalo masih ingin menyimpan di Tabel, ini contohnya. >> >> >> Salam Hangat dan Jabat Erat, >> >> Edy WIYONO >> >> >> 2008/12/31 I Putu Gede Darmawan <ipgd.mi...@gmail. <mailto:ipgd.milis%40gmail.com> com> >> >> >> >> Masih belum sesuai kebutuhan mas, >> >> Tapi nanti kalau masih mentok ya terpaksa calculated fieldnya nggak saya >> simpan. >> >> Tapi sekarang saya coba kutak katik deh biar calculated fieldnya bisa >> saya >> simpan.. >> >> >> >> >> >> No virus found in this incoming message. >> Checked by AVG - http://www.avg. <http://www.avg.com> com >> Version: 8.0.176 / Virus Database: 270.10.1/1869 - Release Date: >> 12/30/2008 >> 12:06 PM >> >> >> >> No virus found in this incoming message. >> Checked by AVG - http://www.avg. <http://www.avg.com> com >> Version: 8.0.176 / Virus Database: 270.10.3/1877 - Release Date: 1/5/2009 >> 7:20 PM >> >> > > -- > Aksan Kurdin > > ------------------------------------ > > SPAM IS PROHIBITEDYahoo! Groups Links > > ------------------------------------ > > SPAM IS PROHIBITEDYahoo! Groups Links > > No virus found in this incoming message. > Checked by AVG - http://www.avg. <http://www.avg.com> com > Version: 8.0.176 / Virus Database: 270.10.3/1879 - Release Date: 1/6/2009 > 5:16 PM > > -- Aksan Kurdin No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.176 / Virus Database: 270.10.3/1879 - Release Date: 1/6/2009 5:16 PM

