来自「VB开发的ERP系统」· 代码 · 共 1,519 行 · 第 1/5 页
TXT
1,519 行
LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
End If
If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
End If
Case 1
If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
End If
If Len(Trim(Textstr(Index, 2))) <> 0 Then
LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
End If
End Select
End If
Case 2 '日期型
If IsDate(LrText(Index).Text) Then
LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
Else
Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
Call Xtxxts(Tsxx, 0, 1)
LrText(Index).SetFocus
Exit Function
End If
Case 3 '其他类型
If Index = 0 Then
Sqlstr = "select * from Cwzz_AccCode where CCode='" & Trim(LrText(Index)) & "'"
Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Findrec.EOF = True Then
Tsxx = "该科目不存在!"
GoTo Error1
End If
If Trim(Findrec.Fields("StopUse") & "") = True Then
Tsxx = "该科目已停用!"
GoTo Error1
End If
End If
If Index = 1 Then
Sqlstr = "select * from Cwzz_AccCode where ccode='" & Trim(LrText(Index)) & "'"
Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Findrec.EOF = True Then
Tsxx = "该科目不存在!"
GoTo Error1
End If
If Trim(Findrec.Fields("EndFlag") & "") <> True Then
Tsxx = "应填写末级科目!"
GoTo Error1
End If
If Trim(Findrec.Fields("StopUse") & "") = True Then
Tsxx = "该科目已停用!"
GoTo Error1
End If
End If
Select Case Textint(Index, 3)
Case 0
If Len(Trim(Textstr(Index, 2))) <> 0 Then
LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
End If
If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
End If
Case 1
If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
End If
If Len(Trim(Textstr(Index, 2))) <> 0 Then
LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
End If
End Select
End Select
TextValiJudgeLock(Index) = True
TextYxxpd = True
Exit Function
Error1:
Call Xtxxts(Tsxx, 0, 1)
LrText(Index).SetFocus
TextYxxpd = False
Exit Function
End Function
Private Sub WbklrCl_After(Index As Integer) '文本框录入事后处理程序
'以下为依据实际情况自定义部分[
'在此填写文本框录入事后处理程序
']以上为依据实际情况自定义部分
End Sub
Private Sub LrText_Change(Index As Integer)
'屏蔽程序改变控制
If TextChangeLock Then
Exit Sub
End If
TextValiJudgeLock(Index) = False '打开有效性判断锁
'限制字段录入长度
TextChangeLock = True '加锁(防止执行Lrtext_Change)
Select Case Textint(Index, 1)
Case 8 '金额型
Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
Case 9 '数量型
Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
Case 10 '单价型
Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
Case Else '其他小数类型控制
If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
End If
End Select
TextChangeLock = False '解锁
End Sub
Private Sub LrText_GotFocus(Index As Integer) '文本框得到焦点,显示相应信息
Call TextShow(Index)
CurTextIndex = Index
LrText(Index).SelStart = Len(LrText(Index))
End Sub
Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) '字段按F2键提供帮助
Select Case KeyCode
Case vbKeyF2
Call Text_Help(Index)
End Select
End Sub
Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer) '文本框录入事中控制
Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
End Sub
Private Sub LrText_LostFocus(Index As Integer) '文本框失去焦点进行有效性判断及相应处理
If Textint(Index, 9) = 0 Or Textint(Index, 9) = 1 Then '事中判断
Call TextYxxpd(Index)
End If
End Sub
Private Sub Text_Help(Index As Integer) '录入字段帮助
If Not Textboolean(Index, 1) Then
Exit Sub
End If
TextValiJudgeLock(Index) = True
'先进行有效性判断
If Not TextYxxpd(CurTextIndex) Then
Exit Sub
End If
Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
If Len(Xtfhcs) <> 0 Then
If Textint(Index, 3) = 1 Then
LrText(Index).Text = Xtfhcsfz
LrText(Index).Tag = Xtfhcs
Else
LrText(Index).Text = Xtfhcs
LrText(Index).Tag = Xtfhcsfz
End If
End If
TextValiJudgeLock(Index) = False
LrText(Index).SetFocus
End Sub
Public Sub Fill_Relation()
Dim sqlstr1 As String '临时字符串
If LrText(0) = "" Then
Tsxx = "请输入损益科目!"
Call Xtxxts(Tsxx, 0, 4)
LrText(0).SetFocus
Exit Sub
End If
If LrText(1) = "" Then
Tsxx = "请输入本年利润科目!"
Call Xtxxts(Tsxx, 0, 4)
LrText(1).SetFocus
Exit Sub
End If
If LrText(2) = "" Then
Tsxx = "请输入摘要信息!"
Call Xtxxts(Tsxx, 0, 4)
LrText(2).SetFocus
Exit Sub
End If
'转帐科目(损益科目)记录集
Sqlstr = "select * from Cwzz_AccCode where Ccode like '" & Trim(LrText(0).Text) & "%' and EndFlag='1' and StopFlag<>'1'"
Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Cxnrrec.EOF = True Then
Tsxx = "重新选择损益类科目编码!"
Call Xtxxts(Tsxx, 1, 1)
Exit Sub
End If
'本年利润科目记录集
sqlstr1 = "select * from Cwzz_AccCode where Ccode='" & Trim(LrText(1).Text) & "' and EndFlag='1' and StopFlag<>'1'"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(sqlstr1)
If RecTemp.EOF = True Then
Tsxx = "重新选择利润科目编码!"
Call Xtxxts(Tsxx, 1, 1)
Exit Sub
End If
With Cxnrrec
WglrGrid.Clear 1
If .EOF And .BOF Then
Exit Sub
End If
Jsqte = WglrGrid.FixedRows
Do While Not .EOF
If Jsqte >= WglrGrid.Rows Then
WglrGrid.AddItem ""
End If
WglrGrid.TextMatrix(Jsqte, 0) = "*"
WglrGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = LrText(2)
WglrGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("CCode"))
WglrGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Trim(.Fields("CName"))
If CmbOut_In.Text = "收入" Then
WglrGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = "借"
Else
WglrGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = "贷"
End If
WglrGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = RecTemp.Fields("Ccode") & ""
WglrGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = RecTemp.Fields("Cname") & ""
WglrGrid.RowHeight(Jsqte) = Sjhgd
.MoveNext
Jsqte = Jsqte + 1
Loop
End With
'修改]
End Sub
Private Sub TextShow(Index As Integer) '文本框得到焦点,显示相应信息
If Textboolean(Index, 1) Then
Ydcommand1.Visible = True
Ydcommand1.Move LrText(Index).Left + LrText(Index).Width, LrText(Index).Top
Ydcommand1.Tag = Index
Else
Ydcommand1.Tag = ""
Ydcommand1.Visible = False
End If
End Sub
Private Sub Ydcommand1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Call Text_Help(Ydcommand1.Tag)
End Sub
Public Sub Bill_Head_Show() '填充窗体的网格之上文本框等内容
Dim rs_temp1 As New ADODB.Recordset '临时记录集
Dim rs_temp2 As New ADODB.Recordset '临时记录集
'取损益科目的数据
Sqlstr = "SELECT Cwzz_AutoTranItem.TranClass, Cwzz_AutoTranItem.TranCode, " & _
"Cwzz_AutoTranItem.TranOri,Cwzz_AutoTranItem.Ccode,Cwzz_AutoTranItem.Digest, " & _
"Cwzz_AutoTranItem.GetCcode,Cwzz_AutoTranItem.FormulaCode " & _
"FROM Cwzz_AutoTranMain RIGHT OUTER JOIN Cwzz_AutoTranItem ON " & _
"Cwzz_AutoTranMain.TranCode = Cwzz_AutoTranItem.TranCode AND " & _
"Cwzz_AutoTranMain.TranClass = Cwzz_AutoTranItem.TranClass " & _
"where Cwzz_AutoTranItem.TranCode='" & Lbl_AutoAccCode.Caption & "' " & _
"and Cwzz_AutoTranItem.tranclass='" & TranClassCode & "'" & _
"and Cwzz_AutoTranItem.FormulaCode<>'05' order by Cwzz_AutoTranItem.Ccode"
Set Rec_AutoAccItem = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Rec_AutoAccItem.Fields("TranOri") = "借" Then
CmbOut_In.Text = "收入"
Else
CmbOut_In.Text = "支出"
End If
LrText(2).Text = Rec_AutoAccItem.Fields("Digest")
'转帐科目编码
If Rec_AutoAccItem.Fields("Ccode") & "" <> "" Then
Sqlstr = "Select * from Cwzz_AccCode where Ccode='" & Trim(Rec_AutoAccItem.Fields("Ccode") & "") & "' order by Ccode"
Set rs_temp1 = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If rs_temp1.EOF = False Then
LrText(0).Text = Trim(rs_temp1.Fields("ParentCode") & "")
Else
LrText(0).Text = ""
End If
End If
'取本年利润的数据
Sqlstr = "SELECT Cwzz_AutoTranItem.TranClass, Cwzz_AutoTranItem.TranCode, " & _
"Cwzz_AutoTranItem.TranOri,Cwzz_AutoTranItem.Ccode,Cwzz_AutoTranItem.Digest, " & _
"Cwzz_AutoTranItem.GetCcode " & _
"FROM Cwzz_AutoTranMain RIGHT OUTER JOIN Cwzz_AutoTranItem ON " & _
"Cwzz_AutoTranMain.TranCode = Cwzz_AutoTranItem.TranCode AND " & _
"Cwzz_AutoTranMain.TranClass = Cwzz_AutoTranItem.TranClass " & _
"where Cwzz_AutoTranItem.TranCode='" & Lbl_AutoAccCode.Caption & "' " & _
"and Cwzz_AutoTranItem.tranclass='" & TranClassCode & "'" & _
"and Cwzz_AutoTranItem.FormulaCode='05'"
Set Rec_AutoAccItem = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Trim(Rec_AutoAccItem.Fields("Ccode") & "") <> "" Then
Sqlstr = "select * from Cwzz_AccCode where Ccode='" & Trim(Rec_AutoAccItem.Fields("Ccode") & "") & "' "
Set rs_temp2 = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If rs_temp2.EOF = False Then
LrText(1).Text = Trim(rs_temp2.Fields("CCode") & "")
Lab_GetName.Caption = Trim(rs_temp2.Fields("CName") & "") '为下一步网格内显示用
Else
LrText(1).Text = ""
End If
End If
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?