Terkadang dalam membuat program, kita harus menambahkan / mengurangi satu atau beberapa field di dalam sebuah tabel database, sedangkan kita tidak bisa menambahkan field tersebut secara manual (misalnya lokasi customer kita jauh).
Untuk memeriksa apakah suatu field sudah ada dalam sebuah table, kita bisa menggunakan function berikut :
Private Function FieldSudahAda(strField As String, rs As ADODB.Recordset) As Boolean
Dim objField As Field
For Each objField In rs.Fields
If UCase(objField.Name) = UCase(strField) Then
FieldSudahAda = True
Exit Function
End If
Next
FieldSudahAda = False
End Function
Function di atas dipanggil (dengan format : FieldSudahAda(NamaField, NamaRecordset) apabila kita ingin memeriksa apakah suatu field sudah ada dalam table atau belum, dengan mengirimkan hasil FieldSudahAda = True/False. Misalnya saya membuat tombol untuk dengan property name “cmdPeriksaField” :
Private Sub cmdPeriksaField_Click()
Dim strYesNo As String
If rsTMP.State = adStateOpen Then rsTMP.Close
strSQL = “select * from master_barang”
rsTMP.Open strSQL, dbConnection, adOpenStatic, adLockOptimistic
If FieldSudahAda(“kode_barang”, rsTMP) = False Then
MsgBox “Field kode_barang belum ada”
Else
MsgBox “Field kode_barang sudah ada”
End If
End Sub
Nah, tinggal apa yang ingin kita lakukan setelah memeriksa field tersebut sudah ada atau belum. Kalau kita ingin menambahkan field yang belum ada, codingnya seperti ini :
Dim StrQuery as String
StrQuery = “alter table master_barang add column kode_barang varchar(10)”
dbConnection.Execute StrQuery
Sedangkan kalau kita ingin menghapus field yang sudah ada, codingnya seperti ini :
Dim StrQuery as String
StrQuery = “alter table master_barang drop column kode_barang”
dbConnection.Execute StrQuery