Fungsi Spin Text Pada VB.NET
Biasanya teknik ini digunakan oleh para blogger
Tidak perlu berlama-lama lagi, ini kodenya dalam bahasa VB.NET.
Function GetRandomSequence(ByVal sample As String) As String GetRandomSequence = Nothing Try Static R As New Random Dim SB As New System.Text.StringBuilder Dim InSet As Boolean = False Dim Values As New List(Of List(Of String)) Dim CurSet As New List(Of String) For i As Integer = 0 To sample.Length - 1 Select Case sample.Substring(i, 1) Case "{" If Not InSet Then If SB.Length > 0 Then CurSet.Add(SB.ToString) Values.Add(CurSet) CurSet = New List(Of String) SB.Clear() End If InSet = True Else ' Reached an Open Set Marker but we were ALREADY in a Set Return "Duplicate Opening Marker Found: " & sample End If Case "}" If InSet Then If SB.Length > 0 Then CurSet.AddRange(SB.ToString.Split("|")) Values.Add(CurSet) CurSet = New List(Of String) SB.Clear() Else ' Reached a Close Set Marker but NOTHING was BETWEEN the Markers Return "Empty Set Between Markers Found: " & sample End If InSet = False Else ' Reached a Close Set Marker but we were NOT in a Set Return "Missing Opening Marker: " & sample End If Case Else SB.Append(sample.Substring(i, 1)) End Select Next If SB.Length > 0 Then If Not InSet Then CurSet.Add(SB.ToString) Values.Add(CurSet) Else ' End of Sample Reached and Set was NOT closed Return "Missing Closing Marker: " & sample End If End If Dim output As New List(Of String) For Each valueSet As List(Of String) In Values output.Add(valueSet(R.Next(0, valueSet.Count))) Next Return String.Join("", output.ToArray) Catch ex As Exception Debug.Print(Date.Now & " GetRandomSequence error " & ex.Message) End Try End FunctionCara pakainya, kalimat yang mau di spin katanya harus diapit oleh tanda { dan }. Jadi {kata 1|kata 2|kata 3|kata ...}.
Contohnya
Dijual {cepat|BU|Butuh Uang}, Rumah {LB:36m|Luas Bangunan 36m|Tipe 36} {LT:50m|luas tanah 50m} Harga {Murah|Nego|Bersahabat}
Nanti fungsi di atas bisa membuat variasi kalimat seperti di bawah ini:
- Dijual cepat, Rumah Tipe 36 LT:50m Harga Nego
- Dijual BU, Rumah LB:36m Luas tanah 50m Harga Murah
- Dijual Butuh Uang, Rumah Luas Bangunan 36m LT: 50m Harga bersahabat
- dst
OK sekarang ke bagian kedua. Bagaimana bila Anda ingin membuat kalimat tersebut lebih unik lagi? Salah satu caranya adalah dengan menambahkan tanda { dan } di dalam { dan }. Hal ini biasanya disebut dengan nested spin.
Contohnya
Dijual {cepat|BU|Butuh Uang}, Rumah {{LB|Luas Bangunan}:36{m|m2|meter persegi}|{LB|Luas Bangunan} 36{m|m2|meter persegi}|Tipe 36} {LT:50m|luas tanah 50m} Harga {Murah|Nego|Bersahabat}.
Bila Anda memakai fungsi di atas, maka tidak akan berhasil dan akan keluar pesan error:
Duplicate Opening Marker Found
Lalu bagaimana cara menyiasatinya?
Gunakan kode di bawah ini, tetapi kode ini tidak memusingkan soal performa ya..
Imports System.Text.RegularExpressions Private rand As New Random() Function RandomReplacement(ByVal m As Match) As String Dim matchedText As String = m.Value.Substring(1, m.Value.Length - 2) ' Skip { and } Dim delimiter() As Char = {"|"c} Dim choices() As String = matchedText.Split(delimiter) Dim randomIndex As Integer = rand.Next(choices.Length) Return choices(randomIndex) End Function Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim pattern As String = "\{[^{}]*\}" ' Any set of braces that do not contain other braces Dim m As Match = Regex.Match(TextBox1.Text, pattern) Dim result As String = TextBox1.Text While m.Success result = Regex.Replace(result, pattern, AddressOf RandomReplacement) m = Regex.Match(result, pattern) End While Label1.Text = result End SubKode kedua, memakai fungsi regex untuk memanipulasi string. Nanti kalau ada waktu saya akan membahas tentang regex ini. Jadi sampai jumpa di artikel berikutnya.
Menggunakan Background Worker
Apakah anda pernah membuat program dari VB.NET lalu program tersebut tiba-tiba freeze / not responding dikarenakan program tersebut sedang memproses sebuah task?
Di sinilah thread harus digunakan agar kita bisa memonitor proses pekerjaan sekaligus membuat program kita lebih baik.
Dalam VB.NET ada beberapa cara menggunakan threading. Tapi hal yang paling mudah adalah menggunakan salah satu komponen dari VB.NET dari background worker.
Dengan menggunakan background worker kita dengan mudah membuat, membatalkan, dan melihat proses sebuah thread.
Pertama masukan komponen background worker ke project.
Untuk proses yang akan dijalankan oleh background worker, masukan kodenya di prosedur Do_Work.
Anda bisa membuat prosedur ini dengan cara mengklik dua kali komponen background worker-nya.
Untuk melacak prosesnya masukan kode di bawah ini di dalam prosedur ProgressChanged
pb yang saya tulis itu adalah komponen progressbar yang saya beri nama pb dengan maximum valuenya 100.
Bila telah selesai seluruh tugas maka secara otomatis RunWorkerCompleted akan dieksekusi.
Tapi ketika bekerja dengan komponen background worker ini, ternyata kita tidak bisa memperbaharui tampilan pada komponen pada form. Contohnya anda tidak dapat melakukan hal seperti di bawah ini pada program anda.
Intinya anda bisa melakukan proses yang tidak melibatkan proses layout. Tapi kadang-kadang hal ini bisa menjadi masalah.
Lalu bagaimana cara agar kita bisa melakukan update ketika proses pada DoWork berjalan? Kita harus menambahkan sebuah prosedur untuk merefresh tampilan. Kodenya adalah seperti di bawah ini.
Dengan kode di atas maka merefresh tampilan tidak akan menjadi masalah.
Untuk membatalkan proses thread ini, silakan panggil metode CancelAsync.
Sebagai contoh saya telah membuat form dengan beberapa komponen di dalamnya,
Kodenya adalah seperti berikut ini.
Semoga artikel kali ini berguna bila anda ingin menggunakan thread dengan cara mudah.
Di sinilah thread harus digunakan agar kita bisa memonitor proses pekerjaan sekaligus membuat program kita lebih baik.
Dalam VB.NET ada beberapa cara menggunakan threading. Tapi hal yang paling mudah adalah menggunakan salah satu komponen dari VB.NET dari background worker.
Dengan menggunakan background worker kita dengan mudah membuat, membatalkan, dan melihat proses sebuah thread.
Pertama masukan komponen background worker ke project.
Ubah properties dari background worker seperti di bawah ini.
Untuk menjalankan background worker ini, cukup panggil kode di bawah ini.
bw1.RunWorkerAsync()
Untuk proses yang akan dijalankan oleh background worker, masukan kodenya di prosedur Do_Work.
Private Sub bw1_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles bw1.DoWork 'letakan kode anda di sini If bw1.CancellationPending Then bw1.ReportProgress(CInt(100 * i / jumlahproses)) Exit For End If End Sub
Anda bisa membuat prosedur ini dengan cara mengklik dua kali komponen background worker-nya.
Untuk melacak prosesnya masukan kode di bawah ini di dalam prosedur ProgressChanged
Private Sub bw1_ProgressChanged(sender As Object, e As ComponentModel.ProgressChangedEventArgs) Handles bw1.ProgressChanged Me.pb.Value = e.ProgressPercentage Me.Text = "Progress (" & e.ProgressPercentage.ToString & "% complete)" End Sub
pb yang saya tulis itu adalah komponen progressbar yang saya beri nama pb dengan maximum valuenya 100.
Bila telah selesai seluruh tugas maka secara otomatis RunWorkerCompleted akan dieksekusi.
Private Sub bw1_RunWorkerCompleted(sender As Object, e As ComponentModel.RunWorkerCompletedEventArgs) Handles bw1.RunWorkerCompleted pb.Value = 0 End Sub
Tapi ketika bekerja dengan komponen background worker ini, ternyata kita tidak bisa memperbaharui tampilan pada komponen pada form. Contohnya anda tidak dapat melakukan hal seperti di bawah ini pada program anda.
Private Sub bw1_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles bw1.DoWork i += 1 label1.text = i End Sub
Intinya anda bisa melakukan proses yang tidak melibatkan proses layout. Tapi kadang-kadang hal ini bisa menjadi masalah.
Lalu bagaimana cara agar kita bisa melakukan update ketika proses pada DoWork berjalan? Kita harus menambahkan sebuah prosedur untuk merefresh tampilan. Kodenya adalah seperti di bawah ini.
Delegate Sub perbaharuiTampilannya(nilai As Integer) Private Sub perbaharuiTampilan(nilai As Integer) If Me.InvokeRequired Then Me.Invoke(New perbaharuiTampilannya(AddressOf perbaharuiTampilan), nilai) Else label1.text = nilai End If End Sub Private Sub bw1_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles bw1.DoWork For i=0 to 10 'panggil kode ini untuk mengupdate proses bw1.ReportProgress(CInt(100 * i / 10)) 'silakan panggil nama prosedurnya ketika akan mengupdate perbaharuiTampilan(i) Threading.Thread.Sleep(1000) Next i End Sub
Dengan kode di atas maka merefresh tampilan tidak akan menjadi masalah.
Untuk membatalkan proses thread ini, silakan panggil metode CancelAsync.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If Button1.Text = "Start" Then Button1.Text = "Cancel" bw1.RunWorkerAsync() ElseIf Button1.Text = "Cancel" Then Button1.Text = "Start" bw1.CancelAsync() End If End Sub
Sebagai contoh saya telah membuat form dengan beberapa komponen di dalamnya,
Public Class Form1 Private Sub bw1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bw1.DoWork For i = 0 To 10 'panggil kode ini untuk mengupdate proses bw1.ReportProgress(CInt(100 * i / 10)) 'silakan panggil nama prosedurnya ketika akan mengupdate perbaharuiTampilan(i) Threading.Thread.Sleep(1000) If bw1.CancellationPending Then bw1.ReportProgress(CInt(100 * i / 10)) Exit For End If Next i End Sub Private Sub bw1_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles bw1.ProgressChanged Me.pb.Value = e.ProgressPercentage Me.Text = "Progress (" & e.ProgressPercentage.ToString & "% complete)" End Sub Private Sub bw1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bw1.RunWorkerCompleted MsgBox("Done") Button1.Text = "Start" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If Button1.Text = "Start" Then Button1.Text = "Cancel" bw1.RunWorkerAsync() ElseIf Button1.Text = "Cancel" Then Button1.Text = "Start" bw1.CancelAsync() End If End Sub Delegate Sub perbaharuiTampilannya(nilai As Integer) Private Sub perbaharuiTampilan(nilai As Integer) If Me.InvokeRequired Then Me.Invoke(New perbaharuiTampilannya(AddressOf perbaharuiTampilan), nilai) Else label1.text = nilai End If End Sub End Class
Semoga artikel kali ini berguna bila anda ingin menggunakan thread dengan cara mudah.
Cara Mengolah Data JSON dengan VB NET
Kadangkala kita harus mengelola data yang mempunyai format JSON. Tidak mudah memang untuk mengolahnya karena biasanya kalau bagi yang baru berurusan dengan JSON, pusing rasanya. Apalagi di MSDN VB.NET, dokumentasinya tidak terlalu banyak.
Dalam pemograman PHP, ada sebuah fungsi untuk menguraikan data dari JSON ini, tapi bagaimana dengan VB.NET?
Menurut rumornya, VB.NET juga menyediakan fungsi ini tapi banyak kekurangannya. Saya tidak akan membahas kekurangannya karena saya rasa yang terpenting, tugas yang berikan pada kamu untuk mengelola data JSON selesai.
Kali ini saya akan memberikan kode bagaimana menguraikan JSON dengan menggunakan Newtonsoft library. Silakan lihat cara menginstal library ini ke VB.NET di sini.
Salah satu keuntungan dari Newtonsoft ini adalah anda akan dimudahkan untuk membereskan data dengan format JSON. Perhatikan contoh berikut ini.
Yup semudah dan sesederhana itu kode untuk mengolah data JSON dengan menggunakan Newtonsoft library. :D
Intinya kamu harus mengerti format JSON itu sendiri. Ketika kamu ingin menemukan pola JSON yang dipakai, berikan breakline pada setiap data JSON agar mudah dibaca.
Gunakan notepad++ agar memudahkan kamu untuk melihat polanya.
Apakah sudah masalahnya di sini?
Belum teman. Kode di atas tidak bisa digunakan mengakses JSON yang memiliki penutup '[' dan ']'. JSON juga bisa dibuat dengan menggunakan format array jadi kode VB NETnya juga harus memakai array. Jadi kalau kamu menemukan kode JSON dengan kode '[' dan ']', silakan gunakan kode di bawah ini.
Coba lihat, dalam kode diatas saya menggunakan index untuk mengakses nilai yang ada di braket '[' dan ']'.
Mudah-mudahan kamu tidak kesulitan ketika berurusan dengan JSON.
Oke saya akhiri saja sampai di sini. Kalau ada pertanyaan silakan beri komentar di bawah ini. Sampai jumpa di artikel berikutnya.
Dalam pemograman PHP, ada sebuah fungsi untuk menguraikan data dari JSON ini, tapi bagaimana dengan VB.NET?
Menurut rumornya, VB.NET juga menyediakan fungsi ini tapi banyak kekurangannya. Saya tidak akan membahas kekurangannya karena saya rasa yang terpenting, tugas yang berikan pada kamu untuk mengelola data JSON selesai.
Kali ini saya akan memberikan kode bagaimana menguraikan JSON dengan menggunakan Newtonsoft library. Silakan lihat cara menginstal library ini ke VB.NET di sini.
Salah satu keuntungan dari Newtonsoft ini adalah anda akan dimudahkan untuk membereskan data dengan format JSON. Perhatikan contoh berikut ini.
Dim jsontext As String = "{"meta":{"code":200},"data":[{"username":"wallsticker_mv","bio":"wallstiker murah\nlokasi jakarta\nno cancel\nmaaf bila bertanya di IG tidak respont\nfor order:\nsms:0858 1723 1088\nline :wallstiker_mv","website":"","profile_picture":"http:\/\/photos-c.ak.instagram.com\/hphotos-ak-xap1\/928032_1482822948662954_433465877_a.jpg","full_name":"","id":"1520060215"}]}" Dim readingJson = Newtonsoft.Json.Linq.JObject.Parse(jsontext) dim meta, username, bio as String With readingJson meta = .Item("meta")("code").ToString 'akan menghasilkan nilai 200 username = .Item("data")("username").ToString 'akan menghasilkan nilai wallsticker_mv bio = .Item("data")("id").ToString 'akan menghasilkan nilai 1520060215 End With
Yup semudah dan sesederhana itu kode untuk mengolah data JSON dengan menggunakan Newtonsoft library. :D
Intinya kamu harus mengerti format JSON itu sendiri. Ketika kamu ingin menemukan pola JSON yang dipakai, berikan breakline pada setiap data JSON agar mudah dibaca.
{"meta":{"code":200}, "data":[ {"username":"wallsticker_mv", "bio":"wallstiker murah\nlokasi jakarta\nno cancel\nmaaf bila bertanya di IG tidak respont\nfor order:\nsms:0858 1723 1088\nline :wallstiker_mv", "website":"", "profile_picture":"http:\/\/facebook.com\/hphotos-ak-xap1\/928032_1482822948662954_433465877_a.jpg", "full_name":"", "id":"1520060215"}] }
Gunakan notepad++ agar memudahkan kamu untuk melihat polanya.
Apakah sudah masalahnya di sini?
Belum teman. Kode di atas tidak bisa digunakan mengakses JSON yang memiliki penutup '[' dan ']'. JSON juga bisa dibuat dengan menggunakan format array jadi kode VB NETnya juga harus memakai array. Jadi kalau kamu menemukan kode JSON dengan kode '[' dan ']', silakan gunakan kode di bawah ini.
Dim jsontext as String = "{"meta":{"code":200},"data":[{"username":"wallsticker_mv","bio":"wallstiker murah\nlokasi jakarta\nno cancel\nmaaf bila bertanya di IG tidak respont\nfor order:\nsms:0858 1723 1088\nline :wallstiker_mv","website":"","profile_picture":"http:\/\/facebook.com\/hphotos-ak-xap1\/928032_1482822948662954_433465877_a.jpg","full_name":"","id":"1520060215"}]}" Dim readingJson = Newtonsoft.Json.Linq.JObject.Parse(jsontext) MsgBox("User ID for this user is " & readingJson.SelectToken("data[0].id").ToString)
Coba lihat, dalam kode diatas saya menggunakan index untuk mengakses nilai yang ada di braket '[' dan ']'.
Mudah-mudahan kamu tidak kesulitan ketika berurusan dengan JSON.
Oke saya akhiri saja sampai di sini. Kalau ada pertanyaan silakan beri komentar di bawah ini. Sampai jumpa di artikel berikutnya.
Membuat Menu Pada DataGridView
Seperti yang kita ketahui bahwa tabel pada VB.NET menyimpan banyak fitur yang bisa kita pakai dan salah satunya adalah dengan menambahkan menu ketika DataGridView tersebut mendapatkan event klik kanan dari mouse.
Caranya mudah, yang penting anda sudah memasukan objek DataGridView dan ContentMenuStript, lalu masukan kode di bawah ini pada event CellMouseClick pada DataGridView yang anda pakai.
Caranya mudah, yang penting anda sudah memasukan objek DataGridView dan ContentMenuStript, lalu masukan kode di bawah ini pada event CellMouseClick pada DataGridView yang anda pakai.
Private Sub DataGridView1_CellMouseClick(sender As Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles tblData.CellMouseClick 'pastikan DataGridView1 tersebut sudah ada datanya dan baris dalam DataGridView1 sudah terpilih If DataGridView1.RowCount > 0 AndAlso e.RowIndex > -1 Then If e.Button = Windows.Forms.MouseButtons.Right Then ContentMenuStrip1.Show(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y) End If End If End Sub
Export data dari DataGridView ke file CSV
Tabel merupakan salah satu komponen yang sangat berguna dalam menampilkan data. Adakalanya mengharuskan kita mengambil data dari DataGridView tersebut ke sebuah format yang berbeda seperti CSV.
Berikut script untuk mengexport data dari DataGridView ke CSV.
Berikut script untuk mengexport data dari DataGridView ke CSV.
Private Sub exportCSV() 'test to see if the DataGridView has any rows If tblData.RowCount > 0 Then Dim value As String = "" Dim dr As New DataGridViewRow() Dim swOut As New StreamWriter("d:\test.csv") 'write header rows to csv For i As Integer = 0 To tblData.Columns.Count - 1 If i > 0 Then swOut.Write(",") End If swOut.Write(tblData.Columns(i).HeaderText) Next swOut.WriteLine() 'write DataGridView rows to csv For j As Integer = 0 To tblData.Rows.Count - 1 If j > 0 Then swOut.WriteLine() End If dr = tblData.Rows(j) For i As Integer = 0 To tblData.Columns.Count - 1 If i > 0 Then swOut.Write(",") End If value = dr.Cells(i).Value.ToString() 'replace comma's with spaces value = value.Replace(","c, " "c) 'replace embedded newlines with spaces value = value.Replace(Environment.NewLine, " ") swOut.Write(value) Next Next swOut.Close() End If End Sub
Cara Menginstal JSON.NET Library
JSON (JavaScript Object Notation) merupakan salah satu cara untuk menampilkan data seperti XML tapi lebih ringan karena tidak memerlukan tag seperti pada XML.
Nah kali ini saya mendapatkan tantangan bagaimana cara mengelola data yang mempunyai format JSON. Terus terang sih agak pusing bacanya karena seringkali data JSON yang diberikan tidak ada breakline.
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
Terus setelah itu saya mencarinya di Google dan banyak banget yang menyarankan memakai library JSON.NET.
Walaupun pada versi .NET terbaru, Microsoftnya sudah menyediakan fitur tersebut tapi menurut komentar yang saya baca dan pembuatnya bilang, JSON.NET ini lebih cepat dalam memprosesnya daripada bawaannya Microsoft.
Saya memakai Visual Basic Express 2010 ketika akan mencobanya. Penggunanya diharuskan memasukan library tersebut ke VB.NET.
Setelah saya menunduh file JSON memakai link di atas dan akan menjalankan program bernama NuGet, saya mendapatkan masalah seperti ini:
Package restore is disabled by default. To give consent, open the Visual Studio Options dialog, click on Package Manager node and check 'Allow NuGet to download missing packages during build.' You can also give consent by setting the environment variable 'EnableNuGetPackageRestore' to 'true'.Yang jadi masalah adalah ketika saya akan menginstallnya VB express, tidak ada Visual Studio Options. Kalau untuk versi pro, secara default pilihan ini memang ada.
Lalu saya juga mencoba menginstall NuGet package manager dengan mengakses menu pada VB.NET
Tools » Extension Manager.
Di sana saya ketikan kata NuGet dan akhirnya saya mendapatkan installer untuk NuGet.
Yang jadi masalah bagaimana memasukan library JSON.NETnya karena menurut tutorial yang saya dapat, setelah menginstall NuGet, kita bisa install JSON.NET melalui NuGet Package Installer.
Begitu pula bagaimana mengakses NuGet Package Installer selain dari Visual Studio Options?
Setelah beberapa jam mencari cara bagaimana cara menginstallnya di VB Express, ternyata seperti yang ada di dokumentasi NuGet, NuGet Package Installer itu tidak bisa di install dalam VB 2010 Express.
For Visual Studio 2010, NuGet is available through the Visual Studio Extension Manager. The extension can be installed into the Professional, Premium, and Ultimate editions. Additionally, the extension can be installed into Visual Web Developer 2010 Express.Setelah mencari lagi ternyata kita bisa membuka project VB di dalam VWD 2010 Express agar library ini dapat dipakai di dalam project.
Awalnya saya tidak menginstall VWD 2010 Express karena saya jarang memakainya tapi mau tidak mau saya harus menginstall VWD 2010 Express agar bisa menggunakan JSON.NET.
Beberapa menit telah berlalu dan akhirnya VWD 2010 Express telah terinstall. Seperti cara diatas saya mencoba kembali menginstall NuGet Package Installer melalui Tools » Extension Manager
Ternyata ketika mengetikan kata NuGet, hasilnya didapat memang berbeda. NuGet yang saya dapatkan adalah NuGet Package Manager, bukan NuGet Packager.
Langkah -langkah setelah NuGet Package Manager terinstall adalah
1. Merestart VWD 2010 Express.
2. Buka project VB ke dalam VWD 2010 Express.
3. Klik kanan pada Solution Explorer lalu pilih Manage NuGet Packages...
4. Akhir paket JSON.NET siap diinstal. :)
5. Save project lalu buka kembali memakai Visual Basic Express 2010.
Sebenarnya ada 1 lagi caranya memasukan JSON.NET langsung dari Visual Basic Express 2010 tanpa memakai VWD 2010 Express.
Caranya adalah sebagai berikut:
1. Buka project lalu klik kanan nama project dalam Solution Explorer.
2. Pilih Add Reference...
3. Pada tab Browse cari Newtonsoft.Json.dll
4. Klik OK untuk memasukan library JSON.NET
Semoga tutorial ini berguna bagi anda yang ingin menggunakan JSON.NET library.
Kode ASCII Untuk Setiap Karakter
Apa itu kode ASCII? Kalau dari Wikipedia sih kepanjangannya adalah American Standard Code for Information Interchange. Kalau mau tahu lebih jauh tentang apa itu ASCII silakan klik di sini. (Tenang pakai bahasa Indonesia kok dengan EDY)
Terus apa gunanya ASCII?
Yang saya tahu kode ASCII ini digunakan pada saat membuat program. Contoh gampangnya:
» Bagaimana caranya kita memasukan fungsi "enter" / "Del" secara programming tetapi fungsi "enter" / "Del" itu sendiri tidak ada simbolnya?
Terus apa gunanya ASCII?
Yang saya tahu kode ASCII ini digunakan pada saat membuat program. Contoh gampangnya:
» Bagaimana caranya kita memasukan fungsi "enter" / "Del" secara programming tetapi fungsi "enter" / "Del" itu sendiri tidak ada simbolnya?
» Bagaimana caranya memasukan kode yang tidak ada di keyboard komputer kita, contohnya tanda "»", "£", "á", "≥", dst?
Untuk jawaban kedua, kalau dulu saya pikir yang tinggal copas (copy paste) saja selesai tapi untuk menjawab persoalan pertama, tidak bisa dicopas.
Nah disinilah kode ASCII diperlukan.
Kode ASCII untuk kontrol karakter (seperti tombol "enter", "delete", "backspace", dan lain-lain)
Kode ASCII untuk simbol yang bisa dicetak seperti a,b, c, d, 1, 2, 3, dst
Kode ASCII tambahan mengenai simbol-simbol
Untuk jawaban kedua, kalau dulu saya pikir yang tinggal copas (copy paste) saja selesai tapi untuk menjawab persoalan pertama, tidak bisa dicopas.
Nah disinilah kode ASCII diperlukan.
DEC | OCT | HEX | BIN | Symbol | HTML Number | HTML Name | Description |
0 | 000 | 00 | 00000000 | NUL | � | Null char | |
1 | 001 | 01 | 00000001 | SOH |  | Start of Heading | |
2 | 002 | 02 | 00000010 | STX |  | Start of Text | |
3 | 003 | 03 | 00000011 | ETX |  | End of Text | |
4 | 004 | 04 | 00000100 | EOT |  | End of Transmission | |
5 | 005 | 05 | 00000101 | ENQ |  | Enquiry | |
6 | 006 | 06 | 00000110 | ACK |  | Acknowledgment | |
7 | 007 | 07 | 00000111 | BEL |  | Bell | |
8 | 010 | 08 | 00001000 | BS |  | Back Space | |
9 | 011 | 09 | 00001001 | HT | 	 | Horizontal Tab | |
10 | 012 | 0A | 00001010 | LF | 
 | Line Feed | |
11 | 013 | 0B | 00001011 | VT |  | Vertical Tab | |
12 | 014 | 0C | 00001100 | FF |  | Form Feed | |
13 | 015 | 0D | 00001101 | CR | 
 | Carriage Return | |
14 | 016 | 0E | 00001110 | SO |  | Shift Out / X-On | |
15 | 017 | 0F | 00001111 | SI |  | Shift In / X-Off | |
16 | 020 | 10 | 00010000 | DLE |  | Data Line Escape | |
17 | 021 | 11 | 00010001 | DC1 |  | Device Control 1 (oft. XON) | |
18 | 022 | 12 | 00010010 | DC2 |  | Device Control 2 | |
19 | 023 | 13 | 00010011 | DC3 |  | Device Control 3 (oft. XOFF) | |
20 | 024 | 14 | 00010100 | DC4 |  | Device Control 4 | |
21 | 025 | 15 | 00010101 | NAK |  | Negative Acknowledgement | |
22 | 026 | 16 | 00010110 | SYN |  | Synchronous Idle | |
23 | 027 | 17 | 00010111 | ETB |  | End of Transmit Block | |
24 | 030 | 18 | 00011000 | CAN |  | Cancel | |
25 | 031 | 19 | 00011001 | EM |  | End of Medium | |
26 | 032 | 1A | 00011010 | SUB |  | Substitute | |
27 | 033 | 1B | 00011011 | ESC |  | Escape | |
28 | 034 | 1C | 00011100 | FS |  | File Separator | |
29 | 035 | 1D | 00011101 | GS |  | Group Separator | |
30 | 036 | 1E | 00011110 | RS |  | Record Separator | |
31 | 037 | 1F | 00011111 | US |  | Unit Separator |
Kode ASCII untuk simbol yang bisa dicetak seperti a,b, c, d, 1, 2, 3, dst
DEC | OCT | HEX | BIN | Symbol | HTML Number | HTML Name | Description |
32 | 040 | 20 | 00100000 |   | Space | ||
33 | 041 | 21 | 00100001 | ! | ! | Exclamation mark | |
34 | 042 | 22 | 00100010 | " | " | " | Double quotes (or speech marks) |
35 | 043 | 23 | 00100011 | # | # | Number | |
36 | 044 | 24 | 00100100 | $ | $ | Dollar | |
37 | 045 | 25 | 00100101 | % | % | Procenttecken | |
38 | 046 | 26 | 00100110 | & | & | & | Ampersand |
39 | 047 | 27 | 00100111 | ' | ' | Single quote | |
40 | 050 | 28 | 00101000 | ( | ( | Open parenthesis (or open bracket) | |
41 | 051 | 29 | 00101001 | ) | ) | Close parenthesis (or close bracket) | |
42 | 052 | 2A | 00101010 | * | * | Asterisk | |
43 | 053 | 2B | 00101011 | + | + | Plus | |
44 | 054 | 2C | 00101100 | , | , | Comma | |
45 | 055 | 2D | 00101101 | - | - | Hyphen | |
46 | 056 | 2E | 00101110 | . | . | Period, dot or full stop | |
47 | 057 | 2F | 00101111 | / | / | Slash or divide | |
48 | 060 | 30 | 00110000 | 0 | 0 | Zero | |
49 | 061 | 31 | 00110001 | 1 | 1 | One | |
50 | 062 | 32 | 00110010 | 2 | 2 | Two | |
51 | 063 | 33 | 00110011 | 3 | 3 | Three | |
52 | 064 | 34 | 00110100 | 4 | 4 | Four | |
53 | 065 | 35 | 00110101 | 5 | 5 | Five | |
54 | 066 | 36 | 00110110 | 6 | 6 | Six | |
55 | 067 | 37 | 00110111 | 7 | 7 | Seven | |
56 | 070 | 38 | 00111000 | 8 | 8 | Eight | |
57 | 071 | 39 | 00111001 | 9 | 9 | Nine | |
58 | 072 | 3A | 00111010 | : | : | Colon | |
59 | 073 | 3B | 00111011 | ; | ; | Semicolon | |
60 | 074 | 3C | 00111100 | < | < | < | Less than (or open angled bracket) |
61 | 075 | 3D | 00111101 | = | = | Equals | |
62 | 076 | 3E | 00111110 | > | > | > | Greater than (or close angled bracket) |
63 | 077 | 3F | 00111111 | ? | ? | Question mark | |
64 | 100 | 40 | 01000000 | @ | @ | At symbol | |
65 | 101 | 41 | 01000001 | A | A | Uppercase A | |
66 | 102 | 42 | 01000010 | B | B | Uppercase B | |
67 | 103 | 43 | 01000011 | C | C | Uppercase C | |
68 | 104 | 44 | 01000100 | D | D | Uppercase D | |
69 | 105 | 45 | 01000101 | E | E | Uppercase E | |
70 | 106 | 46 | 01000110 | F | F | Uppercase F | |
71 | 107 | 47 | 01000111 | G | G | Uppercase G | |
72 | 110 | 48 | 01001000 | H | H | Uppercase H | |
73 | 111 | 49 | 01001001 | I | I | Uppercase I | |
74 | 112 | 4A | 01001010 | J | J | Uppercase J | |
75 | 113 | 4B | 01001011 | K | K | Uppercase K | |
76 | 114 | 4C | 01001100 | L | L | Uppercase L | |
77 | 115 | 4D | 01001101 | M | M | Uppercase M | |
78 | 116 | 4E | 01001110 | N | N | Uppercase N | |
79 | 117 | 4F | 01001111 | O | O | Uppercase O | |
80 | 120 | 50 | 01010000 | P | P | Uppercase P | |
81 | 121 | 51 | 01010001 | Q | Q | Uppercase Q | |
82 | 122 | 52 | 01010010 | R | R | Uppercase R | |
83 | 123 | 53 | 01010011 | S | S | Uppercase S | |
84 | 124 | 54 | 01010100 | T | T | Uppercase T | |
85 | 125 | 55 | 01010101 | U | U | Uppercase U | |
86 | 126 | 56 | 01010110 | V | V | Uppercase V | |
87 | 127 | 57 | 01010111 | W | W | Uppercase W | |
88 | 130 | 58 | 01011000 | X | X | Uppercase X | |
89 | 131 | 59 | 01011001 | Y | Y | Uppercase Y | |
90 | 132 | 5A | 01011010 | Z | Z | Uppercase Z | |
91 | 133 | 5B | 01011011 | [ | [ | Opening bracket | |
92 | 134 | 5C | 01011100 | \ | \ | Backslash | |
93 | 135 | 5D | 01011101 | ] | ] | Closing bracket | |
94 | 136 | 5E | 01011110 | ^ | ^ | Caret - circumflex | |
95 | 137 | 5F | 01011111 | _ | _ | Underscore | |
96 | 140 | 60 | 01100000 | ` | ` | Grave accent | |
97 | 141 | 61 | 01100001 | a | a | Lowercase a | |
98 | 142 | 62 | 01100010 | b | b | Lowercase b | |
99 | 143 | 63 | 01100011 | c | c | Lowercase c | |
100 | 144 | 64 | 01100100 | d | d | Lowercase d | |
101 | 145 | 65 | 01100101 | e | e | Lowercase e | |
102 | 146 | 66 | 01100110 | f | f | Lowercase f | |
103 | 147 | 67 | 01100111 | g | g | Lowercase g | |
104 | 150 | 68 | 01101000 | h | h | Lowercase h | |
105 | 151 | 69 | 01101001 | i | i | Lowercase i | |
106 | 152 | 6A | 01101010 | j | j | Lowercase j | |
107 | 153 | 6B | 01101011 | k | k | Lowercase k | |
108 | 154 | 6C | 01101100 | l | l | Lowercase l | |
109 | 155 | 6D | 01101101 | m | m | Lowercase m | |
110 | 156 | 6E | 01101110 | n | n | Lowercase n | |
111 | 157 | 6F | 01101111 | o | o | Lowercase o | |
112 | 160 | 70 | 01110000 | p | p | Lowercase p | |
113 | 161 | 71 | 01110001 | q | q | Lowercase q | |
114 | 162 | 72 | 01110010 | r | r | Lowercase r | |
115 | 163 | 73 | 01110011 | s | s | Lowercase s | |
116 | 164 | 74 | 01110100 | t | t | Lowercase t | |
117 | 165 | 75 | 01110101 | u | u | Lowercase u | |
118 | 166 | 76 | 01110110 | v | v | Lowercase v | |
119 | 167 | 77 | 01110111 | w | w | Lowercase w | |
120 | 170 | 78 | 01111000 | x | x | Lowercase x | |
121 | 171 | 79 | 01111001 | y | y | Lowercase y | |
122 | 172 | 7A | 01111010 | z | z | Lowercase z | |
123 | 173 | 7B | 01111011 | { | { | Opening brace | |
124 | 174 | 7C | 01111100 | | | | | Vertical bar | |
125 | 175 | 7D | 01111101 | } | } | Closing brace | |
126 | 176 | 7E | 01111110 | ~ | ~ | Equivalency sign - tilde | |
127 | 177 | 7F | 01111111 |  | Delete |
Kode ASCII tambahan mengenai simbol-simbol
DEC | OCT | HEX | BIN | Symbol | HTML Number | HTML Name | Description |
128 | 200 | 80 | 10000000 | € | € | € | Euro sign |
129 | 201 | 81 | 10000001 | ||||
130 | 202 | 82 | 10000010 | ‚ | ‚ | ‚ | Single low-9 quotation mark |
131 | 203 | 83 | 10000011 | ƒ | ƒ | ƒ | Latin small letter f with hook |
132 | 204 | 84 | 10000100 | „ | „ | „ | Double low-9 quotation mark |
133 | 205 | 85 | 10000101 | … | … | … | Horizontal ellipsis |
134 | 206 | 86 | 10000110 | † | † | † | Dagger |
135 | 207 | 87 | 10000111 | ‡ | ‡ | ‡ | Double dagger |
136 | 210 | 88 | 10001000 | ˆ | ˆ | ˆ | Modifier letter circumflex accent |
137 | 211 | 89 | 10001001 | ‰ | ‰ | ‰ | Per mille sign |
138 | 212 | 8A | 10001010 | Š | Š | Š | Latin capital letter S with caron |
139 | 213 | 8B | 10001011 | ‹ | ‹ | ‹ | Single left-pointing angle quotation |
140 | 214 | 8C | 10001100 | Œ | Œ | Œ | Latin capital ligature OE |
141 | 215 | 8D | 10001101 | ||||
142 | 216 | 8E | 10001110 | Ž | Ž | Latin captial letter Z with caron | |
143 | 217 | 8F | 10001111 | ||||
144 | 220 | 90 | 10010000 | ||||
145 | 221 | 91 | 10010001 | ‘ | ‘ | ‘ | Left single quotation mark |
146 | 222 | 92 | 10010010 | ’ | ’ | ’ | Right single quotation mark |
147 | 223 | 93 | 10010011 | “ | “ | “ | Left double quotation mark |
148 | 224 | 94 | 10010100 | ” | ” | ” | Right double quotation mark |
149 | 225 | 95 | 10010101 | • | • | • | Bullet |
150 | 226 | 96 | 10010110 | – | – | – | En dash |
151 | 227 | 97 | 10010111 | — | — | — | Em dash |
152 | 230 | 98 | 10011000 | ˜ | ˜ | ˜ | Small tilde |
153 | 231 | 99 | 10011001 | ™ | ™ | ™ | Trade mark sign |
154 | 232 | 9A | 10011010 | š | š | š | Latin small letter S with caron |
155 | 233 | 9B | 10011011 | › | › | › | Single right-pointing angle quotation mark |
156 | 234 | 9C | 10011100 | œ | œ | œ | Latin small ligature oe |
157 | 235 | 9D | 10011101 | ||||
158 | 236 | 9E | 10011110 | ž | ž | Latin small letter z with caron | |
159 | 237 | 9F | 10011111 | Ÿ | Ÿ | ÿ | Latin capital letter Y with diaeresis |
160 | 240 | A0 | 10100000 |   | | Non-breaking space | |
161 | 241 | A1 | 10100001 | ¡ | ¡ | ¡ | Inverted exclamation mark |
162 | 242 | A2 | 10100010 | ¢ | ¢ | ¢ | Cent sign |
163 | 243 | A3 | 10100011 | £ | £ | £ | Pound sign |
164 | 244 | A4 | 10100100 | ¤ | ¤ | ¤ | Currency sign |
165 | 245 | A5 | 10100101 | ¥ | ¥ | ¥ | Yen sign |
166 | 246 | A6 | 10100110 | ¦ | ¦ | ¦ | Pipe, Broken vertical bar |
167 | 247 | A7 | 10100111 | § | § | § | Section sign |
168 | 250 | A8 | 10101000 | ¨ | ¨ | ¨ | Spacing diaeresis - umlaut |
169 | 251 | A9 | 10101001 | © | © | © | Copyright sign |
170 | 252 | AA | 10101010 | ª | ª | ª | Feminine ordinal indicator |
171 | 253 | AB | 10101011 | « | « | « | Left double angle quotes |
172 | 254 | AC | 10101100 | ¬ | ¬ | ¬ | Not sign |
173 | 255 | AD | 10101101 | | ­ | ­ | Soft hyphen |
174 | 256 | AE | 10101110 | ® | ® | ® | Registered trade mark sign |
175 | 257 | AF | 10101111 | ¯ | ¯ | ¯ | Spacing macron - overline |
176 | 260 | B0 | 10110000 | ° | ° | ° | Degree sign |
177 | 261 | B1 | 10110001 | ± | ± | ± | Plus-or-minus sign |
178 | 262 | B2 | 10110010 | ² | ² | ² | Superscript two - squared |
179 | 263 | B3 | 10110011 | ³ | ³ | ³ | Superscript three - cubed |
180 | 264 | B4 | 10110100 | ´ | ´ | ´ | Acute accent - spacing acute |
181 | 265 | B5 | 10110101 | µ | µ | µ | Micro sign |
182 | 266 | B6 | 10110110 | ¶ | ¶ | ¶ | Pilcrow sign - paragraph sign |
183 | 267 | B7 | 10110111 | · | · | · | Middle dot - Georgian comma |
184 | 270 | B8 | 10111000 | ¸ | ¸ | ¸ | Spacing cedilla |
185 | 271 | B9 | 10111001 | ¹ | ¹ | ¹ | Superscript one |
186 | 272 | BA | 10111010 | º | º | º | Masculine ordinal indicator |
187 | 273 | BB | 10111011 | » | » | » | Right double angle quotes |
188 | 274 | BC | 10111100 | ¼ | ¼ | ¼ | Fraction one quarter |
189 | 275 | BD | 10111101 | ½ | ½ | ½ | Fraction one half |
190 | 276 | BE | 10111110 | ¾ | ¾ | ¾ | Fraction three quarters |
191 | 277 | BF | 10111111 | ¿ | ¿ | ¿ | Inverted question mark |
192 | 300 | C0 | 11000000 | À | À | À | Latin capital letter A with grave |
193 | 301 | C1 | 11000001 | Á | Á | Á | Latin capital letter A with acute |
194 | 302 | C2 | 11000010 | Â | Â | Â | Latin capital letter A with circumflex |
195 | 303 | C3 | 11000011 | Ã | Ã | Ã | Latin capital letter A with tilde |
196 | 304 | C4 | 11000100 | Ä | Ä | Ä | Latin capital letter A with diaeresis |
197 | 305 | C5 | 11000101 | Å | Å | Å | Latin capital letter A with ring above |
198 | 306 | C6 | 11000110 | Æ | Æ | Æ | Latin capital letter AE |
199 | 307 | C7 | 11000111 | Ç | Ç | Ç | Latin capital letter C with cedilla |
200 | 310 | C8 | 11001000 | È | È | È | Latin capital letter E with grave |
201 | 311 | C9 | 11001001 | É | É | É | Latin capital letter E with acute |
202 | 312 | CA | 11001010 | Ê | Ê | Ê | Latin capital letter E with circumflex |
203 | 313 | CB | 11001011 | Ë | Ë | Ë | Latin capital letter E with diaeresis |
204 | 314 | CC | 11001100 | Ì | Ì | Ì | Latin capital letter I with grave |
205 | 315 | CD | 11001101 | Í | Í | Í | Latin capital letter I with acute |
206 | 316 | CE | 11001110 | Î | Î | Î | Latin capital letter I with circumflex |
207 | 317 | CF | 11001111 | Ï | Ï | Ï | Latin capital letter I with diaeresis |
208 | 320 | D0 | 11010000 | Ð | Ð | Ð | Latin capital letter ETH |
209 | 321 | D1 | 11010001 | Ñ | Ñ | Ñ | Latin capital letter N with tilde |
210 | 322 | D2 | 11010010 | Ò | Ò | Ò | Latin capital letter O with grave |
211 | 323 | D3 | 11010011 | Ó | Ó | Ó | Latin capital letter O with acute |
212 | 324 | D4 | 11010100 | Ô | Ô | Ô | Latin capital letter O with circumflex |
213 | 325 | D5 | 11010101 | Õ | Õ | Õ | Latin capital letter O with tilde |
214 | 326 | D6 | 11010110 | Ö | Ö | Ö | Latin capital letter O with diaeresis |
215 | 327 | D7 | 11010111 | × | × | × | Multiplication sign |
216 | 330 | D8 | 11011000 | Ø | Ø | Ø | Latin capital letter O with slash |
217 | 331 | D9 | 11011001 | Ù | Ù | Ù | Latin capital letter U with grave |
218 | 332 | DA | 11011010 | Ú | Ú | Ú | Latin capital letter U with acute |
219 | 333 | DB | 11011011 | Û | Û | Û | Latin capital letter U with circumflex |
220 | 334 | DC | 11011100 | Ü | Ü | Ü | Latin capital letter U with diaeresis |
221 | 335 | DD | 11011101 | Ý | Ý | Ý | Latin capital letter Y with acute |
222 | 336 | DE | 11011110 | Þ | Þ | Þ | Latin capital letter THORN |
223 | 337 | DF | 11011111 | ß | ß | ß | Latin small letter sharp s - ess-zed |
224 | 340 | E0 | 11100000 | à | à | à | Latin small letter a with grave |
225 | 341 | E1 | 11100001 | á | á | á | Latin small letter a with acute |
226 | 342 | E2 | 11100010 | â | â | â | Latin small letter a with circumflex |
227 | 343 | E3 | 11100011 | ã | ã | ã | Latin small letter a with tilde |
228 | 344 | E4 | 11100100 | ä | ä | ä | Latin small letter a with diaeresis |
229 | 345 | E5 | 11100101 | å | å | å | Latin small letter a with ring above |
230 | 346 | E6 | 11100110 | æ | æ | æ | Latin small letter ae |
231 | 347 | E7 | 11100111 | ç | ç | ç | Latin small letter c with cedilla |
232 | 350 | E8 | 11101000 | è | è | è | Latin small letter e with grave |
233 | 351 | E9 | 11101001 | é | é | é | Latin small letter e with acute |
234 | 352 | EA | 11101010 | ê | ê | ê | Latin small letter e with circumflex |
235 | 353 | EB | 11101011 | ë | ë | ë | Latin small letter e with diaeresis |
236 | 354 | EC | 11101100 | ì | ì | ì | Latin small letter i with grave |
237 | 355 | ED | 11101101 | í | í | í | Latin small letter i with acute |
238 | 356 | EE | 11101110 | î | î | î | Latin small letter i with circumflex |
239 | 357 | EF | 11101111 | ï | ï | ï | Latin small letter i with diaeresis |
240 | 360 | F0 | 11110000 | ð | ð | ð | Latin small letter eth |
241 | 361 | F1 | 11110001 | ñ | ñ | ñ | Latin small letter n with tilde |
242 | 362 | F2 | 11110010 | ò | ò | ò | Latin small letter o with grave |
243 | 363 | F3 | 11110011 | ó | ó | ó | Latin small letter o with acute |
244 | 364 | F4 | 11110100 | ô | ô | ô | Latin small letter o with circumflex |
245 | 365 | F5 | 11110101 | õ | õ | õ | Latin small letter o with tilde |
246 | 366 | F6 | 11110110 | ö | ö | ö | Latin small letter o with diaeresis |
247 | 367 | F7 | 11110111 | ÷ | ÷ | ÷ | Division sign |
248 | 370 | F8 | 11111000 | ø | ø | ø | Latin small letter o with slash |
249 | 371 | F9 | 11111001 | ù | ù | ù | Latin small letter u with grave |
250 | 372 | FA | 11111010 | ú | ú | ú | Latin small letter u with acute |
251 | 373 | FB | 11111011 | û | û | û | Latin small letter u with circumflex |
252 | 374 | FC | 11111100 | ü | ü | ü | Latin small letter u with diaeresis |
253 | 375 | FD | 11111101 | ý | ý | ý | Latin small letter y with acute |
254 | 376 | FE | 11111110 | þ | þ | þ | Latin small letter thorn |
255 | 377 | FF | 11111111 | ÿ | ÿ | ÿ | Latin small letter y with diaeresis |
Kata-Kata Terlarang Pada MS Access
Pada saya mau membuat program dengan menggunakan MS Access 2007, saya menemukan sebuah kendala ketika akan memasukan sebuah data ke database.
Seluruh syntax sudah saya selidiki dengan benar, tapi tetap saja program tersebut mengeluarkan syntax error. Ini adalah salah satu hal yang paling menyebalkan dan menggembirakan.
Kenapa?
Dimulai dari alasan mengapa menyebalkan: Itu karena sudah diutak atik sedemikian rupa tapi tetap saja pesan errornya itu masih ada. Lalu setelah beberapa waktu mencarinya melalui Google, hasilnya tetap saja nihil.
Kenapa menggembirakan? Itu karena permasalahan yang baru saja dialami di atas telah mendapatkan solusinya.
Nah bagi kamu yang mendapatkan error yang aneh padahal penulisan dan field pada databasenya sudah benar maka coba untuk melihat sebuah susunan keyword yang memang dilarang digunakan untuk dijadikan sebuah nama field database pada MS Access.
Jangan sampai permasalahan ini berlarut-larut menghantui! Ini list keywordnya
-A
ADD
ALL
Alphanumeric
ALTER
AND
ANY
Application
AS
ASC
Assistant
AUTOINCREMENT
Avg
-B
BETWEEN
BINARY
BIT
BOOLEAN
BY
BYTE
-C
CHAR, CHARACTER
COLUMN
CompactDatabase
CONSTRAINT
Container
Count
COUNTER
CREATE
CreateDatabase
CreateField
CreateGroup
CreateIndex
CreateObject
CreateProperty
CreateRelation
CreateTableDef
CreateUser
CreateWorkspace
CURRENCY
CurrentUser
-D
DATABASE
DATE
DATETIME
DELETE
DESC
Description
DISALLOW
DISTINCT
DISTINCTROW
Document
DOUBLE
DROP
-E
Echo
Else
End
Eqv
Error
EXISTS
Exit
-F
FALSE
Field, Fields
FillCache
FLOAT, FLOAT4, FLOAT8
FOREIGN
Form, Forms
FROM
Full
FUNCTION
-G
GENERAL
GetObject
GetOption
GotoPage
GROUP
GROUP BY
GUID
-H
HAVING
-I
Idle
IEEEDOUBLE, IEEESINGLE
If
IGNORE
Imp
IN
INDEX
Index, Indexes
INNER
INSERT
InsertText
INT, INTEGER, INTEGER1, INTEGER2, INTEGER4
INTO
IS
-J
JOIN
-K
KEY
-L
LastModified
LEFT
Level
Like
LOGICAL, LOGICAL1
LONG, LONGBINARY, LONGTEXT
-M
Macro
Match
Max, Min, Mod
MEMO
Module
MONEY
Move
-N
NAME
NewPassword
NO
Not
Note
NULL
NUMBER, NUMERIC
-O
Object
OLEOBJECT
OFF
ON
OpenRecordset
OPTION
OR
ORDER
Orientation
Outer
OWNERACCESS
-P
Parameter
PARAMETERS
Partial
PERCENT
PIVOT
PRIMARY
PROCEDURE
Property
-Q
Queries
Query
Quit
-R
REAL
Recalc
Recordset
REFERENCES
Refresh
RefreshLink
RegisterDatabase
Relation
Repaint
RepairDatabase
Report
Reports
Requery
RIGHT
-S
SCREEN
SECTION
SELECT
SET
SetFocus
SetOption
SHORT
SINGLE
SMALLINT
SOME
SQL
StDev, StDevP
STRING
Sum
-T
TABLE
TableDef, TableDefs
TableID
TEXT
TIME, TIMESTAMP
TOP
TRANSFORM
TRUE
Type
-U
UNION
UNIQUE
UPDATE
USER
-V
VALUE
VALUES
Var, VarP
VARBINARY, VARCHAR
VERSION
-W
WHERE
WITH
Workspace
-X
Xor
-Y
Year
YES
YESNO
Sampai saat artikel ini ditulis, hal ini hanya berlaku untuk beberapa versi MS Access seperti di bawah ini:
» Microsoft Access 2002 Standard Edition
» Microsoft Office Access 2003
» Microsoft Office Access 2007
Seluruh syntax sudah saya selidiki dengan benar, tapi tetap saja program tersebut mengeluarkan syntax error. Ini adalah salah satu hal yang paling menyebalkan dan menggembirakan.
Kenapa?
Dimulai dari alasan mengapa menyebalkan: Itu karena sudah diutak atik sedemikian rupa tapi tetap saja pesan errornya itu masih ada. Lalu setelah beberapa waktu mencarinya melalui Google, hasilnya tetap saja nihil.
Kenapa menggembirakan? Itu karena permasalahan yang baru saja dialami di atas telah mendapatkan solusinya.
Nah bagi kamu yang mendapatkan error yang aneh padahal penulisan dan field pada databasenya sudah benar maka coba untuk melihat sebuah susunan keyword yang memang dilarang digunakan untuk dijadikan sebuah nama field database pada MS Access.
Jangan sampai permasalahan ini berlarut-larut menghantui! Ini list keywordnya
-A
ADD
ALL
Alphanumeric
ALTER
AND
ANY
Application
AS
ASC
Assistant
AUTOINCREMENT
Avg
-B
BETWEEN
BINARY
BIT
BOOLEAN
BY
BYTE
-C
CHAR, CHARACTER
COLUMN
CompactDatabase
CONSTRAINT
Container
Count
COUNTER
CREATE
CreateDatabase
CreateField
CreateGroup
CreateIndex
CreateObject
CreateProperty
CreateRelation
CreateTableDef
CreateUser
CreateWorkspace
CURRENCY
CurrentUser
-D
DATABASE
DATE
DATETIME
DELETE
DESC
Description
DISALLOW
DISTINCT
DISTINCTROW
Document
DOUBLE
DROP
-E
Echo
Else
End
Eqv
Error
EXISTS
Exit
-F
FALSE
Field, Fields
FillCache
FLOAT, FLOAT4, FLOAT8
FOREIGN
Form, Forms
FROM
Full
FUNCTION
-G
GENERAL
GetObject
GetOption
GotoPage
GROUP
GROUP BY
GUID
-H
HAVING
-I
Idle
IEEEDOUBLE, IEEESINGLE
If
IGNORE
Imp
IN
INDEX
Index, Indexes
INNER
INSERT
InsertText
INT, INTEGER, INTEGER1, INTEGER2, INTEGER4
INTO
IS
-J
JOIN
-K
KEY
-L
LastModified
LEFT
Level
Like
LOGICAL, LOGICAL1
LONG, LONGBINARY, LONGTEXT
-M
Macro
Match
Max, Min, Mod
MEMO
Module
MONEY
Move
-N
NAME
NewPassword
NO
Not
Note
NULL
NUMBER, NUMERIC
-O
Object
OLEOBJECT
OFF
ON
OpenRecordset
OPTION
OR
ORDER
Orientation
Outer
OWNERACCESS
-P
Parameter
PARAMETERS
Partial
PERCENT
PIVOT
PRIMARY
PROCEDURE
Property
-Q
Queries
Query
Quit
-R
REAL
Recalc
Recordset
REFERENCES
Refresh
RefreshLink
RegisterDatabase
Relation
Repaint
RepairDatabase
Report
Reports
Requery
RIGHT
-S
SCREEN
SECTION
SELECT
SET
SetFocus
SetOption
SHORT
SINGLE
SMALLINT
SOME
SQL
StDev, StDevP
STRING
Sum
-T
TABLE
TableDef, TableDefs
TableID
TEXT
TIME, TIMESTAMP
TOP
TRANSFORM
TRUE
Type
-U
UNION
UNIQUE
UPDATE
USER
-V
VALUE
VALUES
Var, VarP
VARBINARY, VARCHAR
VERSION
-W
WHERE
WITH
Workspace
-X
Xor
-Y
Year
YES
YESNO
Sampai saat artikel ini ditulis, hal ini hanya berlaku untuk beberapa versi MS Access seperti di bawah ini:
» Microsoft Access 2002 Standard Edition
» Microsoft Office Access 2003
» Microsoft Office Access 2007