On Error GoTo Err1
Dim i As Long, j As Long
Dim k, s As Integer
Dim yn As Boolean
Dim n, num As Integer
For n = 1 To Me.ListView1.ListItems.count
If Me.ListView1.ListItems(n).Selected = True And Me.ListView1.ListItems(n).Checked = True Then
num = n
End If
Next n
Select Case index
Case 0 'select
Dim Adb As New ADODB.Connection
Dim Rec As New ADODB.Recordset
Dim TempDate As Date If num <= 0 Then
MsgBox "请选择帐套各称!", vbOKOnly + vbInformation, "提示"
Exit Sub
End If
Dim Ztzgr As String TempDate = GetKjDate(Trim(Me.ListView1.ListItems(num).Text), Trim(Text1.Text))
SysDate = Trim(Text1.Text) & "-" & Month(TempDate) & "-" & Month(TempDate) ZTMdb = Trim(Me.ListView1.ListItems(num).Text) & "\" & Trim(Str(Year(SysDate)))
PcZtname = Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Str(Year(SysDate))) & ")"
SetConnect ZTMdb
SetDefaultZT Me.ListView1.ListItems(num).Text, Year(SysDate)
Ztzgr = GetZtzgr(Trim(Me.ListView1.ListItems(num).Text), Year(SysDate))
Adb.Open Publicstr
Rec.Open "select * from system", Adb, adOpenStatic
Rec.MoveFirst
Frmstart.Caption = Trim(Rec!Dwname) & "-------------村组财务会计核算管理 帐套名:" & PcZtname & "----->主管:" & Ztzgr
Frmstart.StatusBar1.Panels(1).Text = "当前操作帐套: " & PcZtname & "----->主管:" & Ztzgr Frmstart.StatusBar1.Panels(3).Text = "会计日期: " & SysDate
If Zhsycs > 0 Then
Frmstart.Caption = Left(Trim(Frmstart.Caption), Len(Trim(Frmstart.Caption)) - 2) & Trim(Zhsycs)
End If
Rec.Close
Set Rec = Nothing
Adb.Close
Set Adb = Nothing
WriteOpLog "选择帐套[" & PcZtname & "]"
Unload Me
Exit Sub
Case 1 'new
cNameStr = ""
frmNewDB.Show 1
If Trim(cNameStr) <> "" Then
'List1.AddItem Trim(cNameStr)
Dim im As ListItem
Set im = Me.ListView1.ListItems.Add(, , cNameStr)
im.SubItems(1) = cZgrStr
' cbocz.Clear
End If
'cbocz.Refresh
Case 2 'delete
Dim Msg As Integer
If num <= 0 Then
MsgBox "请选择帐套名称!", vbOKOnly + vbInformation, "提示"
Exit Sub
If Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Text1.Text) & ")" = PcZtname Then
MsgBox "此帐套正被使用,暂时不能删除!", vbOKOnly + 16, "提示"
Exit Sub
End If
Msg = MsgBox("确信要删除[" & Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Text1.Text) & ")" & "]帐套数据吗?", vbYesNo + 32, "询问")
If Msg = vbYes Then
Dim FilesFold As New FileSystemObject
On Error GoTo Err2
Kill App.Path & "\mdb\" & Trim(Me.ListView1.ListItems(num).Text) & "\" & Trim(Text1.Text) & ".mdb" If FilesFold.GetFolder(App.Path & "\mdb\" & Trim(Me.ListView1.ListItems(num).Text)).files.count < 1 Then
FilesFold.DeleteFolder (App.Path & "\mdb\" & Trim(Me.ListView1.ListItems(num).Text))
End If Dim ztAdb1 As New ADODB.Connection
Dim ztrec1 As New ADODB.Recordset
SetPcnn "Public"
ztAdb1.Open Publicstr
ztrec1.Open "select * from ztlimit where trim(ztname)='" & Trim(Me.ListView1.ListItems(num).Text) & "' and trim(nh)='" & Trim(Text1.Text) & "'", ztAdb1, adOpenStatic
If ztrec1.RecordCount <> 0 Then
ztAdb1.Execute "delete from ztlimit where trim(ztname)='" & Trim(Me.ListView1.ListItems(num).Text) & "' and trim(nh)='" & Trim(Text1.Text) & "'"
End If WriteOpLog "删除帐套[" & Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Text1.Text) & ")" & "]" 'List1.RemoveItem (List1.ListIndex)
Me.ListView1.ListItems.Remove num
ztrec1.Close
ztAdb1.Close
End If
Exit Sub
Err2:
MsgBox "对不起![" & Trim(Text1.Text) & "]年不存在帐套[" & Trim(Me.ListView1.ListItems(num).Text) & "],请重新以该帐套存在的年号登录系统", vbOKOnly + 16, "提示"
Case 4
If num <= 0 Then Exit Sub
Dim frm As New FrmModiZT
frm.Text1.Text = Trim(Me.ListView1.ListItems(num).Text)
frm.Show 1
Unload frm
Set frm = Nothing
RefreshList1 Trim(Text1.Text)
Case 3
'********************************
' 转结上年余额
'********************************
If MsgBox("是否结转所有新建的账套?", vbYesNo + 32, "提示") = vbYes Then
For i = 1 To Me.ListView1.ListItems.count
num = i
Snjz num
Next i
Else
Snjz num
End If
End Select
' Exit Sub
Err1:
MsgBox Err.Description, vbOKOnly + 16, "提示"
Dim i As Long, j As Long
Dim k, s As Integer
Dim yn As Boolean
Dim n, num As Integer
For n = 1 To Me.ListView1.ListItems.count
If Me.ListView1.ListItems(n).Selected = True And Me.ListView1.ListItems(n).Checked = True Then
num = n
End If
Next n
Select Case index
Case 0 'select
Dim Adb As New ADODB.Connection
Dim Rec As New ADODB.Recordset
Dim TempDate As Date If num <= 0 Then
MsgBox "请选择帐套各称!", vbOKOnly + vbInformation, "提示"
Exit Sub
End If
Dim Ztzgr As String TempDate = GetKjDate(Trim(Me.ListView1.ListItems(num).Text), Trim(Text1.Text))
SysDate = Trim(Text1.Text) & "-" & Month(TempDate) & "-" & Month(TempDate) ZTMdb = Trim(Me.ListView1.ListItems(num).Text) & "\" & Trim(Str(Year(SysDate)))
PcZtname = Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Str(Year(SysDate))) & ")"
SetConnect ZTMdb
SetDefaultZT Me.ListView1.ListItems(num).Text, Year(SysDate)
Ztzgr = GetZtzgr(Trim(Me.ListView1.ListItems(num).Text), Year(SysDate))
Adb.Open Publicstr
Rec.Open "select * from system", Adb, adOpenStatic
Rec.MoveFirst
Frmstart.Caption = Trim(Rec!Dwname) & "-------------村组财务会计核算管理 帐套名:" & PcZtname & "----->主管:" & Ztzgr
Frmstart.StatusBar1.Panels(1).Text = "当前操作帐套: " & PcZtname & "----->主管:" & Ztzgr Frmstart.StatusBar1.Panels(3).Text = "会计日期: " & SysDate
If Zhsycs > 0 Then
Frmstart.Caption = Left(Trim(Frmstart.Caption), Len(Trim(Frmstart.Caption)) - 2) & Trim(Zhsycs)
End If
Rec.Close
Set Rec = Nothing
Adb.Close
Set Adb = Nothing
WriteOpLog "选择帐套[" & PcZtname & "]"
Unload Me
Exit Sub
Case 1 'new
cNameStr = ""
frmNewDB.Show 1
If Trim(cNameStr) <> "" Then
'List1.AddItem Trim(cNameStr)
Dim im As ListItem
Set im = Me.ListView1.ListItems.Add(, , cNameStr)
im.SubItems(1) = cZgrStr
' cbocz.Clear
End If
'cbocz.Refresh
Case 2 'delete
Dim Msg As Integer
If num <= 0 Then
MsgBox "请选择帐套名称!", vbOKOnly + vbInformation, "提示"
Exit Sub
If Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Text1.Text) & ")" = PcZtname Then
MsgBox "此帐套正被使用,暂时不能删除!", vbOKOnly + 16, "提示"
Exit Sub
End If
Msg = MsgBox("确信要删除[" & Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Text1.Text) & ")" & "]帐套数据吗?", vbYesNo + 32, "询问")
If Msg = vbYes Then
Dim FilesFold As New FileSystemObject
On Error GoTo Err2
Kill App.Path & "\mdb\" & Trim(Me.ListView1.ListItems(num).Text) & "\" & Trim(Text1.Text) & ".mdb" If FilesFold.GetFolder(App.Path & "\mdb\" & Trim(Me.ListView1.ListItems(num).Text)).files.count < 1 Then
FilesFold.DeleteFolder (App.Path & "\mdb\" & Trim(Me.ListView1.ListItems(num).Text))
End If Dim ztAdb1 As New ADODB.Connection
Dim ztrec1 As New ADODB.Recordset
SetPcnn "Public"
ztAdb1.Open Publicstr
ztrec1.Open "select * from ztlimit where trim(ztname)='" & Trim(Me.ListView1.ListItems(num).Text) & "' and trim(nh)='" & Trim(Text1.Text) & "'", ztAdb1, adOpenStatic
If ztrec1.RecordCount <> 0 Then
ztAdb1.Execute "delete from ztlimit where trim(ztname)='" & Trim(Me.ListView1.ListItems(num).Text) & "' and trim(nh)='" & Trim(Text1.Text) & "'"
End If WriteOpLog "删除帐套[" & Trim(Me.ListView1.ListItems(num).Text) & "(" & Trim(Text1.Text) & ")" & "]" 'List1.RemoveItem (List1.ListIndex)
Me.ListView1.ListItems.Remove num
ztrec1.Close
ztAdb1.Close
End If
Exit Sub
Err2:
MsgBox "对不起![" & Trim(Text1.Text) & "]年不存在帐套[" & Trim(Me.ListView1.ListItems(num).Text) & "],请重新以该帐套存在的年号登录系统", vbOKOnly + 16, "提示"
Case 4
If num <= 0 Then Exit Sub
Dim frm As New FrmModiZT
frm.Text1.Text = Trim(Me.ListView1.ListItems(num).Text)
frm.Show 1
Unload frm
Set frm = Nothing
RefreshList1 Trim(Text1.Text)
Case 3
'********************************
' 转结上年余额
'********************************
If MsgBox("是否结转所有新建的账套?", vbYesNo + 32, "提示") = vbYes Then
For i = 1 To Me.ListView1.ListItems.count
num = i
Snjz num
Next i
Else
Snjz num
End If
End Select
' Exit Sub
Err1:
MsgBox Err.Description, vbOKOnly + 16, "提示"
单步调试看一看,应该是on Error跳转或者是if块语句有问题
您的语句写成这样,自己都晕掉了,以后怎么维护呀?
更不要说别人来看了
If num <= 0 Then ‘lz这一句没有end if 配合
设置断点在这里,然后再作判断。我觉得lz的代码没有楼上说的那么惨。
Case 2 'delete
Dim Msg As Integer
If num <= 0 Then
MsgBox "请选择帐套名称!", vbOKOnly + vbInformation, "提示"
Exit Sub
End If'--------------------------------------------------------缺少这个End If
他的什么属性