Delphi - Menambahkan Nomor Record Pada DBGrid

Tuesday, February 26, 2008

Jika anda menggunakan komponen DBGrid pada Delphi untuk menampilkan data dari sebuah table,
anda bisa menambahkan/menampilkan nomor record tersebut pada komponen DBGrid di Delphi. Caranya sebagai berikut :





  • Saya menggunakan sebuah table bernama TBarang di database MySQL yang pernah saya buat
    sebelumnya.


  • Buat sebuah project baru di Delphi. Tambahkan sebuah komponen ADOTable, sebuah DataSource, dan sebuah komponen DBGrid.


  • Hubungkan komponen ADOTable dengan database MySQL dengan cara men-set property ConnectionString-nya ke datasource database MySQL. Jika anda belum tahu caranya, klik disini.


  • Kemudian set property TableName ADOTable1 menjadi TBarang.


  • Dobel klik ADOTable1, pada kotak Field Editor yang muncul klik kanan kemudian pilih Add all fields


  • Set property DataSource1 menjadi ADOTable1.


  • Set property DBGrid1 menjadi DataSource1.


  • Dobel klik DBGrid1, pada kotak Colection Editor yang muncul klik kanan kemudian pilih Add all fields


  • Tambahkan sebuah field baru pada DBGrid1 untuk nomor record, dengan cara klik kanan pada kotak Colection Editor kemudian pilih Add kemudian drag field baru tersebut ke posisi teratas pada kotak Colection Editor. set property Title ==> Caption-nya menjadi No.



  • Tambahkan kode perintah berikut ini pada event OnCreate komponen Form1 di code editor delphi :





if not adotable1.Active then

adotable1.Open;



  • dan kode perintah berikut ini pada event OnDrawColumnCell komponen DBGrid1 di code editor delphi :



if DataSource1.DataSet.RecNo > 0 then

begin
if Column.Title.Caption = 'No' then

DBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top, IntToStr(DataSource1.DataSet.RecNo));

end;



Jalankan program dengan menekan F9. disana akan terlihat nomor record dikolom paling kiri pada komponen DBGrid.

Delphi - Menampilkan Tanggal dan Waktu secara Realtime

Untuk menampilkan tanggal atau waktu atau keduanya di delphi secara real time
anda bisa menggunakan Komponen Timer pada event OnTimer.
berikut ini tutorial singkatnya (saya menggunakan delphi 7) :




  • Buat sebuah project baru di delphi. tambahkan sebuah komponen Label dan
    sebuah komponen Timer (ada di tab System)

  • Set property Interval komponen Timer
    menjadi 100 atau berapa saja (satuan dalam milli second) lebih kecil interval yang diberikan,
    lebih cepat event OnTimer dieksekusi

  • Tambahkan perintah berikut pada Event OnTimer komponen Timer





label1.Caption :=

formatdatetime('"Tanggal : "dd/mm/yyyy',now)+chr(10)+

formatdatetime('"Pukul : "hh:nn:ss',now);

label1.Refresh;



Kode perintah di atas akan menghasilkan output tanggal seperti
25/02/2008 dan waktu seperti 14:15:15.
Anda bisa merubah format tampilan tanggal dan waktu sesuai dengan keinginan atau kebutuhan anda
dengan cara merubah parameter format tanggal atau waktu (tulisan yang ditebalkan) pada function formatdatetime diatas.
Untuk mengetahui format tanggal dan waktu yang bisa anda gunakan di delphi anda bisa melihatnya di
artikel saya
Format Tanggal dan Waktu di Deplhi

Delphi - Date/Time Format

Daftar format tanggal dan waktu yang bisa digunakan di Borland Delphi
(sumber : dari Borland Delphi help manualnya lho) :



























































































String Format Deskripsi
d Menampilkan hari berupa digit angka tanpa leading zero (1-31).
dd Menampilkan hari berupa digit angka dengan leading zero (01-31).
ddd Menampilkan nama hari yang disingkat menjadi 3 huruf (Sun-Sat / tergantung regional setting yang dipakai).
dddd Menampilkan nama hari (Sunday-Saturday / tergantung regional setting yang dipakai).
m Menampilkan bulan sebagai angka satu digit tanpa leading zero (1-12) tetapi jika 'm' dicantumkan setelah h atau hh, maka yang ditampilkan bukan digit bulan tetapi digit menit.
mm Menampilkan bulan sebagai angka dua digit dengan leading zero (01-12) tetapi jika 'mm' dicantumkan setelah h atau hh, maka yang ditampilkan bukan digit bulan tetapi digit menit.
mmm Menampilkan tiga huruf nama bulan (Jan-Dec).
mmmm Menampilkan nama lengkap bulan (January-December).
yy Menampilkan tahun sebagai angka dua digit (00-99).
yyyy Menampilkan tahun sebagai angka empat digit (0000-9999).
h Menampilkan jam tanpa leading zero (0-23).
hh Menampilkan jam dengan leading zero (00-23).
n Menampilkan menit tanpa leading zero (0-59).
nn Menampilkan menit dengan leading zero (00-59).
s Menampilkan detik tanpa leading zero (0-59).
ss Menampilkan detik dengan leading zero (00-59).
z Menampilkan mili detik tanpa leading zero (0-999).
zzz Menampilkan mili detik dengan leading zero (000-999).
am/pm Menampilkan jam dengan format 12 jam dan menampilkan 'am' untuk jam 00:00:00 s/d 11:59:59 atau 'pm' untuk jam 12:00:00 s/d 23:59:59. Huruf am/pm bisa menggunakan huruf besar, huruf kecil atau dua-duanya.
a/p Menampilkan jam dengan format 12 jam dan menampilkan 'a' untuk jam 00:00:00 s/d 11:59:59 atau 'p' untuk jam 12:00:00 s/d 23:59:59. Huruf a/p bisa menggunakan huruf besar, huruf kecil atau dua-duanya.
ampm Sama dengan am/pm tetapi tanda am atau pm-nya dalam huruf kapital.

Tips Merubah Lokasi Direktori Spesial di Windows

Tuesday, February 19, 2008

Anda bisa merubah lokasi direktori special di windows seperti direktori :




  • My Documents

  • My Pictures

  • Temporary Internet Files

  • Favorites



Caranya sebagai berikut :




  • Masuk ke Registry Editor dengan cara klik Start | Run kemudian ketik regedit

  • Arahkan ke HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

  • Di window sebelah kanan jendela Registry Editor terdapat banyak nama key beserta tipe dan datanya.

  • Dobel klik key yang ingin anda rubah direktorinya.

  • Setelah muncul kotak dialog Edit String, isi dengan path ke direktori yang anda inginkan pada kotak edit Value Data.

Mengembalikan File Yang Terhapus

Jika anda mempunyai data yang banyak di harddisk anda, saya yakin anda pernah menghapus sebuah file penting tanpa disengaja. Jika anda ingin data anda yang sudah terhapus kembali lagi walaupun sudah dihapus di Recycle Bin, anda bisa mencoba satu software data recovery yang pernah saya gunakan dan hasilnya cukup baik yaitu Recover4all Profesional 2.26. Jika anda belum punya software ini anda bisa mendownload versi trialnya di
www.recover4all.com



Berikut ini tutorial singkatnya :




  • Install Recover4all Profesional, kemudian jalankan program tersebut.

  • Setelah masuk ke program tersebut, di jendela sebelah kiri terdapat daftar Drive di komputer anda.

  • Klik tanda plus di samping nama drive dimana file anda terhapus.

  • Software ini akan melakukan scan file-file yang terhapus pada drive tersebut. Tunggu hingga selesai.

  • Setelah selesai scan, software ini akan menampilkan nama file dan folder yang terhapus/berisi file yang terhapus beserta peluang Recoverynya (…,fair, Good,..).

  • Jika Recovery Chancesnya Good, maka kemungkinan besar file anda dapat di kembalikan seperti semula.

  • Untuk merecovery sebuah file, klik pada nama file kemudian klik tombol Recover yang ada di pojok kiri atas dibawah menu utama.

  • kemudian simpan ke folder yang anda inginkan.




Software ini sangat baik digunakan pada file yang baru terhapus dari harddisk, namun jika digunakan untuk me-recovery data dari USB drive walaupun filenya baru terhapus hasil recoverynya kurang bagus. Jadi saran saya gunakan software ini begitu file anda terhapus, jadi recovery chancesnya bagus juga hasil recoverynya bias optimal.

PHP – Membuat Warna Baris yang Berbeda pada Tabel

Dalam menampilkan data dalam bentuk sebuah table di sebuah halaman web, akan lebih mudah dibaca jika setiap baris data tersebut ditampilkan dengan warna yang berbeda.



Misalnya anda mempunyai sebuah table bernama TBarang di database MySQL bernama Latihan dengan struktur table sebagai berikut :




kodeitem int(10),

deskripsi varchar(50),

harga int(10)



Berikut ini contoh script PHP untuk menampilkan warna baris dalam table agar berbeda :





<?
$conn=mysql_connect("localhost","root","");

$db=mysql_select_db("latihan",$conn);


echo"<table border='0' cellpadding='5' cellspacing='0'>";


$qstr=mysql_query("select * from tbarang", $conn);

$i=0;


while($qrslt=mysql_fetch_array($qstr))

{

Echo"<tr bgcolor=#".($i % 2 ? "FCFCFD" : "EBF5FF").">

<td>$qrslt[deskripsi]</td>

<td>$qrslt[harga]</td>

</tr>";

$i=$i+1;

}

echo"</table>";


?>

Visual Basic - Menulis data ke Fixed Width Text File

Monday, February 18, 2008

scroll to Indonesian Version


Fixed-Width text file sometimes we needed as temporary media for transfering data from one database type to another. For example you wish to transfer data from MySQL database at your office computer to your Microsoft Access database at your home PC for back up or certain purpose. before you tranfering the data to microsoft access database, first you need to export it to text file format with Fixed-Width type and then import it from your microsoft access database.



the reason why i choose this type of text file is because it is not only more simple, but Fixed-Width text file are will be more easy if we will export it to other file format for example to microsoft excel file format.



the following is a short tutorial about how to writing data to fixed-width text file in visual basic 6 :




  • Create a database in Microsoft access named sales.mdb and create a table inside em named tbarang and fill the table with data like in my Belajar syntax dasar statement sql article.

  • Step into Visual Basic, create a new project with Standard EXE type.

  • Add a CommandButton, and a Label component.

  • Change Caption property of Command1 component (CommandButton component) to "Export to Fixed Width text File", and AutoSize propery of label1 component to True.

  • Step into Code Editor by clicking View and then select Code menu. empty the text in the Code Editor if any, then add the following line of code :





Dim koneksi As New ADODB.Connection

Dim rsteks As New ADODB.Recordset



Private Sub Form_Load()

Set koneksi = New ADODB.Connection

koneksi.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=; & _
Persist Security Info=True;User ID=Admin;Data Source=" & app.path & "\sales.mdb"

koneksi.Open

End Sub



Private Sub Command1_Click()

Dim strsql As String

Dim i As Integer



Set rsteks = New ADODB.Recordset


strsql = "select * from tbarang"


rsteks.Open strsql, koneksi, adOpenDynamic, adLockOptimistic



i = 0

Label1.Caption = CStr(rsteks.RecordCount)

Label1.Refresh


Open App.Path & "\tes.txt" For Output As #1



If Not rsteks.BOF Then

rsteks.MoveFirst

While Not rsteks.EOF

i = i + 1

Label1.Caption = "Writing data no " & CStr(i)

Label1.Refresh


Print #1,rsteks!kodeitem;

Tab(11); rsteks!deskripsi;

'if the field data type is number

'then the values must be converted to string type using cstr() function

Tab(61); CStr(rsteks!harga);

Tab(71); rsteks!kategori;

Tab(77); CStr(rsteks!diskon);

Tab(79); rsteks!statusjual

rsteks.MoveNext

Wend

End If


Close #1



Exit Sub

End Sub










scroll to English Version

Fixed-Width text file atau file teks yang mempunyai ukuran kolom/field yang tetap, terkadang dibutuhkan sebagai media sementara jika kita akan melakukan transfer data dari satu jenis database ke jenis database yang lain. Misalnya anda ingin mentransfer data dari database MySQL di kantor anda ke database Microsoft Access di komputer di rumah anda untuk keperluan tertentu atau untuk keperluan backup data. Sebelum anda mentransfernya ke microsoft access anda terlebih dahulu mengeksportnya ke format file teks dengan tipe Fixed-Width kemudian baru mentransfernya ke microsoft access.



Saya memilih tipe file teks jenis ini karena selain lebih simpel, fixed-width text file ini akan lebih mudah jika kita akan mengekspornya ke format file yang lain misalnya ke format file microsoft excel.



berikut ini adalah tutorial singkat tentang cara menulis data ke file teks fixed-width di visual basic 6 :




  • Buat sebuah database di microsoft access dengan nama penjualan.mdb dan sebuah tabel didalamnya dengan nama tbarang dan isi datanya seperti pada artikel Belajar syntax dasar statement sql.

  • Masuk ke Visual Basic, buat project baru dengan tipe Standard EXE.

  • Tambahkan sebuah komponen CommandButton, dan sebuah label.

  • Set property Caption dari komponen Command1 (komponen CommandButton) menjadi "Export Ke Fixed Width text File", dan propery AutoSize dari komponen label1 menjadi True.

  • Masuk ke Code Editor dengan cara klik menu View kemudian pilih Code kosongkan teks dalam Code Editor, kemudian tambahkan baris perintah berikut ini :





Dim koneksi As New ADODB.Connection

Dim rsteks As New ADODB.Recordset



Private Sub Form_Load()

Set koneksi = New ADODB.Connection

koneksi.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=; & _
Persist Security Info=True;User ID=Admin;Data Source=" & app.path & "\penjualan.mdb"

koneksi.Open

End Sub



Private Sub Command1_Click()

Dim strsql As String

Dim i As Integer



Set rsteks = New ADODB.Recordset


strsql = "select * from tbarang"


rsteks.Open strsql, koneksi, adOpenDynamic, adLockOptimistic



i = 0

Label1.Caption = CStr(rsteks.RecordCount)

Label1.Refresh


Open App.Path & "\tes.txt" For Output As #1



If Not rsteks.BOF Then

rsteks.MoveFirst

While Not rsteks.EOF

i = i + 1

Label1.Caption = "Menulis data ke " & CStr(i)

Label1.Refresh


Print #1,rsteks!kodeitem;

Tab(11); rsteks!deskripsi;

'jika tipe data fieldnya adalah number

'maka nilai harus dikonversi dahulu ke string dengan fungsi cstr()

Tab(61); CStr(rsteks!harga);

Tab(71); rsteks!kategori;

Tab(77); CStr(rsteks!diskon);

Tab(79); rsteks!statusjual

rsteks.MoveNext

Wend

End If


Close #1



Exit Sub

End Sub


MySQL - Langkah Pembuatan ODBC Data Source

Salah satu cara untuk mengakses database MySQL dari program aplikasi seperti Delphi atau Visual Basic adalah melalui ODBC (Open Database Connectivity). Meskipun banyak software yang berbentuk ActiveX Control dan VCL Component yang tersebar di internet untuk mengakses database MySQL dari Delphi atau Visual Basic, tetapi kebanyak komponen ini tidak gratis dan mahal.



Untungnya MySQL menyediakan sebuah software driver ODBC untuk menjembatani koneksi antara software aplikasi dengan database MySQL.Software ini adalah khusus untuk driver ODBC untuk MySQL. Berikut ini adalah langkah pembuatan data source ODBC untuk MySQL dengan menggunakan MySQL ODBC/Connector.





  • Download MySQL Connector/ODBC di http://dev.mysql.com/downloads/connector/odbc/ jika belum punya.

  • Install MySQL Connector/ODBC.

  • Setelah selesai menginstall MySQL Connector/ODBC, kemudian masuk ke Control Panel. Start | Settings | Control Panel | Administrative Tools | dobel klik Data Sources (ODBC).

  • Setelah muncul window ODBC Data Source Administrator klik tab User DSN, kemudian klik tombol Add.

  • di window Create New Data Source pilih MySQL ODBC nomor_versi Driver (nomor_versi adalah versi dari Driver Connector MySQL misalnya 3.51). Klik tombol Finish

  • Kemudian akan muncul window Connector / ODBC. Klik pada tab Login.

  • Pada text box Data Source Name isi dengan nama Data Source, misalnya MySQLDS.

  • Pada text box description isi dengan deskripsi koneksi (optional).

  • Pada text box server isi dengan localhost atau IP 127.0.0.1 jika anda menginstall Database MySQL di komputer anda sendiri.

  • Pada text box User isi dengan nama user misalnya root (root adalah user yang mempunyai kewenangan penuh terhadap database atau disebut juga Administrator).

  • Pada Text box Password isi dengan password root (defaultnya user root tidak mempunyai password).

  • klik tombol Test untuk mengetes koneksi.

  • Jika sudah sukses klik tombol Finish.

Menampilkan Dua Baris Pesan pada Messagebox di Delphi dan Visual Basic

Friday, February 15, 2008

Terkadang kita ingin agar teks dalam sebuah messagebox atau message dialog dalam aplikasi kita menjadi beberapa baris karena teks yang akan kita tampilkan cukup panjang dan kurang indah jika pesan tersebut ditempatkan dalam satu baris.



Berikut ini adalah cara menampilkan teks dua baris pada messagebox di Delphi :





application.MessageBox('Ini adalah baris pertama pesan'+chr(10)+
'Ini adalah baris kedua pesan','Informasi',mb_ok)



Berikut ini adalah cara menampilkan teks dua baris pada messagebox di Visual Basic :





MsgBox "Ini adalah baris pertama pesan" & Chr(10) & "Ini adalah baris kedua pesan", vbOKOnly, "Informasi"

Membuat Menu Popup dengan Delphi


  • Buat sebuah Project baru tambahkan sebuah komponen Memo yang ada pada tab Standard.

  • Drag komponen Memo tersebut hingga lebarnya memenuhi form.

  • Tambahkan baris program berikut pada event OnMouseUp komponen Memo :






var TitikClient,TitikLayar: TPoint;

begin

if Memo1.SelLength>0 then

begin

TitikClient.X := X;

TitikClient.Y := Y;

TitikLayar := ClientToScreen (TitikClient);

PopupMenu1.Popup (TitikLayar.X, TitikLayar.Y);

end;

end;


Menghubungkan Delphi dengan Database MySQL

Berikut ini beberapa metode untuk menghubungkan Delphi dengan database MySQL berikut penjelasannya :




Koneksi menggunakan MySQL Connector/ODBC



  • Download MySQL Connector/ODBC di http://dev.mysql.com/downloads/connector/odbc/ jika belum punya.

  • Install MySQL Connector/ODBC.

  • Setelah selesai menginstall MySQL Connector/ODBC, kemudian masuk ke Control Panel. Start | Settings | Control Panel | Administrative Tools | dobel klik Data Sources (ODBC).

  • Setelah muncul window ODBC Data Source Administrator klik tab User DSN, kemudian klik tombol Add.

  • di window Create New Data Source pilih MySQL ODBC nomor_versi Driver (nomor_versi adalah versi dari Driver Connector MySQL misalnya 3.51). Klik tombol Finish

  • Kemudian akan muncul window Connector / ODBC. Klik pada tab Login.

  • Pada text box Data Source Name isi dengan nama Data Source, misalnya MySQLDS.

  • Pada text box description isi dengan deskripsi koneksi (optional).

  • Pada text box server isi dengan localhost atau IP 127.0.0.1 jika anda menginstall Database MySQL di komputer anda sendiri.

  • Pada text box User isi dengan nama user misalnya root (root adalah user yang mempunyai kewenangan penuh terhadap database atau disebut juga Administrator).

  • Pada Text box Password isi dengan password root (defaultnya user root tidak mempunyai password).

  • klik tombol Test untuk mengetes koneksi.

  • Jika sudah sukses klik tombol Finish.

  • Masuk ke Delphi, buat sebuah project baru lalu tambahkan sebuah komponen ADOConnection.

  • Dobel klik komponen ADOConnection. Klik tombol Build.

  • di window Data Link Properties klik tab Provider kemudian pilih Microsoft OLE DB Provider for ODBC Drivers klik tombol Next

  • Pada Tab Connection, Pilih radio button use data source name kemudian pada combobox di bawahnya pilih nama data source yang tadi anda buat yaitu MySQLDS.

  • Isi root pada textbox User name dan passwordnya pada textbox Password. Klik tombol Test Connection. Jika sukses, klik tombol OK.

  • Set Property LoginPrompt menjadi false agar aplikasi tidak menampilkan form Database Login ketika anda akan menjalankan aplikasi.

  • Set Property Connected menjadi true.



Setelah tahap diatas, koneksi ke database MySQL sudah terbentuk. Selanjutnya untuk mengakses data pada sebuah table di database MySQL anda bisa menggunakan komponen ADOTable atau ADOQuery yang dihubungkan dengan komponen ADOConnection dengan cara men-set property Connectionnya menjadi ADOConnection1.





Koneksi menggunakan MySQLDAC



  • Download MicroOlap MySQL Direct Access Component versi trial di http://www.microolap.com/products/connectivity/mysqldac/download/.

  • Install MicroOlap MySQL Direct Access Component seperti biasa.

  • Setelah selesai installasi, di tab component delphi akan muncul tab baru yaitu DAC for MySQL

  • Buat Project baru di Delphi, klik pada tab DAC for MySQL kemudian tambahkan sebuah komponen mySQLDatabase.

  • Dobel klik komponen tersebut, setelah itu muncul window dialog TMySQLDatabase Editor.

  • Isi text box Database Name dengan nama database anda.

  • Isi text box User ID dengan username anda misalnya root.

  • Isi text box Password password user yang digunakan.

  • Isi text box Host Name / IP dengan localhost atau 127.0.0.1 jika anda menginstall database MySQL di komputer anda sendiri.

  • Isi text box Server Port dengan nomor port yang digunakan MySQL database (defaultnya 3306).



Dari dua metode diatas, koneksi dengan menggunakan MySQL Direct Access Component adalah yang paling baik karena memberikan peforma akses/query ke database yang lebih cepat dibandingkan koneksi dengan menggunakan MySQL Connector/ODBC hanya saja komponen ini tidak gratis

Menampilkan Record Duplikat dengan SQL

Sunday, February 10, 2008

scroll to Indonesian Version


Search for duplicate records sometimes we needed in work in an IT area. Although duplication is impossible to happen at the tables that have good referential integrity and constraint, but in our IT reality sometimes we make our table contain duplicated records.



the SQL Syntax to search for duplicate record in MySQL, Microsoft Access, Oracle, SQL Server and others much the same to or is same precisely because SQL syntax i will mention under this is a standard SQL statement syntax.



For example i use a table named Employees in MySQL database and the table have the following structure : employee_id varchar (10), name varchar (30), and the table have the following data :
































employee_id name
8105048BR Yana
8205049BR Yana
8015052BR Denny
8005043BR Denny
8105047BR Adi F
8005050BR Sody S


At the example above we notice that there are four employees having the same name. To display the duplicated name using SQL statement in MySQL, Microsoft Access, Oracle, SQL Server and others, the SQL statement is as follows :





select name, count(*) from employees

group by name

having count(*) > 1




the SQL statement above will display the list of Name that having count greater than one record. In this example is Yana and Denny. below are the output from the SQL statement above :
















name count(*)
Denny 2
Yana 2







scroll to English Version


Mencari record duplikat terkadang kita butuhkan dalam pekerjaan di bidang IT. Walaupun duplikasi tidak mungkin terjadi pada tabel yang mempunyai referential integrity dan constraint yang baik, namun dalam kenyataannya kita sering membuat tabel yang berisi data-data duplikat.



Syntax SQL untuk mencari record duplikat di MySQL, Microsoft Access, Oracle, SQL Server dan lain-lain hampir sama atau sama persis karena syntax SQL yang akan saya sebutkan dibawah ini adalah syntax statement SQL standar.



Sebagai contoh saya menggunakan sebuah tabel bernama Karyawan di MySQL strukturnya sebagai berikut : nik varchar(10), nama varchar(30), dan mempunyai data-data sebagai berikut di :
































nik nama
8105048BR Yana
8205049BR Yana
8015052BR Denny
8005043BR Denny
8105047BR Adi F
8005050BR Sody S



Pada contoh diatas terdapat empat record yang mempunyai nama yang sama. Untuk menampilkan row duplikat tersebut dengan SQL di MySQL, Microsoft Access, Oracle, SQL Server dan lain-lain, statement SQL-nya sebagai berikut :



select nama, count(*) from karyawan

group by nama

having count(*) > 1




Statement SQL diatas akan menampilkan daftar Nama yang jumlahnya lebih dari satu, dalam contoh ini adalah Yana dan Denny. dibawah ini adalah output dari statement SQL diatas :
















nama count(*)
Denny 2
Yana 2

Belajar Syntax Dasar Statement SQL

Setelah melihat-lihat ke beberapa forum Programming, banyak thread yang menanyakan tentang syntax statement SQL dasar.
Untuk itu saya mencoba menulis tutorial singkat ini mudah-mudahan temen-temen sesama penghobi programming bisa mendapat tambahan pengetahuan di SQL programming.



Semua statement SQL ini bisa berfungsi di semua DBMS/RDBMS karena ini adalah syntax statement SQL standar.
Untuk tutorial ini saya menggunakan sebuah table di Microsoft Access dan MySQL dengan nama Tbarang dan struktur datanya sebagai berikut :



Struktur table Tbarang di Microsoft Access :

kodeitem text(10), deskripsi text(50), harga number(10), kategori text(6), diskon number(2), statusjual text(1)




Struktur table Tbarang di MySQL :

kodeitem varchar(10), deskripsi varchar(50), harga integer(10), kategori varchar(6), diskon int(2), statusjual char(1)



dan datanya sebagai berikut :












































































kodeitem deskripsi harga kategori Diskon StatusJual
EBVB2001 Visual Basic 6 Black Book 735000 SWEB 0 Y
EBBD1001 Mastering Delphi 7 E-Book 850000 SWEB 0 Y
SW2001 Microsoft Visual Basic.Net 2006 3200000 SW 0 Y
SW1001 Borland Delphi 7 Enterprise Edition 3000000 SW 0 Y
SW5001 Dreamcoder for MySQL Administration Enterprise 2100000 DBA 0 Y
SW6002 FastReport Studio 3.23 Enterprise Edition 3200000 UTL 0 Y
SW1002 Borland Delphi 2006 Enterprise Edition 3600000 SW 0 Y
SW2002 Microsoft Office 2007 3200000 SW 0 Y



Select Statement



Statement Select digunakan untuk menampilkan data dari satu atau beberapa tabel.



Contoh syntax SQL untuk menampilkan seluruh data yang ada di table barang :





select * from Tbarang



Contoh syntax SQL untuk menampilkan seluruh data yang mempunyai kategori SWEB (Software E-Book) :





select * from Tbarang
where kategori = 'SWEB'



Contoh syntax SQL untuk menampilkan deskripsi dan harga barang dengan kategori SW (Software).





select deskripsi,harga from Tbarang
where kategori = 'SW'



Contoh syntax SQL untuk menampilkan Deskripsi dan Harga dengan Kategori SW (Software) dan mempunyai Harga lebih dari tiga juta.





select deskripsi,harga from Tbarang
where kategori = 'SW' and harga > 3000000



Insert Statement



Statement Insert digunakan untuk Menambah data kedalam sebuah tabel.


Contoh syntax SQL untuk menambah data kedalam table Tbarang dengan menyebutkan nama field.
Jumlah nilai (values) harus sesuai dengan jumlah dan tipe data dari urutan nama field yang disebutkan.






insert into tbarang (kodeitem, deskripsi, harga, kategori, diskon, statusjual)
values('SW3001','PHP Designer 2008',2000000,'UTL',0,'Y')


Contoh syntax SQL untuk menambah data kedalam table Tbarang tanpa menyebutkan nama field :





insert into tbarang
values('SW1003','Borland Delphi 6 Enterprise Edition',2800000,'SW',0,'Y')



Contoh syntax SQL untuk menambah data kedalam field kodeitem dan deskripsi di table Tbarang :





insert into tbarang (kodeitem, deskripsi)
values('SW2003','Microsoft Visual Studio.Net 2006')



Data dari table Tbarang setelah statement Insert :



































































































kodeitem deskripsi harga kategori Diskon StatusJual
EBVB2001 Visual Basic 6 Black Book 735000 SWEB 0 Y
EBBD1001 Mastering Delphi 7 E-Book 850000 SWEB 0 Y
SW2001 Microsoft Visual Basic.Net 2006 3200000 SW 0 Y
SW1001 Borland Delphi 7 Enterprise Edition 3000000 SW 0 Y
SW5001 Dreamcoder for MySQL Administration Enterprise 2100000 DBA 0 Y
SW6002 FastReport Studio 3.23 Enterprise Edition 3200000 UTL 0 Y
SW1002 Borland Delphi 2006 Enterprise Edition 3600000 SW 0 Y
SW2002 Microsoft Office 2007 3200000 SW 0 Y
SW2003 Microsoft Visual Studio.Net 2006        
SW3001 PHP Designer 2008 2000000 UTL 0 Y
SW1003 Borland Delphi 6 Enterprise Edition 2800000 SW 0 Y


Update Statement


Statement Update digunakan untuk merubah nilai satu atau beberapa field dari sebuah table.



Contoh syntax SQL untuk merubah seluruh diskon dari table Tbarang (update seluruh data / tanpa kondisi) :





Update tbarang set diskon=5



Contoh syntax SQL untuk merubah nilai diskon barang yang mempunyai harga lebih dari tiga juta (update satu field dengan menggunakan satu kondisi) :





Update tbarang set diskon=10 where harga > 3000000



Contoh syntax SQL untuk merubah nilai diskon,dan statusjual barang yang mempunyai harga lebih dari tiga juta (update lebih dari satu field dengan menggunakan satu kondisi) :





Update tbarang set diskon=0,statusjual='T'
where harga > 3000000



Data dari table Tbarang setelah statement Update :



































































































kodeitem deskripsi harga kategori Diskon StatusJual
EBVB2001 Visual Basic 6 Black Book 735000 SWEB 5 Y
EBBD1001 Mastering Delphi 7 E-Book 850000 SWEB 5 Y
SW2001 Microsoft Visual Basic.Net 2006 3200000 SW 0 T
SW1001 Borland Delphi 7 Enterprise Edition 3000000 SW 5 Y
SW5001 Dreamcoder for MySQL Administration Enterprise 2100000 DBA 5 Y
SW6002 FastReport Studio 3.23 Enterprise Edition 3200000 UTL 0 T
SW1002 Borland Delphi 2006 Enterprise Edition 3600000 SW 0 T
SW2002 Microsoft Office 2007 3200000 SW 0 T
SW2003 Microsoft Visual Studio.Net 2006     5  
SW3001 PHP Designer 2008 2000000 UTL 5 Y
SW1003 Borland Delphi 6 Enterprise Edition 2800000 SW 5 Y


Delete Statement


Statement Delete digunakan untuk menghapus record dari sebuah table.


Contoh syntax SQL untuk Menghapus data barang yang sudah tidak dijual lagi (statusjual ='T') :





delete from tbarang where statusjual='T'



Data dari table Tbarang setelah statement Delete :




































































kodeitem deskripsi harga kategori Diskon StatusJual
EBVB2001 Visual Basic 6 Black Book 735000 SWEB 5 Y
EBBD1001 Mastering Delphi 7 E-Book 850000 SWEB 5 Y
SW1001 Borland Delphi 7 Enterprise Edition 3000000 SW 5 Y
SW5001 Dreamcoder for MySQL Administration Enterprise 2100000 DBA 5 Y
SW3001 PHP Designer 2008 2000000 UTL 5 Y
SW1003 Borland Delphi 6 Enterprise Edition 2800000 SW 5 Y
SW2003 Microsoft Visual Studio.Net 2006     5  

Membuat Validasi Login User Berbasis Database di Borland Delphi

Saturday, February 9, 2008

Jika Anda membuat aplikasi untuk beberapa user group atau user level. Misalnya aplikasi anda digunakan untuk mengolah data penjualan suatu barang dan di aplikasi anda tersebut misalnya terdapat beberapa modul/menu diantaranya input data barang, input data penjualan, input data pembelian, laporan barang masuk, laporan barang keluar, laporan rugi laba, administrasi user dan lain sebagainya.




Nah tidak semua orang/user tentunya mempunyai hak untuk mengakses semua modul/menu tersebut. Misalnya ada dua level user yaitu Administrator dan operator. Operator hanya bertugas untuk menginput data barang, input data pembelian, input data penjualan, laporan barang masuk dan laporan barang keluar. Untuk Laporan Keuangan Rugi Laba dan administrasi user hanya boleh diakses oleh Administrator yang mempunyai kewenangan penuh terhadap seluruh aplikasi. Untuk itu tentunya aplikasi anda membutuhkan sebuah validasi user yaitu lewat sebuah proses login.



berikut ini saya akan memberikan sebuah contoh pembuatan aplikasi untuk validasi login user berbasis databases di borland delphi. Disini saya menggunakan borland delphi versi 7.



Sebelum mulai dengan Delphi anda harus membuat dahulu sebuah database misalnya kita gunakan database Microsoft Access.


  • Masuk ke Microsoft Access buat database baru : File | New | Blank Database. Simpan di folder C:\APP\Login dengan nama DelphiTutorial.mdb.

  • Buat table baru : Insert | Table. Pada kotak dialog yang muncul pilih Design View klik ok.




Buat struktur tabel seperti dibawah ini :























Filed Name Data Type Size
Username Text 30
Password Text 50
Status Text 1


Field Status digunakan untuk pengenalan level user (0 untuk operator dan 1 untuk administrator). Berikan primary key pada field Username dan simpan table dengan nama Login. Kemudian isikan beberapa data, contoh :



















Username Password Status
yana belajar 0
yanadoe delphi tutor 1





  • Buat sebuah project baru di Delphi : File | New | Aplication

  • Tambahkan dua buah komponen Edit dan dua buah komponen Button dan dua buah komponen Label

  • Tambahkan sebuah form lagi : File | New | Form.



Set property tiap komponen sebagai berikut :










































































Nama Komponen Nama Property Nilai
- Form1 Name FLogin
- Form2 Name FMenu
- Label1 Name Label1
Caption Username
- Label2 Name Label2
Caption Password
- Edit1 Name EUsername
- Edit2 Name EPassword
PasswordChar *
- Button1 Name BtnOk
Caption Login
- Button2 Name BtnCancel
Caption Batal


Sehingga tampilannya seperti ini





  • Simpan project di C:\APP\Login dengan nama PLogin.dpr.
  • Klik Flogin, tambahkan sebuah komponen AdoQuery (ada di tab ADO)

  • Set Property Namenya : AQLogin

  • Set Property ConnectionString : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DelphiTutorial.mdb;Persist Security Info=False

  • klik form Fmenu kemudian tambahkan komponen MainMenu.

  • Dobel klik komponen MainMenu dan tambahkan satu menu dan beberapa submenu sehingga tampilannya seperti dibawah ini :






  • dobel klik komponen BtnOk di form FLogin kemudian isikan kode berikut :





aqlogin.Close;
aqlogin.SQL.Text := 'select * from login where username = :un and password = :pw';
aqlogin.Prepared := true;
aqlogin.Parameters[0].Value := EUsername.Text;
aqlogin.Parameters[1].Value := EPassword.Text;
aqlogin.Open;

if aqlogin.RecordCount < 1 then // jika data tidak ada, tampilkan pesan error
Messagedlg('Username tidak dikenal',mterror,[mbok],0)
else if aqlogin.RecordCount > 0 then // jika data ada, cek status
begin
if aqlogin.FieldValues['status'] = '0' then // jika status 0, maka menu administrator disembunyikan
begin
fMenu.caption := 'Anda login sebagai Operator';
fmenu.Administrator1.visible := false;
end
else if aqlogin.FieldValues['status'] = '1' then
fMenu.caption := 'Anda login sebagai Administrator'
else
begin
Messagedlg('User level tidak jelas, login gagal',mterror,[mbok],0);
exit;
end;
end;

flogin.Hide;
fMenu.show;



  • Dobel klik komponen BtnCancel, kemudian tambahkan kode berikut :



  • application.Terminate;



    Kode pada BtnOk akan memeriksa username dan password dengan data yang ada di tabel login. Jika data ada (login sukses) maka akan ditampilkan form FMenu. Main Form untuk project ini adalah Flogin jadi meskipun anda sudah menutup form FMenu dan seolah-olah aplikasi sudah tertutup, padahal sebenarnya aplikasi tersebut masih berjalan dikarenakan Flogin yang jadi Main Form belum tertutup. Untuk membuktikannya, klik kanan di taskbar dan pilih Task Manager. Klik pada tab Proses kemudian cari entry dengan nama Plogin.exe.



    Untuk mengatasi masalah tersebut, klik di FMenu kemudian pada Object Inspector klik tab Events kemudian dobel klik pada event OnClose, lalu tambahkan kode berikut :




    application.Terminate;



    Dengan demikian aplikasi akan di terminate ketika anda menutup form Fmenu

    .

    Membuat Validasi Login User Berbasis Database dengan Borland Delphi

    Jika Anda membuat aplikasi untuk beberapa user group atau user level. Misalnya aplikasi anda digunakan untuk mengolah data penjualan suatu barang dan di aplikasi anda tersebut misalnya terdapat beberapa modul/menu diantaranya input data barang, input data penjualan, input data pembelian, laporan barang masuk, laporan barang keluar, laporan rugi laba, administrasi user dan lain sebagainya.




    Nah tidak semua orang/user tentunya mempunyai hak untuk mengakses semua modul/menu tersebut. Misalnya ada dua level user yaitu Administrator dan operator. Operator hanya bertugas untuk menginput data barang, input data pembelian, input data penjualan, laporan barang masuk dan laporan barang keluar. Untuk Laporan Keuangan Rugi Laba dan administrasi user hanya boleh diakses oleh Administrator yang mempunyai kewenangan penuh terhadap seluruh aplikasi. Untuk itu tentunya aplikasi anda membutuhkan sebuah validasi user yaitu lewat sebuah proses login.



    berikut ini saya akan memberikan sebuah contoh pembuatan aplikasi untuk validasi login user berbasis databases di borland delphi. Disini saya menggunakan borland delphi versi 7.



    Sebelum mulai dengan Delphi anda harus membuat dahulu sebuah database misalnya kita gunakan database Microsoft Access.




    • Masuk ke Microsoft Access buat database baru : File | New | Blank Database. Simpan di folder C:\APP\Login dengan nama DelphiTutorial.mdb.

    • Buat table baru : Insert | Table. Pada kotak dialog yang muncul pilih Design View klik ok.




    Buat struktur tabel seperti dibawah ini :























    Filed Name Data Type Size
    Username Text 30
    Password Text 50
    Status Text 1


    Field Status digunakan untuk pengenalan level user (0 untuk operator dan 1 untuk administrator). Berikan primary key pada field Username dan simpan table dengan nama Login. Kemudian isikan beberapa data, contoh :



















    Username Password Status
    yana belajar 0
    yanadoe delphi tutor 1





    • Buat sebuah project baru di Delphi : File | New | Aplication

    • Tambahkan dua buah komponen Edit dan dua buah komponen Button dan dua buah komponen Label

    • Tambahkan sebuah form lagi : File | New | Form.



    Set property tiap komponen sebagai berikut :










































































    Nama Komponen Nama Property Nilai
    - Form1 Name FLogin
    - Form2 Name FMenu
    - Label1 Name Label1
      Caption Username
    - Label2 Name Label2
      Caption Password
    - Edit1 Name EUsername
    - Edit2 Name EPassword
      PasswordChar *
    - Button1 Name BtnOk
      Caption Login
    - Button2 Name BtnCancel
      Caption Batal



    Sehingga tampilannya seperti ini :





    • Simpan project di C:\APP\Login dengan nama PLogin.dpr.
    • Klik Flogin, tambahkan sebuah komponen AdoQuery (ada di tab ADO)

    • Set Property Namenya : AQLogin

    • Set Property ConnectionString : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DelphiTutorial.mdb;Persist Security Info=False

    • klik form Fmenu kemudian tambahkan komponen MainMenu.

    • Dobel klik komponen MainMenu dan tambahkan satu menu dan beberapa submenu sehingga tampilannya seperti dibawah ini :






    • dobel klik komponen BtnOk di form FLogin kemudian isikan kode berikut :





    aqlogin.Close;

    aqlogin.SQL.Text := 'select * from login where username = :un and password = :pw';

    aqlogin.Prepared := true;

    aqlogin.Parameters[0].Value := EUsername.Text;

    aqlogin.Parameters[1].Value := EPassword.Text;

    aqlogin.Open;


    if aqlogin.RecordCount < 1 then // jika data tidak ada, tampilkan pesan error

    begin

    Messagedlg('Username tidak dikenal',mterror,[mbok],0);

    Exit;

    end

    else if aqlogin.RecordCount > 0 then // jika data ada, cek status

    begin

    if aqlogin.FieldValues['status'] = '0' then // jika status 0, maka menu administrator disembunyikan

    begin

    fMenu.caption := 'Contoh Database Login ...on ['+

    uppercase(aqlogin.FieldValues['username'])+'] as Operator';

    fmenu.Administrator1.visible := false;

    end

    else if aqlogin.FieldValues['status'] = '1' then

    fMenu.caption := 'Contoh Database Login ...on ['+

    uppercase(aqlogin.FieldValues['username'])+'] as Administrator';

    else

    begin

    Messagedlg('User level tidak jelas, login gagal',mterror,[mbok],0);

    exit;

    end;

    end;

    flogin.Hide;

    fMenu.show;





    • Dobel klik komponen BtnCancel, kemudian tambahkan kode berikut :




    application.Terminate;



    Kode pada BtnOk akan memeriksa username dan password dengan data yang ada di tabel login. Jika data ada aplikasi kemudian akan memeriksa status user. Jika status user tersebut "0" maka yang menu yang ditampilkan di form FMenu hanya menu untuk operator saja dan apabila status user "1" maka semua menu di form FMenu akan ditampilkan.



    Main Form untuk project ini adalah Flogin jadi jika anda menutup form FMenu, maka seolah-olah aplikasi sudah tertutup, padahal sebenarnya aplikasi tersebut masih berjalan di background, karena Flogin yang jadi Main Form belum tertutup. Untuk membuktikannya, klik kanan di taskbar dan pilih Task Manager. Klik pada tab Proses kemudian cari entry dengan nama Plogin.exe.



    Untuk mengatasi masalah tersebut, klik di FMenu kemudian pada Object Inspector klik tab Events kemudian dobel klik pada event OnClose, lalu tambahkan kode berikut :




    application.Terminate;



    Dengan demikian aplikasi akan di terminate ketika anda menutup form Fmenu

    .

    Tips Untuk Path Database dan File di Visual Basic dan Delphi

    Thursday, February 7, 2008


    Jika aplikasi mengalami masalah pada saat dirubah nama foldernya atau pada saat
    dipindahkan ke folder lain, mungkin itu karena anda memberikan path absolute
    ke file-file atau database yang digunakannya.



    Untuk menghindari masalah seperti yang saya sebutkan diatas, anda harus
    membuat path ke file-file yang digunakannya menjadi path relative. Misalnya anda mempunyai aplikasi yang disimpan di
    "F:\APP\VB\PathRelative\Contoh.exe" dan databasenya disimpan di "F:\APP\VB\PathRelative\Sample.mdb".



    Visual Basic Syntax



    Berdasarkan contoh diatas, berikut ini syntax Visual Basic agar path ke database "Sample.mdb" menjadi relative :





    koneksi_ado.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=" & app.path & "\sample.mdb;Persist Security Info=True"


    Property Path dari App.path digunakan untuk menghasilkan path ke aplikasi .exe berada.
    pada contoh diatas aplikasi .exe anda berada di "F:\APP\VB\PathRelative", sehingga kode app.path & "\sample.mdb" akan menghasilkan
    "F:\APP\VB\PathRelative\sample.mdb".





    Delphi Syntax


    dan dibawah ini adalah syntax Delphi agar path ke database "Sample.mdb" menjadi relative :




    koneksi_ado.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=sample.mdb;Persist Security Info=True"



    Apabila anda menggunakan komponen seperti Adodc di Visual Basic atau Adoconnection di Delphi
    untuk koneksi ke database, maka setting Data Sourcenya adalah seperti gambar dibawah ini :



    RelativePath.jpg

    Path yang tadinya adalah path lengkap (absolute) => "F:\APP\VB\PathRelative\sample.mdb"

    anda rubah menjadi => "sample.mdb"





    Dengan cara seperti ini maka, aplikasi akan mencari file-file yang telah dideklarasikan sebelumnya
    di folder manapun aplikasi tersebut ditempatkan.

    SQL Dinamis Dengan Parameter Di Microsoft Access


    Jika anda sering menggunakan SQL di Microsoft Access anda mungkin pernah merasa malas, capek (dsb..)
    untuk masuk ke menu Query Design untuk merubah statement SQL objek Query anda.




    Misalkan anda ingin menampilkan data barang-barang dari vendor tertentu di tabel Barang
    berdasarkan kode vendor yang anda cantumkan setelah klausa where di dalam
    statement SQL anda. Misalnya statement SQL anda seperti ini :





    Select * from barang where vendor_id='V0001'




    Anda bisa menampilkan data barang-barang dari vendor yang lain tanpa harus melakukan modifikasi
    SQL dengan cara menggunakan parameter sebagai inputan untuk kondisi pencarian setelah klausa where.
    Di bawah ini adalah contoh statement SQL dengan satu parameter yang diberi nama vid.





    Select * from barang where vendor_id=:vid



    Ketika Query tersebut dijalankan Microsoft Acess akan menampilkan kotak dialog Parameter, anda hanya
    perlu menginputkan kode vendor pada kotak dialog tersebut.



    ParameterDiaolog.jpg

    Menggabung Beberapa Teks Di Microsoft Excel

    Tuesday, February 5, 2008

    Dalam Membuat sebuah laporan dengan menggunakan Microsoft Excel
    mungkin anda pernah menginginkan agar data atau teks dari beberapa cell bisa
    digabung menjadi satu. sebagai contoh, misalnya anda mempunyai data sebagai berikut :



    Berikut ini adalah caranya :


    Ketik formula dibawah ini di cell yang anda ingin agar data tersebut ditampilkan




    =CONCATENATE(C3;"-";D3)


    Hasilnya :


    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 4

    Sunday, February 3, 2008

    Coding



    Klik kanan pada DataGrid1 pilih Retrieve Fileds untuk memasukan
    field-field dari tabel karyawan ke komponen DataGrid1 secara otomatis.
    Sehingga tampilannya akan seperti gambar dibawah ini :



    Interface2.jpg


    Langkah selanjutnya adalah mengisikan kode program ke dalam masing-masing komponen.
    klik di sembarang tempat di pada komponen Form1 kemudian tekan tombol F7
    ini akan memunculkan "Code Window".
    Isikan beberapa baris kode program berikut pada bagian paling atas sebelum kode Private Sub Form_Load().





    Option Explicit

    Dim koneksi_ado As ADODB.Connection

    Dim rskaryawan As ADODB.Recordset



    Kode diatas mendeklarasikan variabel koneksi_ado sebagai adodb conection dan rskaryawan sebagai adodb recordset.
    Dobel Klik Komponen Form1, kemudian ketik kode berikut :





    Dim SQLStr As String


    Set koneksi_ado = New ADODB.Connection

    Set rskaryawan = New ADODB.Recordset



    koneksi_ado.ConnectionString= & _

    "Provider=Microsoft.Jet.OLEDB.4.0; & _

    Password=;Data Source=" & App.Path & "\sample.mdb" & _
    ";Persist Security Info=True"



    koneksi_ado.Open

    Adodc1.Enabled = True



    SQLStr = "select * from karyawan order by nama"

    rskaryawan.Open SQLStr, koneksi_ado, adOpenDynamic, adLockOptimistic

    DataGrid1.Refresh

    Label1.Caption = "Status :"



    Kode diatas akan dieksekusi pada event form_load sehingga kode diatas akan dieksekusi ketika sebuah aplikasi pertama dijalankan.



    Langkah selanjutnya, mengisikan kode program utama yang akan di picu oleh komponen CommandButton1. Dobel klik CommandButton1, kemudian ketik kode berikut :





    Dim EXCELAPPKU As Excel.Application

    Dim excelbookku As Excel.Workbook

    Dim excelsheetku As Excel.Worksheet



    Dim baris, datake As Integer



    Label1.Caption = "Status : Prosesing Data...."



    Set EXCELAPPKU = New Excel.Application

    Set excelbookku = EXCELAPPKU.Workbooks.Add

    With EXCELAPPKU

    .StandardFontSize = "10"

    End With


    EXCELAPPKU.Visible = True



    Set excelsheetku = excelbookku.Worksheets(1)

    excelsheetku.Select


    Range("A1:C1").Select

    Selection.MergeCells = True

    Selection.HorizontalAlignment = xlCenter

    ActiveCell.FormulaR1C1 = UCase("Data Karyawan")

    Selection.Font.Bold = True

    Selection.Font.Name = "Verdana"



    With excelsheetku

    .Cells(2, 1).Value = "NIK"

    .Cells(2, 2).Value = "Nama"

    .Cells(2, 3).Value = "Jabatan"



    Label1.Caption = "Status : Prosesing Data..."

    baris = 3

    datake = 0



    If Not rskaryawan.BOF Then

    rskaryawan.MoveFirst

    While Not rskaryawan.EOF

    Label1.Caption = "Status : Exporting Data ke " & datake

    Label1.Refresh

    datake = datake + 1

    .Cells(1, 5).Value = "Fetching data ke " & datake

    .Cells(baris, 1) = rskaryawan![NIK]

    .Cells(baris, 2) = rskaryawan![nama]

    .Cells(baris, 3) = rskaryawan![jabatan]

    baris = baris + 1

    rskaryawan.MoveNext

    Wend

    End If

    .Cells(1, 5).ClearContents

    .Columns("A:A").EntireColumn.AutoFit

    .Columns("B:B").EntireColumn.AutoFit

    .Columns("C:C").EntireColumn.AutoFit

    End With

    rskaryawan.Close


    Label1.Caption = "Status : Selesai."

    On Error GoTo 0

    Set excelsheetku = Nothing

    Set excelbookku = Nothing

    EXCELAPPKU.Quit

    MsgBox "Export data selesai", vbInformation, "Informasi"




    Sekarang anda pilih menu Run | Start untuk menjalankan aplikasi. Tekan tombol "Eksport" untuk melihat outputnya.



    Berikut ini gambar aplikasi pada saat runtime :



    runtime.jpg

    Dan gambar dibawah ini adalah gambar hasil outputnya :


    output.jpg


    << Interface Aplikasi dan Database Path (Part 3)

    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 3

    Friday, February 1, 2008

    Interface Aplikasi



    Sekarang kita mulai dengan interface. Tambahkan sebuah CommandButton, DataGrid, Adodc dan sebuah label. Set nilai property masing-masing komponen sesuai dengan gambar dibawah ini :

    component properties.jpg

    Sehingga tampilannya seperti gambar dibawah ini :

    interface.jpg



    Setting Database Path



    Dalam men-set ConnectionString pada komponen adodc kita menggunakan path relative sebagai berikut :

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sample.mdb;Persist Security Info=False" . tidak menggunakan path absolute sebagai berikut :
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ToExcel\sample.mdb;Persist Security Info=False".
    Cara pertama (dengan path relative) akan membuat aplikasi lebih fleksibel. Maksudnya, meskipun aplikasi ini dipindahkan ke folder lain asalkan databasenya (.mdb) juga ditempatkan di folder yang sama dengan aplikasi (.exe) tersebut, aplikasi ini tidak akan mengalami error dan tidak perlu merubah source code dari aplikasi tersebut.





    << Pembuatan Aplikasi (Part 2)
        
    Coding (Part 4) >>

    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 2

    Pembuatan Aplikasi


    Jalankan MS Visual Basic : klik Start Menu | Program | Microsoft Visual Basic 6.0 | Microsoft Visual Basic 6.0. Setelah masuk ke Visual Basic IDE, kita akan melihat window yang mempunyai tiga tab dengan title "New Project".




    VB new project window.jpg



    Pilih "Standard EXE", kemudian akan muncul Project1 – Form1. klik menu File | Save Project As untuk menyimpan project ini. Simpan Form dengan nama FtoExcel.frm dan dengan projectnya dengan nama ExcelExport.vbp.



    Agar visual basic dapat menggunakan library untuk microsoft excel, maka kita harus mengaktifkan Library microsoft excel ini dengan cara : klik menu Project | References. Ini akan memunculkan window "References – Project1". Di dalam window ini terdapat banyak object library yang bisa digunakan untuk visual basic IDE. Kemudian centang object library yang berlabel "Microsoft Excel 11.0 Object Library" atau library "Microsoft Excel 10.0 Object Library" untuk pengguna Microsoft Office 2000 dan "Microsoft Excel 12.0 Object Library" untuk pengguna Microsoft Office 2007.



    Project References.jpg


    Ini akan memberitahukan kepada visual basic bahwa kita akan menggunakan object library dari Microsoft Office Excel 11.0 atau versi microsoft office excel yang anda gunakan.




    << Persiapan (Part 1)    
    Interface dan Setting Database Path (Part 3) >>

    Mengeksport Data ke MS Excel Dengan Visual Basic - Part 1

    Bagi anda para software developer baik itu yang menggunakan database seperti MS Access ataupun database RDBMS seperti MS SQL Server, Oracle, MySQL dll, tentu anda pernah menginginkan agar data anda bisa dieksport ke format MS Excell untuk tujuan lainnya seperti ingin mempercantik format tampilan, sebagai bahan pembuatan laporan dan lain sebagainya. Walaupun ada banyak tool yang tersedia di internet untuk melakukan hal ini, tetapi mungkin saja anda ingin mengintegrasikan kemampuan ini dalam aplikasi yang anda buat.



    dalam artikel ini saya akan sharing salah satu cara untuk mengeksport data ke MS Excel dengan menggunakan kode program di Visual Basic. Adapun versi Visual Basic yang saya gunakan adalah Visual Basic versi 6.0 dan microsoft office yang saya gunakan adalah Microsoft Office 2003 (MS Office 11).



    Persiapan


    Aplikasi ini akan kita gunakan untuk mengeksport data dari database microsoft access. Buat sebuah folder baru di drive C dan beri nama "ToExcel". Kemudian kita akan membuat sebuah database microsoft access langkahnya sebagai berikut : Klik Start Menu | Program | Microsoft Office Access 2003. Setelah masuk ke IDE microsoft access, klik menu File | New. Di menubar sebelah kanan pilih "Blank Database". Kemudian sebuah kotak dialog "File New Database" akan muncul. Simpan file tersebut di folder "ToExcel" yang telah kita buat tadi dan beri nama sample.mdb.



    Buat sebuah tabel dengan struktur data seperti dibawah ini :

    NIK text(10),Nama text(50),Jabatan text(30). Simpan tabel tersebut dan beri nama Karyawan. Kemudian isi beberapa data kedalam table tersebut.



    Pembuatan Aplikasi (Part 2) >>

    Recent Comments

    Tags Cloud

    Blogumulus by Roy Tanck and Amanda Fazani