Sunday, February 12, 2017

Instruksi VBA Untuk Menyisipkan Field Pada Tabel Yang Sudah Ada (Eksis)

www.AstroDigi.com AstroDigi.com | Minggu, 12 Feb 2016 | Bila pada artikel sebelumnya saya menjabarkan tentang cara untuk membuat tabel, maka pada artikel kali ini saya akan berbagi cara untuk menyisipkan (menambahkan) field pada tabel yang sudah ada (eksis). Untuk keperluan tersebut saya menggunakan fasilitas ADO recordset sebagai sarana untuk mewujudkan pembuatan field tambahan tersebut.

Berikut ini adalah kode-kode instruksi untuk menyisipkan field:

Private Sub InsertTable()
Dim Db As DAO.Database
Dim Tbl As DAO.TableDef
Dim Fld As DAO.Field
Dim tableKu, fieldKu As String


Set Db = CurrentDb()
tableKu = "table1"
fieldKu = "field1"

Set Tbl = Db.TableDefs(tableKu)
With Tbl
Set Fld = .CreateField(fieldKu, dbText)    'dbText bisa diganti dengan dbMemo/dbLong/dbText, size/dbBoolean/dbDouble/dbDate/dbCurrency/dbInteger/dbByte/dbDouble/dbSingle/dbDecimal
.Fields.Append Fld
End With
Set Tbl = Nothing
Db.Close

End Sub


'------------------------------
Untuk tipe data "autonumber" maka programmer harus menciptakan dahulu field dengan tipe data "dbLong", dan kemudian tambahkan baris instruksi:
Fld.Attributes = dbAutoIncrField + dbVariableField
baris instruksi tersebut harus disisipkan sebelum: .Fields.Append Fld
'------------------------------
Untuk tipe data "hyperlink" maka programmer harus menciptakan dahulu field dengan tipe data "dbMemo", dan kemudian tambahkan baris instruksi:
Fld.Attributes = dbHyperlinkField + dbVariableField
baris instruksi tersebut harus disisipkan sebelum: .Fields.Append Fld

'------------------------------
Untuk menambahkan Primary Key pada field maka tambahkan baris instruksi ini:
Db.Execute "ALTER TABLE " & tableKu & " ADD CONSTRAINT " & fieldKu & " primary key (" & fieldKu & ");"

baris instruksi tersebut harus disisipkan sebelum DAO recordset tabel ditutup, yaitu sebelum instruksi:
Set Tbl = Nothing
Db.Close


'------------------------------
Demikian cara untuk menyisipkan field pada tabel, pembaca bisa mencoba untuk menyisipkan field kedalam tabel, dan juga bisa mencoba dengan berbagai tipe data.
Selamat mencoba :-)

 www.AstroDigi.com (Nino Guevara Ruwano)