Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

用平台如何做多个子窗体

王萌萌  发表于:2016-02-15 10:47:32  
复制

请问如何在平台中设计多个子窗体,论坛中有没有类似的例子。

 

Top
缪炜 发表于:2016-02-15 13:14:04
你是说新增编辑窗体?


王岚 发表于:2016-02-15 14:07:21

对的。我知道新加一个子窗体需要写代码,但是没有案例,我不知道该怎么写,所以想看看是否有案例可以参考,同时我是按照论坛上的《铝件车间管理》里的一个写的,但是里面的子窗体有些不同,所以代码也不对。



茼蒿 发表于:2016-02-15 14:57:24
用选项卡做,想学找我吧。打字你也理解不了

王岚 发表于:2016-02-15 16:34:46
选项卡也不错,怎么找你学呢。

Ben 发表于:2016-08-02 21:22:32


Ben 发表于:2016-08-02 21:26:11
Private Sub Form_Load()
    On Error GoTo ErrorHandler
    Dim strSQL        As String
    Dim cnn           As Object 'ADODB.Connection
    Dim rst           As Object 'ADODB.Recordset
    Dim rstTmp        As Object 'DAO.Recordset


    ApplyTheme Me
    LoadLocalLanguage Me


    CurrentDb.Execute "DELETE FROM [TMP_TBL_SRF_YangBanXuQiu]"
    CurrentDb.Execute "DELETE FROM [TMP_TBL_SRF_WenJianBianHao_MingXi]"
    Me.sfrDetail.Requery
    Me.sfrDetail_01.Requery


    If IsNull(Me.OpenArgs) Then
        Me.DataEntry = True
    End If
    If Me.DataEntry Then
        GoTo ExitHere
    End If
    Me.btnSave.Enabled = Me.AllowEdits


    Set cnn = CurrentProject.Connection


    strSQL = "SELECT * FROM [TBL_SRF] WHERE [SRF_ID]=" & SQLText(Me.OpenArgs)
    Set rst = OpenADORecordset(strSQL, , cnn)
    Me![SRF_ID] = rst![SRF_ID]
    Me![JinDuZhuangTai] = rst![JinDuZhuangTai]
    Me![KeHuLeiBie] = rst![KeHuLeiBie]
    Me![Ver] = rst![Ver]
    Me![Project] = rst![Project]
    Me![Requestor] = rst![Requestor]
    Me![RiQi] = rst![RiQi]
    Me![Model] = rst![Model]
    Me![PartNo] = rst![PartNo]
    Me![Description] = rst![Description]
    Me![SampleType] = rst![SampleType]
    Me![Market] = rst![Market]
    Me![ShenHeZhuangTai] = rst![ShenHeZhuangTai]
    Me![XiuDingRen] = rst![XiuDingRen]
    Me![XiuDingRiQi] = rst![XiuDingRiQi]
    rst.Close


    strSQL = "SELECT * FROM [TBL_SRF_YangBanXuQiu] WHERE [SRF_ID]=" & SQLText(Me![SRF_ID])
    Set rst = OpenADORecordset(strSQL, , cnn)
    Set rstTmp = CurrentDb.OpenRecordset("TMP_TBL_SRF_YangBanXuQiu")
    Do Until rstTmp.EOF
        rstTmp.Delete
        rstTmp.MoveNext
    Loop
    Do Until rst.EOF
        rstTmp.AddNew
        rstTmp![ID] = rst![ID]
        rstTmp![SRF_ID] = rst![SRF_ID]
        rstTmp![JinDuZhuangTai] = rst![JinDuZhuangTai]
        rstTmp![Model] = rst![Model]
        rstTmp![GuiGe] = rst![GuiGe]
        rstTmp![YangBanLeiBie] = rst![YangBanLeiBie]
        rstTmp![QTY] = rst![QTY]
        rstTmp![DanWei] = rst![DanWei]
        rstTmp![XingMing] = rst![XingMing]
        rstTmp![BeiZhu] = rst![BeiZhu]
        rstTmp![ShenHeZhuangTai] = rst![ShenHeZhuangTai]
        rstTmp![XiuDingRen] = rst![XiuDingRen]
        rstTmp![XiuDingRiQi] = rst![XiuDingRiQi]
        rstTmp.Update
        rst.MoveNext
    Loop
    rst.Close
    rstTmp.Close
    
    strSQL = "SELECT * FROM [TBL_SRF_WenJianBianHao_MingXi] WHERE [SRF_ID]=" & SQLText(Me![SRF_ID])
    Set rst = OpenADORecordset(strSQL, , cnn)
    Set rstTmp = CurrentDb.OpenRecordset("TMP_TBL_SRF_WenJianBianHao_MingXi")
    Do Until rstTmp.EOF
        rstTmp.Delete
        rstTmp.MoveNext
    Loop
    Do Until rst.EOF
        rstTmp.AddNew
        rstTmp![ID] = rst![ID]
        rstTmp![SRF_ID] = rst![SRF_ID]
        rstTmp![WenJianBianHao] = rst![WenJianBianHao]
        rstTmp![BeiZhu] = rst![BeiZhu]
        rstTmp![ShenHeZhuangTai] = rst![ShenHeZhuangTai]
        rstTmp![XiuDingRen] = rst![XiuDingRen]
        rstTmp![XiuDingRiQi] = rst![XiuDingRiQi]
        rstTmp.Update
        rst.MoveNext
    Loop
    rst.Close
    rstTmp.Close
    
    '通过这一行代码的调用实现附件的加载
    Call Me.sfrAttachments.Form.LoadAttachmentData("附件", Me!SRF_ID, cnn)




    Me.sfrDetail.Requery
    Me.sfrDetail_01.Requery


ExitHere:
    Set rst = Nothing
    Set cnn = Nothing
    Set rstTmp = Nothing
    Exit Sub


ErrorHandler:
    RDPErrorHandler Me.Name & ": Sub Form_Load()"
    Resume ExitHere
End Sub


Ben 发表于:2016-08-02 21:26:35
Private Sub btnSave_Click()
    On Error GoTo ErrorHandler
    Dim strWhere      As String
    Dim strSQL        As String
    Dim cnn           As Object 'ADODB.Connection
    Dim rst           As Object 'ADODB.Recordset
    Dim rstTmp        As Object 'DAO.Recordset
    Dim blnTransBegin As Boolean


    If Not CheckRequired(Me) Then Exit Sub
    If Not CheckTextLength(Me) Then Exit Sub
    If Not CheckRequired(Me.sfrDetail) Then Exit Sub
    If Not CheckRequired(Me.sfrDetail_01) Then Exit Sub


'判断审核状态
    If DLookup("ShenHeZhuangTai", "TBL_SRF", "SRF_ID='" & Me![SRF_ID] & "'") = "已审核" Then
    MsgBox "已审核,禁止编辑!", vbCritical, "警告"
    Exit Sub
    End If


    Set cnn = CurrentProject.Connection


    cnn.BeginTrans: blnTransBegin = True


    strSQL = "SELECT * FROM [TBL_SRF] WHERE [SRF_ID]=" & SQLText(Me![SRF_ID])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    If rst.EOF Then
        rst.AddNew
        rst![SRF_ID] = GetAutoNumber("SRF_ID")
    End If
    rst![JinDuZhuangTai] = Me![JinDuZhuangTai]
    rst![KeHuLeiBie] = Me![KeHuLeiBie]
    rst![Ver] = Me![Ver]
    rst![Project] = Me![Project]
    rst![Requestor] = Me![Requestor]
    rst![RiQi] = Me![RiQi]
    rst![Model] = Me![Model]
    rst![PartNo] = Me![PartNo]
    rst![Description] = Me![Description]
    rst![SampleType] = Me![SampleType]
    rst![Market] = Me![Market]
    rst![ShenHeZhuangTai] = Me![ShenHeZhuangTai]
    rst![XiuDingRen] = Forms!sysfrmMain!Nickname
    rst![XiuDingRiQi] = Now()
    rst.Update
    Me![SRF_ID] = rst![SRF_ID]
    rst.Close


    strSQL = "SELECT * FROM [TBL_SRF_YangBanXuQiu] WHERE [SRF_ID]=" & SQLText(Me![SRF_ID])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    Do Until rst.EOF
        rst.Delete
        rst.MoveNext
    Loop
    Set rstTmp = CurrentDb.OpenRecordset("TMP_TBL_SRF_YangBanXuQiu")
    Do Until rstTmp.EOF
        rst.AddNew
        rst![SRF_ID] = Me![SRF_ID]
        rst![JinDuZhuangTai] = rstTmp![JinDuZhuangTai]
        rst![Model] = rstTmp![Model]
        rst![GuiGe] = rstTmp![GuiGe]
        rst![YangBanLeiBie] = rstTmp![YangBanLeiBie]
        rst![QTY] = rstTmp![QTY]
        rst![DanWei] = rstTmp![DanWei]
        rst![XingMing] = rstTmp![XingMing]
        rst![BeiZhu] = rstTmp![BeiZhu]
        rst![ShenHeZhuangTai] = rstTmp![ShenHeZhuangTai]
        rst![XiuDingRen] = Forms!sysfrmMain!Nickname
        rst![XiuDingRiQi] = Now()
        rst.Update
        rstTmp.MoveNext
    Loop
    rst.Close
    rstTmp.Close
    
    strSQL = "SELECT * FROM [TBL_SRF_WenJianBianHao_MingXi] WHERE [SRF_ID]=" & SQLText(Me![SRF_ID])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    Do Until rst.EOF
        rst.Delete
        rst.MoveNext
    Loop
    Set rstTmp = CurrentDb.OpenRecordset("TMP_TBL_SRF_WenJianBianHao_MingXi")
    Do Until rstTmp.EOF
        rst.AddNew
        rst![SRF_ID] = Me![SRF_ID]
        rst![WenJianBianHao] = rstTmp![WenJianBianHao]
        rst![BeiZhu] = rstTmp![BeiZhu]
        rst![ShenHeZhuangTai] = rstTmp![ShenHeZhuangTai]
        rst![XiuDingRen] = Forms!sysfrmMain!Nickname
        rst![XiuDingRiQi] = Now()
        rst.Update
        rstTmp.MoveNext
    Loop
    rst.Close
    rstTmp.Close
    cnn.CommitTrans: blnTransBegin = False
    
'通过这一行代码的调用实现附件的保存
      Call Me.sfrAttachments.Form.SaveAttachmentData("附件", Me!SRF_ID, cnn)


    Form_frm_SRF.RefreshDataList
    MsgBoxEx LoadString("Saved Successfully."), vbInformation


'    If Me.DataEntry Then
'        ClearControlValues Me
'        CurrentDb.Execute "DELETE FROM [TMP_TBL_SRF_YangBanXuQiu]"
'        Me.sfrDetail.Requery
'    Else
        DoCmd.Close acForm, Me.Name, acSaveNo
'    End If


ExitHere:
    Set rst = Nothing
    Set cnn = Nothing
    Set rstTmp = Nothing
    Exit Sub


ErrorHandler:
    If blnTransBegin Then
        cnn.RollbackTrans
        blnTransBegin = False
    End If
    RDPErrorHandler Me.Name & ": Sub btnSave_Click()"
    Resume ExitHere
End Sub


Ben 发表于:2016-08-03 21:26:00

多个窗体改为选项卡时,只需要将相应的子窗体移动到选项卡上,代码不需要更改。



总记录:8篇  页次:1/1 9 1 :