📄 yy_khdd.frm
字号:
On Error Resume Next
Set CX_FrM_SjY = yy_khdd.AdoprimaryRs
CX_SJy = "select * from yy_khddt where not khbh is null "
With SEC_Dialog
.Combo1(0).Clear
.Combo1(1).Clear
.Combo1(0).AddItem ("khbh(客户编号)")
.Combo1(1).AddItem ("khbh(客户编号)")
.Combo1(0).AddItem ("khmc(客户名称)")
.Combo1(1).AddItem ("khmc(客户名称)")
.Combo1(0).AddItem ("ddbh(订单编号)")
.Combo1(1).AddItem ("ddbh(订单编号)")
.Combo1(0).AddItem ("htbh(客户制单号)")
.Combo1(1).AddItem ("htbh(客户制单号)")
.Combo1(0).AddItem ("hybh(合同编号)")
.Combo1(1).AddItem ("hybh(合同编号)")
End With
Load SEC_Dialog
SEC_Dialog.Show 1
End Sub
Private Sub DTPicker1_Change()
If Check1.Value = 0 Then
AdoprimaryRs.ConnectionString = Conn_Str
AdoprimaryRs.RecordSource = "SELECT * FROM yy_khddt WHERE YEAR(djRQ)='" & DTPicker1.Year & "' AND MONTH(djRQ)='" & DTPicker1.Month & "' ORDER BY khbh"
Else
AdoprimaryRs.ConnectionString = Conn_Str
AdoprimaryRs.RecordSource = "SELECT * FROM yy_khddt WHERE djRQ='" & DTPicker1.Value & "' order BY khbh"
End If
AdoprimaryRs.Refresh
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) '非法退出禁止
If Cmdcancel.Enabled = True Then
If UnloadMode <> VBRUN.QueryUnloadConstants.vbFormCode Then
Cancel = 1
Exit Sub
End If
End If
End Sub
Private Sub Form_Load() '列表框数据
Me.Width = main_FRM.Picture1.Width - 30
Me.Top = main_FRM.ActiveBar21.Bands("Band7").Height * 2.5 - 65
Me.Height = main_FRM.Picture1.Height - 300
Me.Left = main_FRM.Picture1.Left + 15
Tjbz = False
DTPicker1.Value = VBA.Date
Cmdcancel.Enabled = False
CmdOK.Enabled = False
If SH_Right = True Then
CmD_SH.Visible = True
Else
CmD_SH.Visible = False
End If
Call combo_load
AdoprimaryRs.ConnectionString = Conn_Str
AdoprimaryRs.RecordSource = "select * FROM yy_khddt where djrq='" & VBA.Date & "'"
AdoprimaryRs.Refresh
End Sub
Private Sub T_Sh_Change()
If T_Sh.Text = "已审" And SH_Right = False Then
Cmdedit.Visible = False
Cmddelete.Visible = False
Else
Cmdedit.Visible = True
Cmddelete.Visible = True
End If
End Sub
Private Sub T_Sh_GotFocus()
SendKeys "{TAB}"
End Sub
Private Sub TDBGrid1_BeforeColupdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
On Error Resume Next
If ColIndex = 6 Or ColIndex = 7 Or ColIndex = 10 Then
TDBGrid1.Columns(10).Value = Val(TDBGrid1.Columns(6).Value) * Val(TDBGrid1.Columns(7).Value)
End If
End Sub
Private Sub TDBGrid1_Change()
If TDBGrid1.Col = 0 And Cmdadd.Enabled = False Then
TDBGrid2.Visible = True
Ado_cpxx.ConnectionString = Conn_Str
Ado_cpxx.RecordSource = "select distinct * from yy_khbj where cpbh like '%" & TDBGrid1.Columns(0).Text & "%' and khbh='" & Combo(5).Text & "' order by cpbh,cpmc,gg,dj"
Ado_cpxx.Refresh
End If
End Sub
Private Sub TDBGrid1_KeyDown(KeyCode As Integer, Shift As Integer) '表格记录删除 2002年9月18日 曹汉华
On Error Resume Next
If Cmdadd.Enabled = False Then
If KeyCode = 46 Then
Adodc_body_general.Recordset.Delete
Adodc_body_general.Recordset.UpdateBatch adAffectAll
Adodc_body_general.Refresh
End If
End If
End Sub
Private Sub TDBGrid2_Click()
On Error Resume Next
TDBGrid1.Columns(0).Value = TDBGrid2.Columns(0).Value
TDBGrid1.Columns(1).Value = TDBGrid2.Columns(1).Value
TDBGrid1.Columns(2).Value = TDBGrid2.Columns(2).Value
TDBGrid1.Columns(3).Value = TDBGrid2.Columns(3).Value
TDBGrid1.Columns(4).Value = TDBGrid2.Columns(4).Value
TDBGrid1.Columns(5).Value = TDBGrid2.Columns(6).Value
TDBGrid1.Columns(6).Value = TDBGrid2.Columns(7).Value
TDBGrid1.Columns(8).Value = TDBGrid2.Columns(5).Value
TDBGrid1.Columns(11).Value = TDBGrid2.Columns(8).Value
TDBGrid1.Columns(19).Value = TDBGrid2.Columns(9).Value
TDBGrid1.Columns(13).Value = TDBGrid1.Row + 1
TDBGrid1.Columns(12).Value = Trim(Text1(0).Text)
TDBGrid1.Columns(14).Value = Trim(Combo(5).Text)
TDBGrid1.Columns(15).Value = CVDate(Trim(Text1(2).Text))
TDBGrid1.Columns(16).Value = Trim(Text1(3).Text)
TDBGrid1.Columns(17).Value = Trim(Text1(4).Text)
TDBGrid1.Columns(7).Value = 0
TDBGrid1.Columns(18).Value = "未完成"
TDBGrid1.Columns(9).Value = CVDate(Text1(5).Text)
End Sub
Private Sub Text1_Change(Index As Integer)
If Index = 0 Then
Adodc_body_general.ConnectionString = Conn_Str
Adodc_body_general.RecordSource = "select * from yy_khdd with (nolock) where ddbh='" & Text1(0).Text & "'"
Adodc_body_general.Refresh
End If
End Sub
Private Sub text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then '向下箭头
If Index + 1 < Text1.Count Then
Text1(Index + 1).SetFocus
Else
End If
End If
If KeyCode = 38 Then '向上箭头
If Index - 1 >= 0 Then
Text1(Index - 1).SetFocus
Else
Text1(Text1.Count - 1).SetFocus
End If
End If
End Sub
Private Sub Cmdadd_Click() '添加
Tjbz = True
CmD_SH.Enabled = False
cmdqd.Enabled = False
cmdxq.Enabled = False
cmdmd.Enabled = False
cmdnext.Enabled = False
Cmdprint.Enabled = False
Command1.Enabled = False
TDBGrid3.Enabled = False
Cmddelete.Enabled = False
Cmdadd.Enabled = False
Cmdedit.Enabled = False
Cmdreturn.Enabled = False
CmdOK.Enabled = True
Cmdcancel.Enabled = True
TDBGrid1.AllowDelete = True
TDBGrid1.AllowUpdate = True
ni = Right(Year(Date), 2)
If Len(Month(Date)) < 2 Then
yue = "0" & Month(Date)
Else
yue = Month(Date)
End If
If Len(Day(Date)) < 2 Then
ri = "0" & Day(Date)
Else
ri = Day(Date)
End If
Set DdBh_Ado = New Recordset
DdBh_Ado.Open "select distinct ddbh from yy_khddt where year(djrq)='" & Year(Date) & "'and month(djrq)='" & Month(Date) & "' order by ddbh", DB, adOpenStatic
If DdBh_Ado.RecordCount < 1 Then
bh = "00001"
Else
DdBh_Ado.MoveLast
bhx = Trim(Str(Val(Right(DdBh_Ado.Fields("ddbh").Value, 5)) + 1))
If Len(bhx) = 1 Then
bh = "0000" & bhx
End If
If Len(bhx) = 2 Then
bh = "000" + bhx
End If
If Len(bhx) = 3 Then
bh = "00" + bhx
End If
If Len(bhx) = 4 Then
bh = "0" + bhx
End If
If Len(bhx) > 4 Then
bh = bhx
End If
End If
On Error GoTo AddErr
If AdoprimaryRs.Recordset.RecordCount > 0 Then
AdoprimaryRs.Recordset.MoveLast
End If
AdoprimaryRs.Recordset.AddNew
For i = 0 To Text1.Count - 1
Text1(i).Locked = False
Next i
For i = 0 To Combo.Count - 1
Combo(i).Locked = False
Next i
Text1(0).Text = "DD" & ni & yue & bh
Text1(2).Text = VBA.Date
Exit Sub
AddErr:
MsgBox Err.Description
End Sub
Private Sub cmdDelete_Click() '删除
On Error Resume Next
If MsgBox("是否真的删除当前记录 ?", vbYesNo + 32, "系统提示") = vbYes Then
Ddcode = Trim(Text1(0).Text)
Adodc_body_general.Recordset.ActiveConnection.Execute "delete from yy_khdd where ddbh='" & Ddcode & "'"
Adodc_body_general.Recordset.UpdateBatch adAffectAll
If AdoprimaryRs.Recordset.RecordCount > 0 Then
With AdoprimaryRs
.Recordset.Delete
If .Recordset.EOF = False Then .Refresh
If AdoprimaryRs.Recordset.RecordCount > 0 Then
.Recordset.MoveLast
End If
End With
End If
AdoprimaryRs.Refresh
Adodc_body_general.Refresh
Else
Exit Sub
End If
End Sub
Private Sub cmdEdit_Click() '修改
TDBGrid1.AllowDelete = True
TDBGrid1.AllowUpdate = True
For i = 0 To Text1.Count - 1
Text1(i).Locked = False
Next i
For i = 0 To Combo.Count - 1
Combo(i).Locked = False
Next i
CmD_SH.Enabled = False
cmdqd.Enabled = False
cmdxq.Enabled = False
cmdmd.Enabled = False
cmdnext.Enabled = False
Cmdprint.Enabled = False
Command1.Enabled = False
TDBGrid3.Enabled = False
Cmddelete.Enabled = False
Cmdadd.Enabled = False
Cmdedit.Enabled = False
Cmdreturn.Enabled = False
CmdOK.Enabled = True
Cmdcancel.Enabled = True
On Error GoTo EditErr
Exit Sub
EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click() '取消
On Error Resume Next
If Tjbz = True Then
Adodc_body_general.Recordset.ActiveConnection.Execute "delete from yy_khdd where ddbh='" & Trim(Text1(0).Text) & "'"
Adodc_body_general.Recordset.UpdateBatch adAffectAll
End If
Tjbz = False
TDBGrid2.Visible = False
For i = 0 To Text1.Count - 1
Text1(i).Locked = True
Next i
For i = 0 To Combo.Count - 1
Combo(i).Locked = True
Next i
TDBGrid1.AllowDelete = True
TDBGrid1.AllowUpdate = True
CmD_SH.Enabled = True
cmdqd.Enabled = True
cmdxq.Enabled = True
cmdmd.Enabled = True
cmdnext.Enabled = True
Cmdprint.Enabled = True
Command1.Enabled = True
TDBGrid3.Enabled = True
Cmddelete.Enabled = True
Cmdadd.Enabled = True
Cmdedit.Enabled = True
Cmdreturn.Enabled = True
CmdOK.Enabled = False
Cmdcancel.Enabled = False
On Error Resume Next
AdoprimaryRs.Recordset.CancelUpdate
AdoprimaryRs.Recordset.MoveFirst
End Sub
Private Sub cmdOK_Click() '确认
On Error Resume Next
If Tjbz = True And Adodc_body_general.Recordset.RecordCount > 0 Then
TDBGrid1.MoveNext
End If
Tjbz = False
TDBGrid2.Visible = False
TDBGrid1.AllowDelete = False
TDBGrid1.AllowUpdate = False
Dim Sumsl As Recordset
If Text1(0).Text = "" Then
MsgBox "所有名称不能为空", 48, "提示"
Exit Sub
End If
For i = 0 To Text1.Count - 1
Text1(i).Locked = True
Next i
For i = 0 To Combo.Count - 1
Combo(i).Locked = True
Next i
CmD_SH.Enabled = True
cmdqd.Enabled = True
cmdxq.Enabled = True
cmdmd.Enabled = True
cmdnext.Enabled = True
Cmdprint.Enabled = True
Command1.Enabled = True
TDBGrid3.Enabled = True
Cmddelete.Enabled = True
Cmdadd.Enabled = True
Cmdedit.Enabled = True
Cmdreturn.Enabled = True
CmdOK.Enabled = False
Cmdcancel.Enabled = False
Set Sumsl = New Recordset
Sumsl.Open "select sum(isnull(sl,0)) as zsl,sum(isnull(je,0)) as zje from yy_khdd where ddbh='" & Text1(0).Text & "'", DB, adOpenStatic
If Sumsl.RecordCount > 0 Then
Sumsl.MoveFirst
Text1(6).Text = Sumsl!zsl
Text1(7).Text = Sumsl!zje
End If
AdoprimaryRs.Recordset.UpdateBatch adAffectAll
Adodc_body_general.Recordset.UpdateBatch adAffectAll
If AdoprimaryRs.Recordset.BOF Then
AdoprimaryRs.Recordset.MovePrevious
AdoprimaryRs.Recordset.MoveNext
Else
AdoprimaryRs.Recordset.MoveNext
AdoprimaryRs.Recordset.MovePrevious
End If
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub
Sub combo_load()
Dim combo2_data As Recordset
Set combo2_data = New Recordset
combo2_data.Open "select DISTINCT khbh from yy_khzl where not khbh is null", DB, adOpenStatic, adLockOptimistic
If combo2_data.RecordCount > 0 Then
For i = 1 To combo2_data.RecordCount
Combo(5).AddItem (combo2_data.Fields("khbh"))
If combo2_data.EOF = False Then
combo2_data.MoveNext
End If
Next i
combo2_data.MoveFirst
Else
Exit Sub
End If
End Sub
Private Sub text1_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then ' 按回车
KeyAscii = 0
SendKeys "{TAB}"
End If
End Sub
Private Sub text1_LostFocus(Index As Integer)
If Cmdadd.Enabled = False Then
If Index = 6 Then
If IsDate(Trim(Text1(5).Text)) = False Then
MsgBox "日期输入有误,请重新录入", vbOKOnly + 16, "系统提示"
Text1(6).SetFocus
End If
End If
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -