Tuesday, August 7, 2012

Masalah Form VB6 di Windows 7


Beberapa waktu lalu sempat mengalami masalah waktu membuat design Form (Visual Basic 6)
waktu itu Benar-benar susah bikin designnya. Copy beberapa object susah dan sepertinya Loding.. (slow).
Dan akhirnya masalah ini bisa diatasi berikut caranya.

cari file VB6.EXE (Biasanya instalasi standar lokasinya ada disini C:\Program Files\Microsoft Visual Studio\VB98)

Klik kanan di VB6.EXE > Properties > Compatibelity > Pilih 'Disable Desktop Composition'


Dan sekarang bisa berjalan dengan lancar... :), sempat mau balik lagi ke Windows XP.

Friday, July 27, 2012

JQuery Cycle problem in Chrome

Hello world, this is my first post with english. I will start with JQuery problem, when i used slider framework with jquery.cycle.js i got problem, the problem is slider not work normally or broken. but only for chrome browser other browser work well. this the default code:
$(document).ready(function() {

   // slider code

});
so, i change code above with bellow:
$(window).load(function(){

 // slider code

});
and my slider work well in all browser. 1st code Javascript code will process when all component ready / already loaded. 2nd code slider will process when page is loaded.

Wednesday, February 29, 2012

Mengurutkan data berdasarkan Angka

Sempat mengalami kendala waktu mengambil data dari suatu tabel dan diurutkan berdasarkan Nomor id, tapi diurutkan dari yang terkecil terlebih dahulu. Akan tetapi hasil yang ditampilkan tidak sesuai dengan harapan alias urutnya secara acak.

contoh:
1,2,3,4,5,10,12,34


select id from tabelku order by id asc

yang muncul tidak seperti diatas tapi acak.

Pada contoh ini saya mengunakan database SQL Server, tapi saya rasa tidak terlalu berbeda dengan database lainnya.

Jadi, cara yang saya pakai adalah menkonversi id itu ke nilai number, karena bisa jadi nilai idnya tidak berupa number.

select id from tabelku order by convert(int,id) asc

dan hasil yang ditampilkan, berurut:
1,2,3,4,5,10,12,34

Wednesday, February 22, 2012

Pengulangan di store procedure (SQL Server)

Beberapa waktu lalu sampat ada beberapa pekerjaan yang memerlukan pemrosesan data secara berulang di suatu procedure (SQL server). Cara seperti ini sudah bisa kita lakukan di dalam sebuah pemrogramman VB / PHP.
Kita bisa pakai perintah seperti ini :

Do
'code yang akan diproses

rs.movenext
Loop Until Rs.EOF


Konsepnya sama dengan pengulangan data di pemrogramman VB/PHP, tapi proses ini dilakukan sekaligus di dalam sebuah storeprocedure:

DECLARE @ID int



-- ambil id dari marker detail
DECLARE c1 CURSOR READ_ONLY
FOR
select id
From Order_DETAIL
where OrderNo=@orderNo
OPEN c1

FETCH NEXT FROM c1
INTO @ID

WHILE @@FETCH_STATUS = 0
BEGIN

---- lakukan proses eksekusi di sini, dengan memanfaatkan nilai dari variable @id
delete from order_detail where id=@id



FETCH NEXT FROM c1
INTO @ID

END

CLOSE c1
DEALLOCATE c1

Monday, January 9, 2012

Membuat Limit di SQL SERVER

Sewaktu mengunakan database MySQL kita sudah terbiasa dengan yang namanya LIMIT terutama jika kita ingin mengabungkan atara MySQL dan PHP. Kita sering mengunakannya untuk pengunaan PAGING di halaman web.

- Cara kerja LIMIT
Misalkan kita mempunya 10 rekord (tuple) dalam sebuah tabel (relation) maka jika kita ingin mengambil dari baris 2 sebanyak 3 record bisa mengunakan perintah seperti ini:

select * from tabelku order by field1 limit 2,3

sintax diatas akan mengambil data mulai dari (baris)tuple ke 2 sampai baris ke 5.

Perintah LIMIT tidak ada di database SQLSERVER. Karena perintah ini merupakan bukan standard dari Sintax SQL. Lalu bagaimana cara membuat LIMIT di SQL SERVER, tentu bisa kita bisa mengunakan perintah ROW_NUMBER (memang terlihat tidak efisian seperti jika kita mengunakan LIMIT di MYSQL.

Begini perintahnya.

SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY field1) as row FROM tabelku
) as a WHERE row >2 and row <= 3


sintax diatas jika di jalankan maka hasilnya sama dengan sintax LIMIT di MySQL.

Penjelasan dari sintax diatas:
- kita memberikan nomor identitas ke baris tabelku dengan perintah
SELECT *, ROW_NUMBER() OVER (ORDER BY field1) as row FROM tabelku
maka akan ditambahkan 1 kolom, dengan nama row yang beriisi posisi dari baris(tuple).
misal ada 10 record, maka akan diberi baris 1,2,3..10 diurutkan berdasarkan field1
- kemudan setelah itu di buat subQuery dari sintax yang dibuat sebelumnya dengan perintah
select * from(
..........
) as a WHERE row >2 and row <= 3


dan akhirnya kita bisa menampilkan data sesuai dengan yang kita perlukan :)