Aktivitas akuntansi dimulai dari pembuatan kode rekening. Kode rekening ini akan digunakan dalam pencatatan jurnal transaksi, pembuatan buku besar, neraca lajur sampai dengan diterbitkannya laporan keuangan.
Aktivitas lainnya adalah membuat jurnal transaksi. Jurnal transaksi merupakan pusat dari seluruh aktivitas akuntansi, karena dari sinilah semua bentuk laporan dibuat. Jadi, kesalahan dalam pembuatan jurnal transaksi, baik dalam kode rekening, keterangan, jumlah kuantitas, referensi, maupun jumlah rupiah didebit atau dikredit bisa berakibat laporan keuangan menjadi salah interpretasi. Sofware akuntansi yang baik harus mempunyai kontrol terhadap pembuatan jurnal transaksi. Tentu saja, peran manusia adalah yang utama, karena sofware akuntansi hanya membantu memudahkan pekerjaan manusia menjadi lebih efisien dan efektif.
Berikut ini adalah modul yang digunakan untuk mengelola aktivitas akuntansi.
Aktivitas lainnya adalah membuat jurnal transaksi. Jurnal transaksi merupakan pusat dari seluruh aktivitas akuntansi, karena dari sinilah semua bentuk laporan dibuat. Jadi, kesalahan dalam pembuatan jurnal transaksi, baik dalam kode rekening, keterangan, jumlah kuantitas, referensi, maupun jumlah rupiah didebit atau dikredit bisa berakibat laporan keuangan menjadi salah interpretasi. Sofware akuntansi yang baik harus mempunyai kontrol terhadap pembuatan jurnal transaksi. Tentu saja, peran manusia adalah yang utama, karena sofware akuntansi hanya membantu memudahkan pekerjaan manusia menjadi lebih efisien dan efektif.
Berikut ini adalah modul yang digunakan untuk mengelola aktivitas akuntansi.
'------------------------------------------
' Attribute VB_Name = "mdlTransJurnal"
' Modul ini berisi fungsi-fungsi yang digunakan
' untuk mengelola aktivitas akuntansi seperti
' mengelola kode rekening, jurnal transaksi,
' buku besar, neraca lajur, dan budget.
'
' Author: Bambang Subroto,
' email: bambang.subro@gmail.com
'
'------------------------------------------
Option Compare Database
Public globStatusJurnal As String
Public globSumberBukuBesar As String
Public globNeracaLajur As String
Public Enum JenisTB
HanyaKodeRekUtama = 0
Lengkap = 1
End Enum
Function HitungSaldoAwal(intJenisTB As JenisTB, strKodeRek As String, dtTgl As Date, _
Optional strDeriv1 As Variant, Optional strDeriv2 As Variant) As Double
'------------------------------------------
' Fungsi untuk menghitung saldo awal
' pada neraca lajur
'------------------------------------------
Dim strCriteria As Variant
Dim SaldoAwalDebit, SaldoAwalKredit As Double
On Error GoTo Err_Msg
If intJenisTB = HanyaKodeRekUtama Then
strCriteria = Null
Else
If strDeriv1 <> "" Then
strCriteria = " and [Deriv1]='" & strDeriv1 & "'"
Else
strCriteria = " and [Deriv1] is null"
End If
If strDeriv2 <> "" Then
strCriteria = strCriteria & " and [Deriv2]='" & strDeriv2 & "'"
Else
strCriteria = strCriteria & " and [Deriv2] is null"
End If
End If
SaldoAwalDebit = Nz(DSum("[Debit]", "qryPermTransJurnal", "[KodeRek]='" & strKodeRek & "'" & strCriteria & " and [TglTransaksi] < #" & dtTgl & "#"), 0)
SaldoAwalKredit = Nz(DSum("[Kredit]", "qryPermTransJurnal", "[KodeRek]='" & strKodeRek & "'" & strCriteria & " and [TglTransaksi] < #" & dtTgl & "#"), 0)
HitungSaldoAwal = SaldoAwalDebit - SaldoAwalKredit
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function HitungSaldoAkhir(intJenisTB As JenisTB, strKodeRek As String, dtTgl As Date, _
Optional strDeriv1 As Variant, Optional strDeriv2 As Variant) As Double
'------------------------------------------
' Fungsi untuk menghitung saldo akhir
' pada neraca lajur
'------------------------------------------
Dim strCriteria As Variant
Dim SaldoAkhirDebit, SaldoAkhirKredit As Double
On Error GoTo Err_Msg
If intJenisTB = HanyaKodeRekUtama Then
strCriteria = Null
Else
If strDeriv1 <> "" Then
strCriteria = " and [Deriv1]='" & strDeriv1 & "'"
Else
strCriteria = " and [Deriv1] is null"
End If
If strDeriv2 <> "" Then
strCriteria = strCriteria & " and [Deriv2]='" & strDeriv2 & "'"
Else
strCriteria = strCriteria & " and [Deriv2] is null"
End If
End If
SaldoAkhirDebit = Nz(DSum("[Debit]", "qryPermTransJurnal", "[KodeRek]='" & strKodeRek & "'" & strCriteria & " and [TglTransaksi] <= #" & dtTgl & "#"), 0)
SaldoAkhirKredit = Nz(DSum("[Kredit]", "qryPermTransJurnal", "[KodeRek]='" & strKodeRek & "'" & strCriteria & " and [TglTransaksi] <= #" & dtTgl & "#"), 0)
HitungSaldoAkhir = SaldoAkhirDebit - SaldoAkhirKredit
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function CekAdaJurnalTipeSama(tgl As Date, Optional TipeJurnal As String) As Variant
'------------------------------------------------------------
' Fungsi yang digunakan untuk mengecek apakah ada jurnal
' dengan tipe jurnal yang sama tetapi pada periode sebelumnya.
' Fungsi ini digunakan dalam proses saat posting jurnal ke buku besar
'------------------------------------------------------------
Dim dbs As Database
Dim rst As Recordset
Dim strSqlx, strMsg, strTipeJurnal As String
On Error GoTo Err_Msg
If TipeJurnal <> "" Then strTipeJurnal = "TipeJurnal='" & TipeJurnal & "' and "
Set dbs = CurrentDb
strSqlx = "SELECT TglTransaksi, TipeJurnal, JurnalId FROM tblTempTransJournal_Parent " _
& "WHERE " & strTipeJurnal & " Format([tgltransaksi],'yyyymm')< '" & Format(tgl, "yyyymm") & "';"
Set rst = dbs.OpenRecordset(strSqlx, dbOpenSnapshot)
Do While Not rst.EOF
strMsg = strMsg & "Tgl Transaksi: " & rst!TglTransaksi & ", Tipe Jurnal: " & rst!TipeJurnal & ", JurnalId #" & rst!JurnalId & vbCrLf
rst.MoveNext
Loop
CekAdaJurnalTipeSama = strMsg
rst.Close
Set rst = Nothing
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function TampilkanNoJurnalPermanen(strTipeJurnal As String, dtTanggal As Date) As Integer
'------------------------------------------
' Fungsi untuk menampilkan nomor jurnal permanen
' bila sebuah jurnal temporer akan diproses/diposting
'------------------------------------------
Dim dtTglTerkahir As Date
Dim intJumlahJurnal As Integer
On Error GoTo Err_Msg
If ValidPeriode(dtTanggal) Then
If PreferensSistem("NoJurnalKeAwal") = True Then
TampilkanNoJurnalPermanen = DCount("[TipeJurnal]", "tblPermTransJournal_Parent", "[TipeJurnal]='" & strTipeJurnal & "' and [TglTransaksi] between #" & CekPeriode("TglAwalThn") & "# and #" & CekPeriode("TglAkhirThn") & "#") + 1
Exit Function
Else
dtTglTerakhir = DMax("[TglTransaksi]", "tblPermTransJournal_Parent", "[TipeJurnal]='" & strTipeJurnal & "'")
intJumlahJurnal = DMax("[NoJurnal]", "tblPermTransJournal_Parent", "[TglTransaksi]=#" & dtTglTerakhir & "#")
TampilkanNoJurnalPermanen = intJumlahJurnal + 1
Exit Function
End If
End If
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function HapusQueryNeracaLajur()
'------------------------------------------
' Fungsi untuk menghapus tabel/query yang dihasilkan
' setelah selesainya sebuah proses pembuatan
' neraca lajur. Untuk keamanan data,
' maka tabel/query itu harus dihapus.
'------------------------------------------
On Error GoTo Err_Msg
HapusObjekYgTidakPerlu "qryNeracaLajurAwal"
HapusObjekYgTidakPerlu "qryNeracaLajurMutasi"
HapusObjekYgTidakPerlu "qryNeracaLajurGabung"
HapusObjekYgTidakPerlu "qryNeracaLajurGabung1"
HapusObjekYgTidakPerlu "qryNeracaLajurGabung0"
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function BuatQueryNeracaLajur(dtdrTglTransaksi, dtsdTglTransaksi As Date, _
stdrKodeRek, stdrDeriv1, stdrDeriv2, stsdKodeRek, stsdDeriv1, stsdDeriv2 As Variant)
'------------------------------------------
' Fungsi untuk membuat tabel/query yang
' digunakan dalam proses pembuatan
' neraca lajur.
'------------------------------------------
Dim strQueryNama, strSqla As String
On Error GoTo Err_Msg
'Buat saldo awal neraca lajur
strSqla = "SELECT KodeGabung, KodeRek, Deriv1, Deriv2, Sum([JmlhDebit]-[JmlhKredit]) AS SaldoAwal, " _
& "JmlhDebit, JmlhKredit, Grup FROM qryPermTransJurnal WHERE TglTransaksi < #" & dtdrTglTransaksi & "# " _
& "AND KodeGabung between '" & stdrKodeRek & stdrDeriv1 & stdrDeriv2 & "' and '" _
& stsdKodeRek & stsdDeriv1 & stsdDeriv2 & "' " _
& "GROUP BY KodeGabung, KodeRek, Deriv1, Deriv2, JmlhDebit, JmlhKredit, Grup;"
BuatQuery "qryNeracaLajurAwal", strSqla
'Buat Mutasi debit kredit neraca lajur
strSqla = "SELECT KodeGabung, KodeRek, Deriv1, Deriv2, Grup, 0 AS SaldoAwal, Sum(JmlhDebit) AS SumOfJmlhDebit, " _
& "Sum(JmlhKredit) AS SumOfJmlhKredit, Sum(PenyesDebit) AS SumOfPenyesDebit, Sum(PenyesKredit) AS SumOfPenyesKredit " _
& "FROM qryPermTransJurnal WHERE TglTransaksi Between #" & dtdrTglTransaksi & "# and #" & dtsdTglTransaksi & "# " _
& "AND KodeGabung between '" & stdrKodeRek & stdrDeriv1 & stdrDeriv2 & "' and '" _
& stsdKodeRek & stsdDeriv1 & stsdDeriv2 & "' " _
& "GROUP BY KodeGabung, KodeRek, Deriv1, Deriv2, Grup, 0; "
BuatQuery "qryNeracaLajurMutasi", strSqla
strSqla = "SELECT KodeGabung, KodeRek, Deriv1, Deriv2, Grup, SaldoAwal, 0 AS SumOfJmlhDebit, 0 AS SumOfJmlhKredit, 0 AS SumOfPenyesDebit, " _
& "0 AS SumOfPenyesKredit FROM qryNeracaLajurAwal " _
& "UNION select KodeGabung, KodeRek, Deriv1, Deriv2, Grup, SaldoAwal, SumOfJmlhDebit, SumOfJmlhKredit, SumOfPenyesDebit, " _
& "SumOfPenyesKredit FROM qryNeracaLajurMutasi;"
BuatQuery "qryNeracaLajurGabung", strSqla
strSqla = "SELECT KodeRek, Deriv1, Deriv2, Grup, Sum([qryNeracaLajurGabung]![SaldoAwal]) AS SaldoAwal, Sum(SumOfJmlhDebit) AS Debit, Sum(SumOfJmlhKredit) AS Kredit, " _
& "Sum(SumOfPenyesDebit) AS PenyDebit, Sum(SumOfPenyesKredit) AS PenyKredit, " _
& "[SaldoAwal]+[Debit]+[PenyDebit]-[Kredit]-[PenyKredit] AS SaldoAkhir FROM qryNeracaLajurGabung " _
& "GROUP BY KodeRek, Deriv1, Deriv2, Grup ORDER BY KodeRek, Deriv1, Deriv2;"
BuatQuery "qryNeracaLajurGabung1", strSqla
strSqla = "SELECT KodeRek, Grup, Sum(qryNeracaLajurGabung1.SaldoAwal) AS SaldoAwal, Sum(qryNeracaLajurGabung1.Debit) AS Debit, " _
& "Sum(qryNeracaLajurGabung1.Kredit) AS Kredit, Sum(qryNeracaLajurGabung1.PenyDebit) AS PenyDebit, " _
& "Sum(qryNeracaLajurGabung1.PenyKredit) AS PenyKredit, Sum(qryNeracaLajurGabung1.SaldoAkhir) AS SaldoAkhir " _
& "FROM qryNeracaLajurGabung1 GROUP BY qryNeracaLajurGabung1.KodeRek, qryNeracaLajurGabung1.Grup;"
BuatQuery "qryNeracaLajurGabung0", strSqla
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function BuatSemuaBB(jnsTB As JenisTB, strKodeRek As String, dtTglAwal As Date, dtTglAkhir As Date, Optional strDeriv1 As String, Optional strDeriv2 As String)
'------------------------------------------
' Fungsi untuk membuat tabel/query
' yang digunakan dalam proses pembuatan
' buku besar.
'------------------------------------------
Dim dbs As Database
Dim rst As Recordset
Dim strSqlx, strSqla, strSqlb, Deriv1, Deriv2, strDerivs1, strDerivs2 As String
Dim dblSaldoAwal, dblDebit, dblKredit As Double
Dim intCounter As Integer
Dim dtInitVal As Date
On Error GoTo Err_Msg
dtInitVal = 0
intCounter = 0
'Cek Saldo Awal
If jnsTB = Lengkap Then
dblSaldoAwal = HitungSaldoAwal(Lengkap, strKodeRek, dtTglAwal, strDeriv1, strDeriv2)
Else
dblSaldoAwal = HitungSaldoAwal(HanyaKodeRekUtama, strKodeRek, dtTglAwal)
End If
If dblSaldoAwal < 0 Then
dblDebit = 0
dblKredit = -dblSaldoAwal
Else
dblDebit = dblSaldoAwal
dblKredit = 0
End If
'buat tabel tblBukuBesar dan masukkan nilai saldo awal
Deriv1 = "'" & strDeriv1 & "', "
Deriv2 = "'" & strDeriv2 & "', "
If strDeriv1 = "" Then
Deriv1 = "Null, "
End If
If strDeriv2 = "" Then
Deriv2 = "Null, "
End If
If jnsTB = Lengkap Then
strDerivs1 = "And Deriv1 ='" & strDeriv1 & "' "
strDerivs2 = "And Deriv2 ='" & strDeriv2 & "';"
If strDeriv1 = "" Then
strDerivs1 = "AND Deriv1 Is Null "
End If
If strDeriv2 = "" Then
strDerivs2 = "AND Deriv2 Is Null;"
End If
End If
DoCmd.SetWarnings False
strSqla = "INSERT INTO tblBukuBesar ( TglTransaksi, Deskripsi, KodeRek, Deriv1, Deriv2, Debit, Kredit, SaldoAkhir,NoUrut ) " _
& "VALUES (#" & dtTglAwal & "#, 'Saldo Awal', '" & strKodeRek & "', " _
& Deriv1 & Deriv2 & "0,0, " & dblSaldoAwal & ", " & intCounter & ");"
DoCmd.RunSQL strSqla
'tambahkan transaksi ke tblBukuBesar
strSqlb = "SELECT JurnalId, TipeJurnal, NoJurnal, TglTransaksi, IIf([Ref]='',Null,[Ref]) AS Refss, NoRef, NoUrut, " _
& "RefDetail, KodeRek, Deskripsi, Deriv1, Deriv2, Kuantitas, SU, HargaSatuan, TotalJumlah, Debit, Kredit, JthTempo " _
& "FROM qryPermTransJurnal " _
& "WHERE TglTransaksi Between #" & dtTglAwal & "# And #" & dtTglAkhir & "# AND KodeRek='" & strKodeRek & "' " _
& strDerivs1 & strDerivs2
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strSqlb, dbOpenSnapshot)
Do While Not rst.EOF
If Not IsNull(rst!Refss) Then Refss = "'" & rst!Refss & "'" Else Refss = "Null"
If Not IsNull(rst!NoRef) Then NoRefss = "" & rst!NoRef & "" Else NoRefss = "Null"
If Not IsNull(rst!RefDetail) Then RefssDetail = "'" & rst!RefDetail & "'" Else RefssDetail = "Null"
If Not IsNull(rst!Deriv1) Then sDeriv1 = "'" & rst!Deriv1 & "'" Else sDeriv1 = "Null"
If Not IsNull(rst!Deriv2) Then sDeriv2 = "'" & rst!Deriv2 & "'" Else sDeriv2 = "Null"
If Not IsNull(rst!JthTempo) Then JthTempos = "#" & rst!JthTempo & "#" Else JthTempos = "Null"
If Not IsNull(rst!SU) Then SUs = "'" & rst!SU & "'" Else SUs = "Null"
dblSaldoAwal = dblSaldoAwal + rst!Debit - rst!Kredit
intCounter = intCounter + 1
strSqla = "INSERT INTO tblBukuBesar (JurnalId, TipeJurnal, NoJurnal, TglTransaksi, " _
& "Ref, NoRef, RefDetail, Deskripsi, KodeRek, " _
& "Deriv1, Deriv2, Kuantitas, SU, HargaSatuan, " _
& "TotalJumlah, Debit, Kredit, SaldoAkhir, JthTempo, NoUrut ) " _
& "VALUES (" & rst!JurnalId & ", '" & rst!TipeJurnal & "', " & rst!NoJurnal & ", #" & rst!TglTransaksi & "#, " _
& Refss & ", " & NoRefss & ", " & RefssDetail & ", '" & rst!Deskripsi & "', '" & rst!KodeRek & "', " _
& sDeriv1 & ", " & sDeriv2 & ", " & rst!Kuantitas & ", " & SUs & ", " & rst!HargaSatuan & ", " _
& rst!TotalJumlah & ", " & rst!Debit & ", " & rst!Kredit & ", " & dblSaldoAwal & ", " & JthTempos & ", " _
& intCounter & ");"
DoCmd.RunSQL strSqla
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
DoCmd.SetWarnings True
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function BuatTabelBukuBesar()
'------------------------------------------
' Fungsi untuk membuat tabel/query
' yang digunakan dalam proses pembuatan
' buku besar.
'------------------------------------------
Dim obj As AccessObject, dbsObject As Object
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field2
On Error GoTo Err_Msg
Set dbsObject = Application.CurrentData
For Each obj In dbsObject.AllTables
If obj.Name = "tblBukuBesar" Then
DoCmd.DeleteObject acTable, obj.Name
End If
Next obj
Set dbs = CurrentDb()
' membuat tabel dengan nama tblBukuBesar
Set tdf = dbs.CreateTableDef("tblBukuBesar")
' membuat field untk tblBukuBesar
tdf.Fields.Append tdf.CreateField("JurnalId", dbLong)
tdf.Fields.Append tdf.CreateField("TipeJurnal", dbText, 3)
tdf.Fields.Append tdf.CreateField("NoJurnal", dbLong)
tdf.Fields.Append tdf.CreateField("TglTransaksi", dbDate)
tdf.Fields.Append tdf.CreateField("Ref", dbText, 50)
tdf.Fields.Append tdf.CreateField("NoRef", dbLong)
tdf.Fields.Append tdf.CreateField("NoUrut", dbLong)
tdf.Fields.Append tdf.CreateField("RefDetail", dbText, 50)
tdf.Fields.Append tdf.CreateField("KodeRek", dbText, 3)
tdf.Fields.Append tdf.CreateField("Deskripsi", dbText, 100)
tdf.Fields.Append tdf.CreateField("Deriv1", dbText, 3)
tdf.Fields.Append tdf.CreateField("Deriv2", dbText, 3)
tdf.Fields.Append tdf.CreateField("Kuantitas", dbDouble)
tdf.Fields.Append tdf.CreateField("SU", dbText, 12)
tdf.Fields.Append tdf.CreateField("HargaSatuan", dbDouble)
tdf.Fields.Append tdf.CreateField("TotalJumlah", dbDouble)
tdf.Fields.Append tdf.CreateField("Debit", dbDouble)
tdf.Fields.Append tdf.CreateField("Kredit", dbDouble)
tdf.Fields.Append tdf.CreateField("SaldoAkhir", dbDouble)
tdf.Fields.Append tdf.CreateField("JthTempo", dbDate)
dbs.TableDefs.Append tdf
dbs.Close
Cleanup:
Set tdf = Nothing
Set dbs = Nothing
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function
Function ImporBudgetDariExcel()
'------------------------------------------
' Fungsi untuk mengimpor data excel
' dan menampikannya dalam bentuk form sementara.
'------------------------------------------
Dim obj As AccessObject, dbsObject As Object
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field2
Dim frm As Form
Dim ctlData As Control
Dim ctlLabel As Control
Dim leftInch As Single
Dim strSqla As String
Dim n, topInch, widthInch, heightInch As Integer '1440 twips = 1 inch
On Error GoTo Err_Msg
Set dbsObject = Application.CurrentProject ' .CurrentData
For Each obj In dbsObject.AllForms
If obj.Name = "frmImporBudgetSubform" Then
DoCmd.DeleteObject acForm, obj.Name
End If
Next obj
DoCmd.SetWarnings False
Set dbs = CurrentDb()
Set tdf = dbs.TableDefs("tblBudgetImpor")
Set frm = CreateForm
frm.RecordSource = "qryBudgetImpor"
frm.DefaultView = 2
frm.Width = 1.3 * 1440
frm.AllowAdditions = False
frm.AllowEdits = False
frm.AllowDeletions = False
frm.RecordSelectors = 0
frm.NavigationButtons = 0
leftInch = 0.0833
topInch = 0
widthInch = 1440
heightInch = 1440
n = 0
For Each fld In tdf.Fields
If n = 0 Then
strSqla = "SELECT tblBudgetImpor.* FROM tblBudgetImpor WHERE ((Not (tblBudgetImpor." & fld.Name & ") Is Null)) " _
& " ORDER BY tblBudgetImpor." & fld.Name & ";"
BuatQuery "qryBudgetImpor", strSqla
End If
If n <= 2 Then
Set ctlData = CreateControl(frm.Name, acComboBox, acDetail, , fld.Name, 1.2833 * 1440, n * 0.2083 * 1440, 1440, 0.2083 * 1440)
ctlData.Name = fld.Name
Set ctlLabel = CreateControl(frm.Name, acLabel, acDetail, ctlData.Name, fld.Name, 0.0833 * 1440, n * 0.2083 * 1440, 1440, 0.2083 * 1440)
ctlLabel.Name = "lbl" & fld.Name
If n = 0 Then ctlData.RowSource = "tblRekUtama"
If n = 1 Then ctlData.RowSource = "tblRekDerivatif1"
If n = 2 Then ctlData.RowSource = "tblRekDerivatif2"
ctlData.ColumnCount = 2
ctlData.ColumnWidths = "1440;2880"
ctlData.ColumnHeads = 1
ctlData.ListWidth = 1440 + 2880
ctlData.Format = ""
Else
Set ctlData = CreateControl(frm.Name, acTextBox, acDetail, , fld.Name, 1.2833 * 1440, n * 0.2083 * 1440, 1440, 0.2083 * 1440)
ctlData.Name = fld.Name
Set ctlLabel = CreateControl(frm.Name, acLabel, acDetail, ctlData.Name, fld.Name, 0.0833 * 1440, n * 0.2083 * 1440, 1440, 0.2083 * 1440)
ctlLabel.Name = "lbl" & fld.Name
ctlData.Format = "Standard"
End If
n = n + 1
Next fld
DoCmd.Save , "frmImporBudgetSubform"
DoCmd.Close acForm, "frmImporBudgetSubform", acSaveYes
DoCmd.SetWarnings True
Exit_Function:
Exit Function
Err_Msg:
MsgBox "Error # " & str(Err.Number) & ", source: " & Err.Source & Chr(13) & Err.Description
Resume Exit_Function
End Function


Comments
Post a Comment