SQL - Structured Query Language 
SQL singkatan dari Structured Query Language. SQL adalah bahasa komputer yang standart untuk mengakses dan memanipulasi database. Seluruh aplikasi database yang beredar di pasaran, baik yang gratis maupun yang berlisensi, mengadopsi bahasa SQL untuk mengolah databasenya.

Beberapa SQL command atau perintah SQL yang harus diketahui adalah :

• CREATE DATABASE, untuk membuat sebuah database.
• DROP DATABASE, untuk menghapus sebuah database.
• CREATE TABLE, untuk membuat sebuah table.
• ALTER TABLE, untuk memodifikasi sebuah table.
• DROP TABLE, untuk menghapus sebuah table.
• SELECT, untuk menampilkan data dari database.
• UPDATE, untuk memodifikasi data dari database.
• INSERT INTO, untuk menambah data di database.
• DELETE, untuk menghapus data dari database.

Sedangkan perintah SQL untuk tingkat lanjut ada cukup banyak. Command tingkat lanjut ini berguna untuk mengolah data dengan cara yang lebih rumit dan kompleks.

CREATE DATABASE COMMAND

Sebelum bekerja dengan database, anda harus membuat dulu sebuah database yang akan menjadi obyek pekerjaan anda.

Syntaxnya :

CREATE DATABASE database_name

Setelah membuat database dengan command seperti di atas, tidak secara otomatis database anda berisi tabel-tabel. Database anda dalam keadaan kosong. Anda harus membuat tabel-tabel seperti yang akan dijelaskan pada bagian selanjutnya.

DROP DATABASE COMMAND

Jika anda ingin menghapus sebuah database, gunakan perintah berikut ini :

DROP DATABASE database_name

Jika anda menggunakan perintah di atas, maka seluruh database dan tabel yang ada di dalamnya akan terhapus.

Catatan : untuk Access, anda tidak diperbolehkan menggunakan perintah DROP DATABASE. Jika anda menggunakan perintah ini, aplikasi anda akan kacau. Jika anda ingin menghapus database dari Access, anda bisa menghapus file mdb yang telah dibuat oleh Access.

CREATE TABLE COMMAND

Selanjutnya anda dapat membuat table dengan perintah berikut :

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
.......
)

Contohnya :

CREATE TABLE Person
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
)

Anda juga bisa membatasi ukuran masing-masing field utnuk menghasilkan file database yang lebih kecil :

CREATE TABLE Person
(
LastName varchar(30),
FirstName varchar,
Address varchar,
Age int(3)
)

Untuk tipe datanya, anda dapat melihat lagi di bagian pertama materi kuliah ini.

ALTER TABLE COMMAND

Perintah ALTER TABLE dapat anda gunakan jika anda ingin memodifikasi struktur table yang anda buat. Artinya, jika anda ingin menambahkan sebuah atau beberapa field baru dalam tabel yang sudah anda buat, atau anda ingin menghapus satu atau beberapa field yang sudah anda buat, anda dapat menggunakan perintah ini.

Syntaxnya :

Untuk menambah field baru :

ALTER TABLE table_name
ADD column_name datatype (size)

Untuk menghapus field yang sudah ada :

ALTER TABLE table_name
DROP COLUMN column_name

DROP TABLE COMMAND

Untuk menghapus sebuah table, perintahnya seperti berikut ini :

DROP TABLE table_name

Catatan : Perlu diingat, bahwa jika anda menghapus sebuah table, maka seluruh data yang ada di dalamnya akan ikut terhapus.


SELECT COMMAND

Untuk menampilkan data dari sebuah database, anda dapat menggunakan perintah SELECT. Bentuk baku dari perintah ini adalah :

SELECT column_name_1, column_name_2, dst
FROM table_name

Jika anda ingin menampilkan semua data dalam sebuah table tanpa memilih salah satu field, maka anda dapat menggunakan perintah berikut :

SELECT * FROM table_name


SELECT DISTINCT STATEMENT

SELECT DISTINCT Statement digunakan untuk menampilkan data dari satu atau beberapa field (column) dari sebuah tabel. Namun perbedaan antara SELECT dengan SELECT DISTINCT terletak pada hasilnya.

Perhatikan contoh table ORDERS berikut ini :

Company OrderNumber
Sega 3412
W3Schools 2312
Trio 4678
W3Schools 6798

Jika anda menggunakan perintah SELECT seperti ini :

SELECT Company FROM Orders

maka hasil yang didapat akan seperti ini :

Company
Sega
W3Schools
Trio
W3Schools

Tapi jika anda menggunakan perintah SELECT DISTINCT seperti ini :

SELECT DISTINCT Company FROM Orders

Maka hasilnya akan seperti ini :

Company
Sega
W3Schools
Trio

Perhatikan bahwa dengan perintah SELECT, data “W3Schools” akan ditampilkan 2 kali sesuai data yang ada, sedangkan dengan perintah SELECT DISTINCT, maka data “W3Schools” hanya ditampilkan 1 kali. Jadi perintah SELECT DISTINCT tidak akan menghasilkan data yang identik atau kembar.


WHERE CLAUSE

Anda juga dapat menambahkan sebuah kondisi pada perintah SELECT untuk menampilkan data yang lebih spesifik.

Syntax baku dari perintah WHERE adalah :

SELECT column FROM table
WHERE column operator value

di mana operator yang dimaksud adalah :

Operator Description
= Equal
<> atau != Not equal
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
BETWEEN Between an inclusive range
LIKE Search for a pattern

Perhatikan table PERSONS di bawah ini :

LastName FirstName Address City Year
Hansen Ola Timoteivn 10 Sandnes 1951
Svendson Tove Borgvn 23 Sandnes 1978
Svendson Stale Kaivn 18 Sandnes 1980
Pettersen Kari Storgt 20 Stavanger 1960

Jika anda menggunakan perintah SELECT dengan atribut WHERE seperti berikut ini :

SELECT * FROM Persons WHERE City='Sandnes'

Maka hasilnya akan ditampilkan seperti ini :

LastName FirstName Address City Year
Hansen Ola Timoteivn 10 Sandnes 1951
Svendson Tove Borgvn 23 Sandnes 1978
Svendson Stale Kaivn 18 Sandnes 1980

Perhatikan, bahwa yang ditampilkan adalah data yang berasal dari kota “Sandnes” sesuai dengan kondisi yang diberikan pada perintah di atas. Perhatikan untuk tulisan tanda petik (“) yang digunakan, berikut ini penulisan yang benar:

Untuk nilai berupa text :

Syntax yang benar :
SELECT * FROM Persons WHERE FirstName='Tove'

Syntax yang salah :
SELECT * FROM Persons WHERE FirstName=Tove

Untuk nilai berupa angka :

Syntax yang benar :
SELECT * FROM Persons WHERE Year>1965

Syntax yang salah :
SELECT * FROM Persons WHERE Year>'1965'

LIKE CLAUSE

Statemen LIKE dapat anda tambahkan pada perintah SELECT untuk memberikan suatu kondisi yang menyerupai sesuatu.

Syntax bakunya adalah :

SELECT column FROM table_name
WHERE column LIKE conditions

Dalam perintah ini, digunakan tanda “%” untuk menunjukkan sesuatu yang belum diketahui.

Perhatikan contoh berikut ini :

SELECT * FROM Persons
WHERE FirstName LIKE 'O%'

Perintah di atas ini akan menampilkan semua data yang FirstName-nya berawalan dengan huruf “O”.

SELECT * FROM Persons
WHERE FirstName LIKE '%a'

Sedangkan contoh di atas akan menghasilkan semua data yang FirstName-nya berakhiran dengan huruf “a”.

SELECT * FROM Persons
WHERE FirstName LIKE '%la%'

Sedangkan perintah di atas ini akan menghasilkan semua data yang FirstName-nya memiliki huruf “la” di tengahnya.

ORDER BY STATEMENT

Statement ORDER BY digunakan untuk mengurutkan tampilan data berdasarkan satu atau beberapa field secara urut dari awal ke akhir (ascending) atau dari akhir ke awal (descending).

Syntaxnya adalah sebagai berikut :

SELECT column_1, column_2, dst FROM table_name
ORDER BY column_1, column_2, dst ASC/DESC

Atau anda juga dapat menggabungkannya dengan clause yang lain, seperti WHERE dan LIKE seperti berikut ini :

SELECT column_1, column_2, dst FROM table
WHERE column_2 LIKE conditions ORDER BY column_1 ASC

Perhatikan contoh table ORDERS berikut ini :

Company OrderNumber
Sega 3412
ABC Shop 5678
W3Schools 2312
W3Schools 6798

Misalnya anda punya perintah seperti ini :

SELECT Company, OrderNumber FROM Orders
ORDER BY Company

Maka hasilnya akan seperti ini :

Company OrderNumber
ABC Shop 5678
Sega 3412
W3Schools 6798
W3Schools 2312

Perhatikan, bahwa jika anda tidak memberikan tanda ASC atau DESC, maka hasilnya akan ditampilkan secara ASC (urut dari awal ke akhir, atau dari kecil ke besar).

Anda juga dapat menggabungkan beberapa kondisi sekaligus. Perhatikan contoh berikut ini :

SELECT Company, OrderNumber FROM Orders
ORDER BY Company DESC, OrderNumber ASC

Hasilnya akan seperti ini :

Company OrderNumber
W3Schools 2312
W3Schools 6798
Sega 3412
ABC Shop 5678

Perhatikan bahwa hasilnya menunjukkan bahwa di field company akan urut secara descending, dan di field ordernumber akan urut secara ascending.

AND dan OR STATEMENT

Statement AND atau OR dapat digunakan untuk menggabungkan 2 kondisi yang berbeda untuk dijalankan dalam perintah WHERE.

Perhatikan contoh table PERSONS berikut ini :

LastName FirstName Address City
Hansen Ola Timoteivn 10 Sandnes
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes



Misalnya anda mempunyai perintah seperti ini :

SELECT * FROM Persons
WHERE FirstName='Tove'
AND LastName='Svendson'

Maka hasilnya akan seperti ini :

LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes

Atau anda punya contoh perintah seperti ini :

SELECT * FROM Persons
WHERE firstname='Tove'
OR lastname='Svendson'

Maka hasil yang akan ditampilkan adalah seperti ini :

LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes

Anda juga dapat menggabungkan statement AND dan OR secara bersamaan, misalnya :

SELECT * FROM Persons WHERE
(FirstName='Tove' OR FirstName='Stephen')
AND LastName='Svendson'

Maka hasilnya akan seperti ini :

LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes


UPDATE COMMAND

Perintah UPDATE digunakan untuk memodifikasi data (record) yang ada dalam sebuah table.

Syntaxnya :

UPDATE table_name
SET column_name = new_value
WHERE column_name = old_value

Perhatikan contoh table PERSONS berikut ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Ani Storgt 67

Misalnya anda punya perintah seperti ini :

UPDATE Person SET FirstName = 'Nina'
WHERE LastName = 'Rasmussen'

Maka hasilnya adalah seperti ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Storgt 67

Perhatikan bahwa record yang sebelumnya adalah “Ani” berubah menjadi “Nina” setelah perintah dijalankan.


INSERT INTO COMMAND

Perintah INSERT INTO digunakan untuk menambahkan data baru pada sebuah table, bukan untuk memodifikasi data dalam salah satu field saja.

Syntaxnya :

INSERT INTO table_name (column1, column2, dst)
VALUES (column1_value, column2_value, dst)

Perhatikan table PERSONS di bawah ini :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger

Untuk menambahkan data yang baru, anda dapat menggunakan perintah INSERT INTO. Berikut contohnya :

INSERT INTO Persons (LastName, FirstName, Address, City)
VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')

Atau perintah seperti ini :

INSERT INTO Persons
VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')

Perhatikan bahwa karena isi field berupa text, maka value yang ada diberi tanda petik (‘ ‘) yang menandakan text atau string. Hasilnya adalah sebagai berikut :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger
Hetland Camilla Hagabakka 24 Sandnes

Anda juga dapat menambahkan data pada field tertentu saja, namun tetap membuat baris yang baru (bukan mengganti data yang lama).

Perhatikan table PERSONS berikut ini :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger
Hetland Camilla Hagabakka 24 Sandnes




Misalnya anda punya perintah seperti ini :

INSERT INTO Persons (LastName, Address)
VALUES ('Rasmussen', 'Storgt 67')

Maka hasilnya adalah :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger
Hetland Camilla Hagabakka 24 Sandnes
Rasmussen Storgt 67

Perhatikan bahwa data yang baru tidak menggantikan posisi data yang lama, melainkan menempati baris yang baru dengan 2 field yang dikosongkan isinya.


DELETE COMMAND

Perintah DELETE digunakan untuk menghapus data dari sebuah table. Fungsi menghapus ini akan dijalankan berdasarkan kondisi yang diberikan. Karena itu perlu anda ingat untuk selalu memberikan sebuah kondisi agar data yang terhapus benar-benar data yang ingin anda hapus.

Perintah ini tidak bisa menghapus hanya isi field tertentu saja. Seluruh field dalam satu rangkaian baris akan dihapus jika kondisi yang ditetapkan terpenuhi.

Syntaxnya :

DELETE FROM table_name
WHERE column_name = value

Perhatikan contoh table PERSONS berikut ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Stien 12 Stavanger

Misalnya anda punya perintah seperti ini :

DELETE FROM Person WHERE LastName = 'Rasmussen'

Maka hasilnya akan seperti ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger

Perhatikan bahwa seluruh data milik Rasmussen akan dihapus.

Jika anda ingin menghapus semua baris yang ada, anda dapat menggunakan perintah berikut ini :

DELETE FROM table_name
atau
DELETE * FROM table_name

Maka seluruh data dalam table itu akan terhapus semuanya.



[ add comment ]   |  permalink  |   ( 0 / 0 )
Membuat Function Terbilang 
Function Terbilang cukup sering digunakan dalam aplikasi perkantoran. Gunanya adalah menterjemahkan sejumlah pembayaran ke dalam kalimat. Langsung saja, berikut adalah programnya yang ditulis di VBA. Masukkan saja di bagian modul Global agar bisa digunakan dari semua modul.

Public Function Terbilang(x As Currency)
Dim triliun As Currency
Dim milyar As Currency
Dim juta As Currency
Dim ribu As Currency
Dim satu As Currency
Dim sen As Currency
Dim baca As String
If x > 1000000000000# Then
Terbilang = "< More than one zillion US Dollar >"
Exit Function
End If
'Jika x adalah 0, maka dibaca sebagai 0
If x = 0 Then
baca = angka(0, 1)
Else
'Pisah masing-masing bagian untuk triliun, milyar, juta, ribu, rupiah, dan sen
triliun = Int(x * 0.001 ^ 4)
milyar = Int((x - triliun * 1000 ^ 4) * 0.001 ^ 3)
juta = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3) / 1000 ^ 2)
ribu = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2) / 1000)
satu = Int(x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2 - ribu * 1000)
sen = Int((x - Int(x)) * 100)
'Baca bagian triliun dan ditambah akhiran triliun
If triliun > 0 Then
baca = ratus(triliun, 5) + "zillion "
End If
'Baca bagian milyar dan ditambah akhiran milyar
If milyar > 0 Then
baca = ratus(milyar, 4) + "billion "
End If
'Baca bagian juta dan ditambah akhiran juta
If juta > 0 Then
baca = baca + ratus(juta, 3) + "million "
End If
'Baca bagian ribu dan ditambah akhiran ribu
If ribu > 0 Then
baca = baca + ratus(ribu, 2) + "thousand "
End If
'Baca bagian rupiah dan ditambah akhiran rupiah
If satu > 0 Then
baca = baca + ratus(satu, 1) + " US Dollar "
Else
baca = baca + " US Dollar"
End If
'Baca bagian sen dan ditambah akhiran sen
If sen > 0 Then
baca = baca + ratus(sen, 0) + "cent"
End If
End If
Terbilang = UCase(Left(baca, 1)) & UCase(Mid(baca, 2))
End Function

Function ratus(x As Currency, Posisi As Integer) As String
Dim a100 As Integer, a10 As Integer, a1 As Integer
Dim baca As String
a100 = Int(x * 0.01)
a10 = Int((x - a100 * 100) * 0.1)
a1 = Int(x - a100 * 100 - a10 * 10)
'Baca Bagian Ratus
If a100 = 1 Then
baca = "one hundred "
Else
If a100 > 0 Then
baca = angka(a100, Posisi) + "hundred "
End If
End If
'Baca Bagian Puluh dan Satuan
If a10 = 1 Then
baca = baca + angka(a10 * 10 + a1, Posisi)
Else
If a10 > 0 Then
baca = baca + angka(a10 * 10, Posisi)
End If
If a1 = 0 Then
baca = baca + angka(a1 * 10 + a1, Posisi)
End If
If a1 > 0 Then
baca = baca + angka(a1, Posisi)
End If
End If
ratus = baca
End Function

Function angka(x As Integer, Posisi As Integer)
Select Case x
Case 0:
Case 1:
If Posisi <= 1 Or Posisi > 2 Then
angka = "One "
Else
angka = "One "
End If
Case 2: angka = "Two "
Case 3: angka = "Three "
Case 4: angka = "Four "
Case 5: angka = "Five "
Case 6: angka = "Six "
Case 7: angka = "Seven "
Case 8: angka = "Eight "
Case 9: angka = "Nine "
Case 10: angka = "Ten "
Case 11: angka = "Eleven "
Case 12: angka = "Twelve "
Case 13: angka = "Thirteen "
Case 14: angka = "Fourteen "
Case 15: angka = "Fifteen "
Case 16: angka = "Sixteen "
Case 17: angka = "Seventeen "
Case 18: angka = "Eighteen "
Case 19: angka = "Nineteen "
Case 20: angka = "Twenty "
Case 30: angka = "Thirty "
Case 40: angka = "Forty "
Case 50: angka = "Fifty "
Case 60: angka = "Sixty "
Case 70: angka = "Seventy "
Case 80: angka = "Eighty "
Case 90: angka = "Ninety "
End Select
End Function


[ add comment ]   |  permalink  |   ( 0 / 0 )
Koneksi Database Access 
Pada awal belajar Access VBA, mungkin ini yang pertama kali muncul di benak saya. Secara default pada saat kita menjalankan aplikasi Access, maka koneksi terhadap database sudah diciptakan. Namun untuk keperluan tertentu, kita bisa juga menciptakan koneksi database sendiri.

Koneksi database dapat diciptakan dengan perintah
Dim conn As ADODB.Connection

Sedangkan untuk recordsetnya kita pakai perintah
Dim rst As New ADODB.Recordset

Lalu kita atur koneksi agar merujuk pada koneksi database yang digunakan saat ini
Set conn = CurrentProject.Connection

Nah sampai disini, kita dapat mengeksekusi perintah SQL untuk melakukan operasi database, misalnya sebagai berikut:
rst.Open "SELECT * FROM [Nomor Invoice]", conn, adOpenStatic, adLockReadOnly
noinv = rst.Fields("NoInvoiceIuran")
rst1.Open "SELECT * FROM [Invoice Iuran Details] WHERE [No Invoice]='" & strNoInvoice & "'", conn, adOpenStatic, adLockReadOnly


Sebagai catatan, apabila kita terlanjur mendefinisikan nama tabel dengan mengandung spasi, maka kita bisa menambahkan kurung siku untuk mengapit tabel tersebut di dalam SQL Query.


[ add comment ]   |  permalink  |   ( 0 / 0 )
Record Operation di Access 
Sekalipun Access sudah menyediakan wizard dan dengan memanfaatkan wizardnya, kita bisa melakukan operasi record dengan gampang, namun tidak ada salahnya kita review perintah2 VBA untuk melakukan operasi record tersebut:

'perintah untuk menutup form
Private Sub Close_Click()
DoCmd.Close
End Sub

'perintah ini akan merujuk pada record terakhir dr tabel
Private Sub Form_Load()
DoCmd.GoToRecord , , acLast
End Sub

'perintah untuk membuka report dengan filter IDKuitansi
Private Sub Print_Click()
SaveRecord
DoCmd.OpenReport "RKuitansi", acViewPreview, , "[IDKuitansi]=" & Me![IDKuitansi]
DoCmd.Maximize
End Sub

'perintah menambah data
Private Sub cmdAdd_Click()
On Error GoTo Err_cmdAdd_Click

DoCmd.GoToRecord , , acNewRec

Exit_cmdAdd_Click:
Exit Sub

Err_cmdAdd_Click:
MsgBox Err.Description
Resume Exit_cmdAdd_Click

End Sub

'perintah memindah pointer ke record awal
Private Sub cmdFirst_Click()
On Error GoTo Err_cmdFirst_Click

DoCmd.GoToRecord , , acFirst

Exit_cmdFirst_Click:
Exit Sub

Err_cmdFirst_Click:
MsgBox Err.Description
Resume Exit_cmdFirst_Click

End Sub

'perintah memindah pointer ke record sebelumnya
Private Sub cmdPrevious_Click()
On Error GoTo Err_cmdPrevious_Click

DoCmd.GoToRecord , , acPrevious

Exit_cmdPrevious_Click:
Exit Sub

Err_cmdPrevious_Click:
MsgBox Err.Description
Resume Exit_cmdPrevious_Click

End Sub

'perintah memindah pointer ke record selanjutnya
Private Sub cmdNext_Click()
On Error GoTo Err_cmdNext_Click

DoCmd.GoToRecord , , acNext

Exit_cmdNext_Click:
Exit Sub

Err_cmdNext_Click:
MsgBox Err.Description
Resume Exit_cmdNext_Click

End Sub

'perintah memindah pointer ke record akhir
Private Sub cmdLast_Click()
On Error GoTo Err_cmdLast_Click

DoCmd.GoToRecord , , acLast

Exit_cmdLast_Click:
Exit Sub

Err_cmdLast_Click:
MsgBox Err.Description
Resume Exit_cmdLast_Click

End Sub


[ add comment ]   |  permalink  |   ( 0 / 0 )
Link Access 
Berikut adalah link untuk kita yang mau belajar Access Database sampai pemrograman VBAnya. Mungkin tidak banyak, tapi ini adalah suatu permulaan yang bagus

http://www.functionx.com/vbaccess/
http://www.mail-archive.com/belajar-acc ... roups.com/
http://www.access-programmers.co.uk/
http://groups.yahoo.com/group/belajar-access
http://groups.yahoo.com/group/indoprog-access
http://groups.yahoo.com/group/milis-access
http://groups.yahoo.com/group/access-mania
http://groups.yahoo.com/group/MS_Access_Professionals
http://tech.groups.yahoo.com/group/AccessVBACentral/
http://tech.dir.groups.yahoo.com/dir/Co ... oft_Access


[ add comment ]   |  permalink  |   ( 0 / 0 )

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |