Monday, April 11, 2011

KONEKSI VB DENGAN MS. ACCESS

1. Masuk ke sebuah folder/drive yang Anda inginkan.
2. Klik kanan di area kosong dan pilih New--> Text Document
3. Kemudian abaikan untuk mengubah namanya (langsung enter saja).
4. Setelah itu, jalankan file text document itu tadi (biasanya akan
masuk ke notepad) dan pilih save as dengan nama file terserah anda
tetapi extensionnya gunakan *.udlc:/ con.udl
5. Jika berhasil, maka di folder/drive itu akan muncul sebuah file baru
dengan extension udl. (File text document nya bisa anda hapus).
6. Jalankan file *.udl itu. Pada bagian tab "Provider" pilih provider
dengan nama : "Microsoft Jet 4.0 OLE DB Provider" (Ini provider untuk
database Ms Access). Lalu klik tombol Next
7. Pada tab "Connection", silahkan cari database access anda dengan
mengklik tombol browse (...) disebelah kanan. Lalu tekan tombol "Test
Connection", jika berhasil maka akan ada pesan bahwa test koneksi
berhasil, jika tidak biasanya database access yang anda pilih sedang
digunakan (coba tutup dulu saja). Selanjutnya klik tombol OK.
8. Kembali menuju file *.udl yang tadi. Sekarang klik kanan file
tersebut dan pilih Open With --> Notepad.
9. Setelah notepad terbuka anda akan melihat ada 3 baris isi dari file
tersebut. Yang akan anda gunakan untuk menghubungkan VB 6 dengan Ms
Access adalah ada pada baris ke-3. Oleh karena itu silahkan copy seluruh
baris ke tiga tersebut. (Dimulai dari tulisan provider sampai akhir baris).
----------------------------------------------------------
--Coding di VB6--

1. Pada source code vb 6 anda, silahkan pilih menu Project -->
References. Lalu cari "Microsoft ActiveX Data Objects 2.x Library".
Maksud dari 'x' disamping adalah versinya. Biasanya ada v 2.1, 2.2, 2.3,
dst. Pilih versi dibawah satu versi yang tertinggi. Misal yg
tertinggi 2.6 maka biasanya saya memilih yang 2.5 (Soalnya waktu saya
lihat di bagian Location nya (ada dibagian bawah) yang versi tertinggi
memiliki versi file yang lebih rendah. Misalnya v 2.6 filenya
"msado15.tlb" sedangkan yg v 2.5 filenya "msado25.tlb". Saya sendiri
masih bingung dengan hal ini. Jadi sebaiknya anda memilih satu versi
dibawah versi tertinggi.

2. Kemudian untuk lebih mudahnya, anda bisa tambahkan sebuah modul dalam
source code vb 6 anda. Dan tuliskan coding dibawah ini:
~~~~~~~~~~~~~~~~~Batas Awal Coding~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Public con As New ADODB.Connection
Public rs As ADODB.Recordset
Public src As String*

*Sub BukaKoneksi()
Set con = New ADODB.Connection
con.Open "(baris ke 3 yang anda copy tadi tanpa tanda kurung)"*

' contohnya : con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\My Documents\My Project\Proyek Keni\db_blackcute.mdb;Persist
Security Info=False"
' untuk flexibilitas program anda, sebaiknya anda pindahkan
database anda menjadi satu folder dengan source code vb6 anda. Jika anda
mengikuti saran saya, maka
' coding untuk koneksi sedikit diubah menjadi :

'* con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
app.path & "\db_blackcute.mdb;Persist Security Info=False*
' dengan demikian dimanapun anda jalankan program anda maka anda
tidak perlu mengkonfigurasi secara manual lokasi databasenya.
*End Sub

Sub buka_rs()
Set rs = New ADODB.Recordset
rs.Open src, con, 1, 3

End Sub*
~~~~~~~~~~~~~~~~~~~~Batas Akhir Coding~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. Setelah coding diatas anda masukkan ke dalam modul. Maka sekarang
anda sudah bisa bermain-main dengan database access anda melalui VB 6.
4. Contoh penggunaannya :

* Private Sub Form_Load()*
*BukaKoneksi* 'untuk membuka jalur komunikasi dengan
database anda

*src = "" * from MsBarang"* 'perintah sql untuk
membuka/memanipulasi tabel pada database anda
*buka_rs* 'menjalankan perintah sql diatas.

*end sub*
5. Jadi yang perlu anda perhatikan dalam coding diatas adalah, sub
"BukaKoneksi" pada modul hanya akan kita letakkan pada Form_Load di
masing-masing form. Sedangkan untuk variabel 'src' dan sub "buka_rs"
bisa anda gunakan dimanapun dalam source code vb 6 anda untuk
membuka/memanipulasi tabel2 yang ada di database anda. Ingat !! variabel
'src' selalu bergandengan dengan sub "buka_rs". Karena sub "buka_rs"
membutuhkan isi dari variabel 'src' untuk melakukan tugasnya.

Thursday, July 8, 2010

Teknik Paging (php)

include"koneksi.php";

/*untuk mendapatkan halaman yang diinginkan
pada saat pertama kali di load isi $page masih kosong
selanjutnya akan berubah sesuai isi page
maksud dari isset adalah apakah sudah ada isinya atau kosong
*/
$page=$_GET['page'];
if(!isset($page)){
$page=1;
}

/*
buat query untuk disimpan dalam sebuah variabel
disini hasilnnya disimpan pada $row
*/
$query="select COUNT(*) AS numrows from ttransaksi";
$hasil=mysql_query($query);
$row     = mysql_fetch_array($hasil, MYSQL_ASSOC);
$numrows = $row['numrows']; //menyimpan jumlah record hsil query

/*untuk menghitung jumlah halaman,
nilai 20 sesuai jumlah yang mau ditampilkan per-page
*/
if($numrows<=3){
 $totalpage=1;
}else{
 $totalpage=ceil($numrows/3); 
}


/*
mencetak jumlah halaman yang nantinya akan dipilih
linknya menuju ke halaman ini sendiri
*/
 //menuju halaman pertama
 echo"First ";
//menuju ke halaman berikutnya,jika sekarang berada dihalaman 1 maka tidak ditampilkan
if($page>1){
$temp1=$page-1;
echo"Prev ";
}

//mencetak seluruh halaman dalam bentuk angka
for($i=1;$i<=$totalpage;$i++){
  echo"[$i] ";
}

//menuju ke halaman sebelumnya,jika sekarang berada dihalaman terakhir maka tidak ditampilkan
if($page<$totalpage){
  $temp2=$page+1;
  echo"Next ";
}

//menuju halaman terakhir
echo"Last
"; //menampilkan hasil query $query="select * from ttransaksi"; $hasil=mysql_query($query); $x=1; while($row= mysql_fetch_array($hasil, MYSQL_ASSOC)){ if(($x>($page-1)*3)&&($x<=$page*3)){ echo"id : ";echo $row['no_cp']; echo" nama : ";echo $row['nama']; echo"
"; } $x++; }

Tuesday, July 6, 2010

script mengubah data mysql ke file excel (php)

//function untuk menulis ke file excel (langsung dicopy aja...)
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}

function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}

function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}

function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}


//koneksi ke database
mysql_connect('localhost', 'root', '');
mysql_select_db('kepegawaian');

// query untuk select database
$queabsdetail = "SELECT idKaryawan, namaKaryawan, passwordKaryawan FROM karyawan";

// eksekusi query
$exequeabsdetail = mysql_query($queabsdetail);

// memasukkan hasil query ke dalam array
while($res = mysql_fetch_array($exequeabsdetail)){
$data['idKaryawan'][] = $res['idKaryawan'];
$data['namaKaryawan'][] = $res['namaKaryawan'];
$data['passwordKaryawan'][] = $res['passwordKaryawan'];
} 
//mengethui jumlah record
$jm = sizeof($data['idKaryawan']);

// sending header(ini yang paling penting... untuk mendownload file dan mengubah ke excel)
header("Pragma: public" );
header("Expires: 0" );
header("Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header("Content-Type: application/force-download" );
header("Content-Type: application/octet-stream" );
header("Content-Type: application/download" );;
header("Content-Disposition: attachment;filename=fileexcel.xls " );
header("Content-Transfer-Encoding: binary " );
xlsBOF();
xlsWriteLabel(0,0,"Contoh :mengubah data mysql ke excel" );
xlsWriteLabel(2,0,"Jumlah Record" );
xlsWriteLabel(2,1,$jm); xlsWriteLabel(4,1,"No" );

//menulis pada cell (baris 4 kolom 1)
xlsWriteLabel(4,2,"Id" );
xlsWriteLabel(4,3,"Nama" );
xlsWriteLabel(4,4,"Passwords" );
$xlsRow = 5;

//posisi awal menulis data (baris 5 kolom 1)
for ($y=0;$y<=$jm;$y++){ //perulangan untuk baca data
++$i;
xlsWriteNumber($xlsRow,1,"$i" );
xlsWriteLabel($xlsRow,2,$data['idKaryawan'][$y]);
xlsWriteLabel($xlsRow,3,$data['namaKaryawan'][$y]);
xlsWriteLabel($xlsRow,4,$data['passwordKaryawan'][$y]);
$xlsRow++;
}
xlsEOF();
exit();


Monday, July 5, 2010

Blog Baru

Akhirnya bikin juga nie blog..
gara2 liat tulisan Dia jadi pengen ngelanjutin blog ini.


Sebenernya aku bingung nie blog fokusnya buat apa.
Tapi yang pasti aku bakal ngasih informasi-informasi yang
dapat memberikan manfaat bagi temen2 yang mengakses blog ini.