Option Compare Database
Option Explicit '强制声明变量
Dim objTree As TreeView
Private Sub Form_Load()
Dim objNode As Node
Dim Rst As DAO.Recordset
Dim strCARGOTYPE_NO As String
Dim MaxLevel As Integer
Dim I As Integer
Set objTree = Me.TreeView0.Object
objTree.Nodes.Clear
Set objNode = objTree.Nodes.add(, , "NO.1", "产品分类") ' 头
MaxLevel = CurrentDb.OpenRecordset("SELECT CARGOTYPE_LEVEL FROM 产品分类 order by CARGOTYPE_LEVEL desc;")(0).Value
For I = 1 To MaxLevel
Set Rst = CurrentDb.OpenRecordset("SELECT CARGOTYPE_LEVEL,CARGOTYPE_NO,CARGOTYPE_NAME FROM 产品分类 where CARGOTYPE_LEVEL=" & I & ";")
Do Until Rst.EOF
If Rst!CARGOTYPE_LEVEL = 1 Then '顶层菜单
Set objNode = objTree.Nodes.add("NO.1", 4, "NO." & Trim(Rst!CARGOTYPE_NO), Trim(Rst!CARGOTYPE_NAME))
Else
Set objNode = objTree.Nodes.add("NO." & Left(Rst!CARGOTYPE_NO, (Rst!CARGOTYPE_LEVEL - 1) * perSectionLong), 4, "NO." & Trim(Rst!CARGOTYPE_NO), Trim(Rst!CARGOTYPE_NAME))
End If
Rst.MoveNext
Loop
Next
Call TreeView0_NodeClick(objTree.Nodes(1))
Me.subMX_CARGO.SetFocus
End Sub
Private Sub TreeView0_NodeClick(ByVal Node As Object)
Dim strCARGOTYPE_NO As String
Dim strSQL As String
Dim I As Integer
Dim N As Integer
Dim strTip As String
strCARGOTYPE_NO = Right(Node.Key, Len(Node.Key) - 3)
'判断是否是顶层
If strCARGOTYPE_NO = "1" Then '预先定义好的:NO.1,第3位向后的字符,所以是1
strSQL = "SELECT * FROM 产品档案表;"
Me.lblTip.Caption = "产品分类"
Else
I = Len(strCARGOTYPE_NO)
strSQL = "SELECT * FROM 产品档案表 WHERE left([CARGO_TYPE]," & I & ")='" & strCARGOTYPE_NO & "';"
'Debug.Print I
For N = 1 To I / perSectionLong
strTip = strTip & Trim(CurrentDb.OpenRecordset("SELECT CARGOTYPE_NAME FROM 产品分类 where left([CARGOTYPE_NO]," _
& (N * perSectionLong) & ")='" & Left(strCARGOTYPE_NO, (N * perSectionLong)) & "' and CARGOTYPE_LEVEL=" & N & ";")(0).Value) & ">>"
Next
strTip = "产品分类" & ">>" & Left(strTip, Len(strTip) - 2)
Me.lblTip.Caption = strTip
End If
'Debug.Print strSQL
Me.subMX_CARGO.Form.RecordSource = strSQL
End Sub
Private Sub TreeView0_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
If Button = 2 Then
CommandBars("增加分类菜单").ShowPopup
End If
End Sub
Private Sub 货品编码_GotFocus() '客户代码获得焦点事件
selectstr = Forms!subMX_CARGO.Me.CARGO_ISSHORT '给变量赋值,使selectstr等于客户代码的值
Forms!usysfrmMain!labFind.Tag = 1 '这是个判断条件,当其等于1时点击查询按钮时,打开平台内的查询窗体
Forms!usysfrmMain!btnEdit.Tag = 999 '当其大于1时点击"修改"按钮时,平台就会自动打开"_Edit"窗体
Exit_货品编码_GotFocus:
Exit Sub
Err_货品编码_GotFocus:
End Sub
Private Sub Form_Timer() '窗体计时器事件
Acchelp_FindstrRecord (g_CurrentSelectStrID) '利用平台函数acchelp_findstrrecord找到修改前鼠标所选择的记录
'计时器执行一次后不再执行
Me.TimerInterval = 0
End Sub
Public Sub btnDel() '删除代码
If MsgBox("您确认要删除吗?", vbYesNo + vbInformation, Forms!usysfrmLogin.Caption) = vbYes Then
DoCmd.Echo False '防止屏幕闪动
Call acchelp_deletefldstrrow("产品档案表", "CARGO_ISSHORT", selectstr) '调用平台自定义函数AccHelp_DeleteFldStrRow,函数的详细说明请看平台帮助第九章
Forms!usysfrmMain!frmChild.SourceObject = "frmCode_cpdn_child" '重新加载子窗体frmcode_kh_child,以刷新数据子窗体数据
DoCmd.Echo True '打开屏幕闪动,避免黑屏
End If
End Sub
Public Sub FindEnd() '查询按钮单击事件
Forms!usysfrmMain!frmChild.Form.RecordSource = Acchelp_ChildFormRecordSource("qrycode_cpdn", "CARGO_ISSHORT", True)
End Sub
Public Sub btnFind()
DoCmd.OpenForm "usysfrmFind" '打开查询窗体
'给查询窗体的字段选择赋值 字段名称后跟字段类型:1-日期或时间;2-数字;3-文本
Forms!usysfrmFind!cobfldName.RowSourceType = "值列表"
Forms!usysfrmFind!cobfldName.RowSource = "货品编码;3;货品名称及规格;3;" '上方的字段名称来自查询 qryCode_kh
'指定数据来源为 qryCode_kh
Forms!usysfrmFind!labDataSource.Caption = "qrycode_cpdn"
End Sub
分两次传才能上传
总记录:7篇 页次:1/1 9 1 :