Anda di halaman 1dari 34

Pemrograman

DB 20152

#4
D.A.O CONNECT
QUERY DENGAN SELECT
QUERY

 SQL : Structured Query Language


adalah sebuah bahasa yang digunakan untuk mengakses data
dalam basis data relasional.
bahasa standar yang digunakan dalam manajemen basis data
relasional.

 DDL : Data Definition Language


 DCL : Data Control Language
 DML : Data Manipulation Language
DDL

 DDL digunakan untuk mendefinisikan, mengubah,


serta menghapus basis data dan objek-objek yang
diperlukan dalam basis data, misalnya tabel, view,
user, dan sebagainya.
 CREATE untuk membuat objek baru,
 USE untuk menggunakan objek,
 ALTER untuk mengubah objek yang sudah ada, dan
 DROP untuk menghapus objek.

DDL biasanya digunakan oleh administrator basis data


dalam pembuatan sebuah aplikasi basis data.
DCL

 Data Control Language (DCL) adalah jenis instruksi


SQL yang berkaitan dengan manajemen hak akses
dan pengguna (user) yang dapat mengakses database
maupun tabel.
Termasuk diantaranya : GRANT dan REVOKE.
DML

 DML digunakan untuk memanipulasi data yang ada


dalam suatu tabel. Perintah yang umum dilakukan
adalah:
 SELECT untuk menampilkan data
 INSERT untuk menambahkan data baru
 UPDATE untuk mengubah data yang sudah ada
 DELETE untuk menghapus data

Dalam istilah lain, sering disebut sebagai CRUD


Create, Retrieve, Update dan Delete
Query/DML/SQL dalam VB/VBA

 Connection

Interface
DB
SELECT

 Menampilkan isi tabel mahasiswa berikut:

 SELECT [NamaField] FROM [NamaTabel]


WHERE [Kriteria] ORDER BY [NamaField]
[ASC/DESC]
Select *

SELECT * FROM Mahasiswa


Select dengan daftar nama field

SELECT NPM, Nama, Alamat, TanggalLahir,


ProgramStudi, NoTelpon FROM Mahasiswa

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa
Nama NPM ProgramStudi TanggalLahir Alamat NoTelpon
Select dengan gabungan field
dan alias nama field

SELECT Nama, NPM, ProgramStudi, TempatLahir,


TanggalLahir, Alamat, NoTelpon FROM Mahasiswa
Nama NPM ProgramStudi TempatLahir TanggalLahir Alamat NoTelpon
Asep 14001TEP Bandung 12/23/1994 02212345

SELECT Nama, NPM, ProgramStudi,


TempatLahir+’, ‘+TanggalLahir AS TTL,
Alamat, NoTelpon FROM Mahasiswa
Nama NPM ProgramStudi TTL Alamat NoTelpon
Asep 14001TEP Bandung, 12/23/1994 02212345
Select dengan ORDER BY

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa ORDER BY
NPM ASC

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa ORDER BY
ProgramStudi ASC, Nama DESC
Select dengan Kriteria WHERE

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa
WHERE (ProgramStudi = ‘TEP’)

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa
WHERE (NPM >=‘14001’)
Select dengan kriteria gabungan

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa
WHERE (ProgramStudi = ‘TPN’ AND
LEFT(NPM,2)=‘13’))

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa
WHERE (ProgramStudi = ‘TEP’ OR ProgramStudi =
‘TPN’)
Select dengan kriteria dalam group

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa
WHERE (ProgramStudi IN (‘TEP’,’TPN’))

SELECT Nama, NPM, ProgramStudi, TanggalLahir,


Alamat, NoTelpon FROM Mahasiswa
WHERE (ProgramStudi IN (SELECT Kode FROM
TblProdi WHERE Jenjang=‘S1’))
Fungsi dalam Query

String : LEFT, RIGHT, MID


Date : Datediff, Datepart

SELECT Nama, NPM, ProgramStudi, LEFT(NPM,2) AS


Angkatan FROM Mahasiswa
WHERE (LEFT(NPM,2) = ‘14’)

SELECT Nama, NPM, ProgramStudi, ‘20’+LEFT(NPM,2) AS


Angkatan FROM Mahasiswa WHERE (LEFT(NPM,2) = ‘14’)
Fungsi Iif

Iif (Kondisi, KondisiBenar, KondisiSalah) AS Alias

SELECT Nama, NPM, ProgramStudi,


Iif(ProgramStudi=‘TEP’,’Teknik Pertanian’,’Teknologi
Pangan’) AS NamaProdi FROM Mahasiswa
Nama NPM ProgramStudi NamaProdi
Dedi 13013TPN Teknologi Pangan
Asep 14001TEP Teknik Pertanian
Budi 14002TEP Teknik Pertanian
Cecep 14003TPN Teknologi Pangan

bila ada TIN ?


Fungsi Iif dalam Iif

Iif (Kondisi, KondisiBenar, Iif(a..,b..,c..)) AS Alias

SELECT Nama, NPM, ProgramStudi,


Iif(ProgramStudi=‘TEP’,’Teknik Pertanian’,
Iif(ProgramStudi=‘TPN’,’Teknologi Pangan’,
Iif(ProgramStudi=‘TIN’,’Teknologi …’, ‘-’)
)
) AS NamaProdi FROM Mahasiswa
AS sebagai Alias

[NamaField] As Alias
 NPM AS NomorPokok
 ’20’+LEFT(NPM,2) AS Angkatan
 TempatLahir+’, ‘+TanggalLahir AS TTL
 Iif(ProgramStudi=‘TEP’,’Teknik
Pertanian’,’Teknologi Pangan’) AS NamaProdi
Select dengan jumlah baris tertentu

 TOP, BOTTOM
 n baris, n Percent baris

SELECT TOP 10 * FROM Mahasiswa

SELECT BOTTOM 20 Percent Nama, NPM


FROM Mahasiswa
Select dari beberapa Tabel
dengan RELASI

 Skema dalam aplikasi, Perwalian Mahasiswa


1

SELECT with JOIN

SELECT Mahasiswa.NPM, Mahasiswa.Nama,


Mahasiswa.TanggalLahir, Mahasiswa.ProgramStudi,
Mahasiswa.NoTelpon, Dosen.Nama AS
Nama_DosenWali, Dosen.NIP, Dosen.Alamat AS
AlamatDosen FROM Mahasiswa INNER JOIN
Dosen ON Mahasiswa.NIP_Dosen = Dosen.NIP;
Jenis JOIN

 INNER JOIN, matched


 FROM table1 INNER JOIN table2 ON table1.field1 compopr
table2.field2

 LEFT JOIN | RIGHT JOIN


 FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 compopr table2.field2

 compopr: Comparison operator


Any relational comparison operator: "=," "<," ">," "<=," ">=," or "<>"
 OUTER JOIN, tidak ada di MS.Access
SELECT BukuNomor.ID_bukunomor, BukuNomor.nomorbuku,
BukuInduk.Judul_buku, BukuInduk.Pengarang, BukuInduk.Penerbit,
BukuInduk.Tahun_terbit, BukuNomor.Status
FROM BukuInduk INNER JOIN BukuNomor ON
BukuInduk.ID_bukuinduk = BukuNomor.id_bukuinduk;
CONNECTING… DB
DAO, library

 DATA ACCESS OBJECT


DAO merupakan library pada VBA yang dapat
mengakses dan memanipulasi data didalam lokal
maupun server ataupun remote database, kemudian
memanajemen database tersebut, baik data, object
maupun strukturnya

 Object Database, Metode Recordset


 DAO vs ADO
Engine DataBase
Koneksi ke DataBase (1)

Set Database dengan CurrentDb

Private Sub cmdProses_Click()


Dim dbs As Database
Dim strSQL As String

Set dbs = CurrentDb

dbs.Close
End Sub
Koneksi ke DataBase (2)

>> Koneksi dari VBA ke file Access

Dim dbs As DAO.Database


Dim rst As DAO.Recordset
Const NamaDatabase = "M:\Data\Northwind2007.accdb"
strSQL="SELECT " & _
"Company,[Last Name],[First Name] " & _
"FROM Customers "

Set dbs = OpenDatabase(NamaDatabase)



dbs.Close
RecordSet
Dim dbs As Database
Dim rst As Recordset
Dim strSQL As String

Set dbs = CurrentDb

strSQL = "SELECT * FROM Mahasiswa WHERE Angkatan = ‘" &_


tAngkatan & “’”

Set rst = dbs.OpenRecordset(strSQL, dbOpenDynaset)


...
...
rst.Close
dbs.Close
Data RecordSet 1(satu) buah data

If rst.RecordCount > 0 Then


Nama_Mahasiswa = rst!NamaLengkap
NPM_Mahasiswa = rst!NPM
Kota_Mahasiswa = rst!Kota
Propinsi_Mahasiswa = rst!Propinsi
Else
MsgBox "Ada kesalahan ... !!"
End If

rst.Close
Dim rst As RecordSet
---
rst.MoveFirst
rst.MoveLast
rst.MoveNext
rst.BOF
rst.EOF
Penelusuran RecordSet
i = 0
rst.MoveFirst
Do
i = i + 1
strTEKS = i & “-”
For j = 0 To rst.Fields.Count - 1
strTEKS = strTEKS & rst.Fields(j) & “-”
Next j
MsgBox strText
rst.MoveNext
Loop Until rst.EOF

Anda mungkin juga menyukai