Rabu, 08 Agustus 2018

Training SQL Server 2014

Jika Anda sudah membaca buku SQL Server 2014 saya dan tertarik untuk bisa mempraktekkanya, mungkin Anda bisa mengikuti training di Tanmia Informatika Jakarta. Situs webnya: http://www.tanmia-informatika.com/.
Pendaftaran peserta masih di buka karena jumlah pendaftar di tgl 11 Agustus belum memenuhi kuota.

Jumat, 26 Januari 2018

Mengatasi Keterbatasan Ukuran File Microsoft Access

Sampai versi 2016, Microsoft Access memiliki keterbatasan yaitu maksimum ukuran file adalah 2 gigabytes. Padahal mungkin kita akan melakukan  attachment berbagai macam file Seperti pdf, doc/docx, image (jpg, bmp) , xls/xlsx dan sebagainya. Walaupun di Access sudah memiliki tipe file Attchment dibanding OLE Object pada  Access versi sebelumnya, dan juga file akan dikompresi tetap saja ukuran file database akan membengkak dan akan cepat mencapai batas maksimum.
Bagaimana solusinya agar dapat mengatasi keterbatasan, ukuran file? File yang akan di attachment, tidak disimpan dalam database, hanya link teks yang mengacu pada file Attachment, yang disimpan seperti "C:\Data\Attachment1.jpg".  Untuk membuatnya diperlukan pengetahuan VBA (Visual Basic For Application)
Pertama kita buat Database dulu misalnya dengan nama "Demo Attachment" kemudian tambahkan 2 field: 1. ID tipe Autonumber dan Set sebagai Primary Key. Dan 2. Attachment tipe Short Text.



Berikutnya mendesain form-nya. Dari menu  Create klik Blank Form.  Kemudian dari menu Design pilih Add Existing Fields lalu drag dan drop field Attachment. Tambahkan 2 button disebelah  Field Attachment. Button pertama beri Caption "Attachment" dan Name "btnAtt". Button kedua beri nama "View" dan Name "btnView". Catatan: Saya menggunakan image yang diambil dari Internet. 


Selanjutnya pilih button "Attachment" dan dijendela Property Sheet pilih tab Event dan di kanan properti On Click tekan tombol elipsis (...). Akan muncul jendela Choose Builder, pilih Code Builder





Klik OK. Anda akan masuk jendela Visual Basic For Application.
Karena kita menggunakan Open File Dialog, kita harus mereferensikan dulu. Caranya klik menu Tools pilih References. Tandai Microsoft 1X.0 Object Library. X tergantung versi Office, karena saya Office 2016 maka Versi 16.

  
Ketik kode berikut:

Option Compare Database
' Jika button Attachment diklik
' Buka kotak dialog Open
' Ambil Nama File
' Simpan di field Attachment

Private Sub btnAtt_Click()
Me.txtAtt = ""
Dim fileDialog    As Object
    Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
    Dim NamaFile As Variant

    With fileDialog
       .AllowMultiSelect = False
       .Title = "Select File to Attachment:"
       .InitialFileName = "D:\Data\Attachment"
       .Filters.Clear
       .Filters.Add "PDF File", "*.pdf", 1
       .Filters.Add "Microsoft Word File", "*.doc; *.docx"
       .Filters.Add "Microsoft Excel File", "*.xls; *.xlsx"
       .Filters.Add "Image File", "*.jpg; *.jpeg: *.bmp"
         If .Show = True Then
       For Each NamaFile In .SelectedItems
         GetFileName = NamaFile
       Next
    End If
    Me.txtAtt = GetFileName
End With
'Simpan Record
DoCmd.RunCommand acCmdSaveRecord
End Sub

Selanjutnya pilih button View  dan dijendela Property Sheet pilih tab Event dan di kanan properti On Click tekan tombol elipsis (...). Akan muncul jendela Choose Builder, pilih Code Builder. Klik OK.
Ketik kode Berikut:

' Jika button View diklik
' Ambil ekstensi file seperti pdf, jpeg
' Buka file dengan aplikasi sesuai ekstensi file
Private Sub btnView_Click()
    Dim NamaFile As String
    Dim LokasiTitik As Integer
    Dim TotalHuruf As Integer
    Dim Ekstensi As String
    Dim AngkaEkstensi As Integer
    NamaFile = Me.txtAtt
    LokasiTitik = InStr(1, NamaFile, ".")
    TotalHuruf = Len(NamaFile)
    AngkaEkstensi = TotalHuruf - LokasiTitik
    Ekstensi = Right(NamaFile, AngkaEkstensi)
    If Ekstensi = "docx" Or Ekstensi = "doc" Then
        Shell "WinWord.exe " & NamaFile, vbNormalFocus
    ElseIf Ekstensi = "xlsx" Or Ekstensi = "xls" Then
        Shell "Excel.exe " & NamaFile, vbNormalFocus
    ElseIf Ekstensi = "pdf" Then
        Shell "C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe " & NamaFile, vbNormalFocus
    ElseIf Ekstensi = "jpg" Or Ekstensi = "jpeg" Or Ekstensi = "bmp" Then
        Shell "C:\Windows\system32\mspaint.exe " & NamaFile, vbNormalFocus
    End If
End Sub