Mình giup ban nha :
doan code 1:
Dim C01 As Recordset
Set C01 = CurrentDb.OpenRecordset("SOQUY", dbOpenTable)
Do Until C01.EOF
If C01.RecordCount > 0 Then
C01.Delete
End If
C01.MoveNext
Loop
C01.Close
Dim TB As Recordset
Dim Dd As Database
Dim NEWQR As QueryDef
Set Dd = CurrentDb
Set NEWQR = Dd.CreateQueryDef("TAOLAO")
NEWQR.SQL = "SELECT THUCHI.NGAY, THUCHI.MA, THUCHI.PHIEUCHI, THUCHI.DIENGIAI, THUCHI.SOTIENTHU, THUCHI.PHIEUNHAP, THUCHI.SOTIENCHI, THUCHI.CONG, THUCHI.MAKH, THUCHI.[NO], THUCHI.CO, THUCHI.PHIEUTHU, [NGAY] & [ma] AS hu, THUCHI.CHIPHI FROM THUCHI WHERE (((THUCHI.NGAY) Between [tungay] And [denngay]))ORDER BY [NGAY] & [ma];"
NEWQR.Close
Set TB = CurrentDb.OpenRecordset("SOQUY")
Dim q09 As QueryDef
Dim X09 As Recordset
TB.Index = "PRIMARYKEY"
Set q09 = CurrentDb.QueryDefs("TAOLAO")
q09.Parameters("tungay") = TUNGAY.Value
q09.Parameters("denngay") = DENNGAY.Value
'q09.Parameters("TAIKHOAN") = taikhoan.Value
Set X09 = q09.OpenRecordset()
If X09.RecordCount > 0 Then
X09.MoveFirst
Do Until X09.EOF
'On Error Resume Next
TB.Seek "=", maMOI
If TB.NoMatch Then
TB.AddNew
TB!NGAY = X09!NGAY
TB!MA = X09!hu
TB!PHIEUCHI = X09!PHIEUCHI
TB!DIENGIAI = X09!DIENGIAI
TB!SOTIENTHU = X09!SOTIENTHU
TB!PHIEUNHAP = X09!PHIEUNHAP
TB!SOTIENCHI = X09!SOTIENCHI
TB!CONG = X09!CONG
TB!no = X09!no
TB!co = X09!co
TB!PHIEUTHU = X09!PHIEUTHU
TB!CHIPHI = X09!CHIPHI
'TB!TONDAU = 0
'TB!TONCUOI = 0
'On Error Resume Next
TB.UPDATE
TB.Bookmark = TB.LastModified
End If
TB.Edit
TB.UPDATE: X09.MoveNext
Loop
End If
Dd.QueryDefs.Delete "TAOLAo"
'Dim T07 As Recordset, DAUKY As Variant
'Set T07 = CurrentDb.OpenRecordset("TONQUY", dbOpenTable)
'THANG As Variant
'THANG = Month(TUNGAY)
'Do Until T07.EOF
'T07.Seek
'RunCommand acCmdSelectRecord
Dim T7 As Recordset, TH As Integer
Set T7 = CurrentDb.OpenRecordset("TONQUY", dbOpenTable)
'TH As Variant
TH = Month(TUNGAY)
Dim A As Variant
T7.MoveFirst
Do Until T7.EOF
If T7!THANG = TH Then A = T7!SOTIEN
'End If
T7.MoveNext
Loop
T7.Close
Dim Dd1 As Database
Dim mn As QueryDef
Set Dd1 = CurrentDb
Set mn = Dd1.CreateQueryDef("TAOLAO")
mn.SQL = "SELECT THUCHI.NGAY, Sum(THUCHI.SOTIENTHU) AS THU, Sum(THUCHI.SOTIENCHI) AS CHI FROM THUCHI GROUP BY THUCHI.NGAY HAVING (((THUCHI.NGAY) < [TUNGAY]))"
mn.Close
'Set TB = CurrentDb.OpenRecordset("SOQUY")
Dim q091 As QueryDef
Dim X091 As Recordset
'TB.Index = "PRIMARYKEY"
Set q091 = CurrentDb.QueryDefs("TAOLAO")
q091.Parameters("tungay") = TUNGAY.Value
'q09.Parameters("denngay") = DENNGAY.Value
'q09.Parameters("TAIKHOAN") = taikhoan.Value
Set X091 = q091.OpenRecordset()
B = 0
Do Until X091.EOF
If X091.RecordCount > 0 Then
A = A + X091!thu
B = B + X091!chi
End If
X091.MoveNext
Loop
'TB.Close
X091.Close
Dd1.QueryDefs.Delete "TAOLAo"
C = A - B
'X09.MoveFirst
'Do Until X09.EOF
'On Error Resume Next
'TB.Seek "=", maMOI
'If TB.NoMatch Then
'TB!PHIEUTHU = X09!PHIEUTHU
'X09.MoveNext
'Loop
Dim T06 As Recordset, DAUKY As Variant
Set T06 = CurrentDb.OpenRecordset("SOQUY", dbOpenTable)
If T06.RecordCount = 0 Then
MsgBox " Xem lai ngay nhap lieu ?": Exit Sub
Else
T06.Index = "PRIMARYKEY": T06.MoveFirst
NGAYDAU = T06!NGAY: LUADAU = T06!tondau
'DAUKY = InputBox("SO DAU KY NGAY " & NGAYDAU & vbCr & "(" & LUASAU & ")", "TINH QUY LIEN TUC")
'If DAUKY = "" Or Val(DAUKY) = 0 Then DAUKY = T06!TONDAU
DAUKY = C
tondau.Value = C
Do Until T06.EOF
T06.Edit: T06!tondau = DAUKY
T06!TONCUOI = DAUKY + T06!SOTIENTHU - T06!SOTIENCHI
T06.UPDATE: DAUKY = T06!TONCUOI
T06.MoveNext
Loop
End If
T06.Close: Me.Requery: Me.Refresh
x.Value = DAUKY
Y.Value = C
DoCmd.OpenReport "soquy", acViewPreview
doan code 2
Public Function soquy()
Dim C01 As Recordset
Set C01 = CurrentDb.OpenRecordset("THUCHI", dbOpenTable)
Do Until C01.EOF
If C01.RecordCount > 0 Then
C01.Delete
End If
C01.MoveNext
Loop
C01.Close
Dim TB As Recordset
Dim Dd As Database
Dim NEWQR As QueryDef
Set Dd = CurrentDb
Set NEWQR = Dd.CreateQueryDef("TAOLAO")
NEWQR.SQL = "SELECT vndmaphieuchitienmat.maphieu, vndmaphieuchitienmat.makhach, vndmaphieuchitienmat.ngay, vndmaphieuchitienmat.diengiai, vndmaphieuchitienmat.tenkhach, vndmaphieuchitienmat.phanloai, vndmaphieuchitienmat.sotien, vndmaphieuchitienmat.Cong, vndmaphieuchitienmat.chungtukem, 'PC' & [MAPHIEU] AS MAMOI, Left([MAPHIEU],3) AS PHIEUCHI, 1111 AS TAICO FROM vndmaphieuchitienmat;"
NEWQR.Close
Set TB = CurrentDb.OpenRecordset("THUCHI")
Dim q09 As QueryDef
Dim X09 As Recordset
TB.Index = "PRIMARYKEY"
Set q09 = CurrentDb.QueryDefs("TAOLAO")
'q09.Parameters("tungay") = TUNGAY.Value
'q09.Parameters("denngay") = DENNGAY.Value
'q09.Parameters("TAIKHOAN") = taikhoan.Value
Set X09 = q09.OpenRecordset()
If X09.RecordCount > 0 Then
X09.MoveFirst
Do Until X09.EOF
'On Error Resume Next
TB.Seek "=", maMOI
If TB.NoMatch Then
TB.AddNew
TB!NGAY = X09!NGAY
TB!MA = X09!maMOI & "vnd"
TB!PHIEUCHI = X09!PHIEUCHI & "vnd"
TB!DIENGIAI = X09!DIENGIAI
TB!SOTIENCHI = X09!SOTIEN
TB!CONG = X09!SOTIEN
TB!CHIPHI = X09!MAKHACH
TB!MAKH = X09!TENKHACH
TB!LOAICP = X09!PHANLOAI
TB!co = X09!taico
TB!PHIEUNHAP = X09!CHUNGTUKEM
'On Error Resume Next
TB.UPDATE: TB.Bookmark = TB.LastModified
End If
TB.Edit
TB.UPDATE: X09.MoveNext
Loop
End If
Dd.QueryDefs.Delete "TAOLAo"
'cap nhat phieu thu
Dim kh As Recordset
Dim dm As Database
Dim oldqr As QueryDef
Set dm = CurrentDb
Set oldqr = dm.CreateQueryDef("laotao")
oldqr.SQL = "SELECT vndmaphieuthutienmat.maphieu, vndmaphieuthutienmat.madoanhthu, vndmaphieuthutienmat.diengiai, vndmaphieuthutienmat.ngay, vndmaphieuthutienmat.[ten khach], vndmaphieuthutienmat.diachi, vndmaphieuthutienmat.sotien, 'PT' & [MAPHIEU] AS MAPTHU, Left([MAPHIEU],2) AS PHIEUTHU, vndmaphieuthutienmat.PHANLOAI, 1111 AS TAINO FROM vndmaphieuthutienmat;"
oldqr.Close
Set kh = CurrentDb.OpenRecordset("THUCHI")
Dim m09 As QueryDef
Dim z09 As Recordset
kh.Index = "PRIMARYKEY"
Set m09 = CurrentDb.QueryDefs("laotao")
'm09.Parameters("tungay") = TUNGAY.Value
'm09.Parameters("denngay") = DENNGAY.Value
'm09.Parameters("TAIKHOAN") = taikhoan.Value
Set z09 = m09.OpenRecordset()
If z09.RecordCount > 0 Then
z09.MoveFirst
Do Until z09.EOF
'On Error Resume Next
kh.Seek "=", mapthu
If kh.NoMatch Then
kh.AddNew
kh!NGAY = z09!NGAY
kh!MA = z09!mapthu & "vnd"
kh!PHIEUTHU = z09!PHIEUTHU & "vnd"
kh!DIENGIAI = z09!DIENGIAI
kh!SOTIENTHU = z09!SOTIEN
kh!CONG = z09!SOTIEN
kh!no = z09!taino
kh!CHIPHI = z09!PHANLOAI
'kh!PHIEUNHAP = z09!CHUNGTUKEM
'On Error Resume Next
kh.UPDATE: kh.Bookmark = kh.LastModified
End If
kh.Edit
kh.UPDATE: z09.MoveNext
Loop
End If
dm.QueryDefs.Delete "laotao"
dm.Close
Dim dd10 As Recordset
Dim zz10 As Recordset
Set dd10 = CurrentDb.OpenRecordset("ma", dbOpenTable)
dd10.Index = "PRIMARYKEY"
Set zz10 = CurrentDb.OpenRecordset("thuchi", dbOpenTable)
If zz10.RecordCount > 0 Then
zz10.MoveFirst
Do Until zz10.EOF
dd10.Seek "=", zz10!CHIPHI
If Not dd10.NoMatch Then
zz10.Edit
zz10!no = dd10!taino
zz10!co = dd10!taico
zz10.UPDATE
End If
zz10.MoveNext
Loop
End If
dd10.Close
zz10.Close
End Function
chuc thanh cong