Dear Para Master Acces yang baik hati
Saya mencoba buat Prosedur Posting PO, Yand di posting ("Released PO").Yang
di posting ke General Ledger adalah DP (Downpayment dari PO). Tapi ada
error Ketika saya coba.
Table "General_Ledger" sudah saya buat Konsep Posting DP adalah sebagai
berikut
1.ID (di general_Ledger) otomatis Auto number jadi tidak perlu di posting
2.Transaksion_ID = "PDP" dan penomoran otomatis hanya untuk yang berawalan
PDP
3.GL_NUMBER = lookup dari PO_DP_Posting
4.GL_DESCRIPTION =lookup dari PO_DP_POSTING
5.DATE = NOW
6.POSTING = "PDP"
7.POSTING TO = nama Suplyer penerima DP
8.Description ="Down Payment" & PO yang di maksut
9.Value = jumlah DP (Positif) karena Debit
Posting yang kedua sama Tapi hanya GL-number,GL_description yang berubah dan
Value Negatif (karena Kredit)
Down Payment = debit ke Payble (Suplyer yang mendapat DP) dan Credit ke Cast
Berikut kode yang saya buat
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("po_line")
If Me.Released_PO <> "" Or Not IsNull(Me.Released_PO) Then
MsgBox " PO Tersebut sudah Released anda tidak bisa Edit Kontak
Administrator Komputer ", vbOKOnly, "Pesan"
Else
End If
currrentdb.Execute "insert into
General_ledger(transaksion_id,gl_number,gl_description,date,posting,posting_
to,description,value)" _
& " values " _
&
"if(dlookup([transaksion_id],[general_ledger],Cint(left([transaksion_id],3)=
'PDP'))>0 then NOPDP Else PDP_PERTAMA end
if)),dlookup([gl_number],[po_pd_posting],[id]=1),dlookup([gl_description],[p
o_dp_posting],[id]=1),now,me.PO_Number,me.PO_Suplyer_ID,'Down Payment' &
uchase (me.PO_Number ),sum(rst!down_payment)"
currrentdb.Execute "insert into
General_ledger(transaksion_id,gl_number,gl_description,date,posting,posting_
to,description,value)" _
& " values " _
&
"if(dlookup([transaksion_id],[general_ledger],Cint(left([transaksion_id],3)=
'PDP'))>0 then NOPDP Else PDP_PERTAMA end
if)),dlookup([gl_number],[po_pd_posting],[id]=2),dlookup([gl_description],[p
o_dp_posting],[id]=2),now,me.PO_Number,me.PO_Suplyer_ID,'Down Payment' &
uchase (me.PO_Number ),(sum(rst!down_payment))*-1"
CurrentDb.Execute "Update PO_Header set Released_PO = 'YES' where PO_number
= me.po_number"
End Sub
Function PDP_PERTAMA() As String
x = DCount("[transaksion_id]", "[general_ledger]",
"cint(left([transaksion_id])='PRD') < "" ") + 1
xy = "PDP" & Format(x, "000")
PRD_PERTAMA = xy
End Function
Function NOPDP() As String
NOPDP = "PDP" & Format(CInt(Right(DLast("transaksion_id", "general_ledger",
[left([transaksion_id],3='PDP')]), 3)) + 1, "000")
End Function
Silahkan Lihat File Dan Buka PO\Released_PO
Salam
Yokanan