Access交流中心

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

平台上如何做2个子窗体

王萌萌  发表于:2016-01-13 16:25:19  
复制

我在2.12平台上通过自动生成窗体模块,生成了带子窗体的窗体,我想再加一个子窗体,但是不知道代码怎么完善,有没有平台例子可以参考。

 

 

Top
金宇 发表于:2016-01-14 09:00:36
另外一个子窗体只能在平台生成的主子窗体上再自己手动添加。

王岚 发表于:2016-01-14 09:11:10

我已经添加了一个子窗体了,而且代码也写了,但是每次打开后新加的一个子窗体数据就会多复制一条。

代码如下:

Private Sub Form_Load()
    On Error GoTo ErrorHandler
    Dim strSQL As String
    Dim strSQL2 As String
    Dim cnn As Object           'ADODB.Connection
    Dim rst As Object           'ADODB.Recordset
    Dim rst2 As Object
    Dim rstTmp As Object    'DAO.Recordset
    Dim rstTmp2 As Object    'DAO.Recordset

    ApplyTheme Me
    LoadLocalLanguage Me

    CurrentDb.Execute "DELETE FROM [TMP_机票航班信息]"
    CurrentDb.Execute "DELETE FROM [TMP_机票预订费用]"

    Me.sfrDetail.Requery
    Me.sfrDetail2.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 [机票预定] WHERE [预订编号]=" & SQLText(Me.OpenArgs)
    Set rst = OpenADORecordset(strSQL, , cnn)
    Me![预订编号] = rst![预订编号]
    Me![申请日期] = rst![申请日期]
    Me![供应商] = rst![供应商]
    Me![订单号] = rst![订单号]
    Me![行程类型] = rst![行程类型]
    Me![人数] = rst![人数]
    Me![备注] = rst![备注]
    Me![操作人] = rst![操作人]
    rst.Close

    strSQL = "SELECT * FROM [机票航班信息] WHERE [预订编号]=" & SQLText(Me![预订编号])
    strSQL2 = "SELECT * FROM [机票预订费用] WHERE [预订编号]=" & SQLText(Me![预订编号])

    Set rst = OpenADORecordset(strSQL, , cnn)
    Set rst2 = OpenADORecordset(strSQL2, , cnn)
   
    Set rstTmp = CurrentDb.OpenRecordset("TMP_机票航班信息")
    Set rstTmp2 = CurrentDb.OpenRecordset("TMP_机票预订费用")
   
    Do Until rst.EOF
        rstTmp.AddNew
        rstTmp![预订编号] = rst![预订编号]
        rstTmp![旅客姓名] = rst![旅客姓名]
        rstTmp![英文姓名] = rst![英文姓名]
        rstTmp![证件号] = rst![证件号]
        rstTmp![证件类型] = rst![证件类型]
        rstTmp![出生年月] = rst![出生年月]
        rstTmp![证件有效期] = rst![证件有效期]
        rstTmp![行程] = rst![行程]
        rstTmp![航班号] = rst![航班号]
        rstTmp![起飞日期] = rst![起飞日期]
        rstTmp![到达日期] = rst![到达日期]
        rstTmp![起飞机场] = rst![起飞机场]
        rstTmp![到达机场] = rst![到达机场]
        rstTmp![备注] = rst![备注]
        rstTmp.Update
        rst.MoveNext
    Loop
    Do Until rst2.EOF
        rstTmp2.AddNew
        rstTmp2![预订编号] = rst2![预订编号]
        rstTmp2![机票费用] = rst2![机票费用]
        rstTmp2![税费] = rst2![税费]
        rstTmp2![其它费用] = rst2![其它费用]
        rstTmp2![出账公司] = rst2![出账公司]
        rstTmp2![收票日期] = rst2![收票日期]
        rstTmp2![发票号码] = rst2![发票号码]
        rstTmp2.Update
        rst2.MoveNext
    Loop
    rst.Close
    rst2.Close
    rstTmp.Close
    rstTmp2.Close
    Me.sfrDetail.Requery
    Me.sfrDetail2.Requery
ExitHere:
    Set rst = Nothing
    Set rst2 = Nothing
    Set cnn = Nothing
    Set rstTmp = Nothing
    Set rstTmp2 = Nothing
    Exit Sub

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

 



王岚 发表于:2016-01-18 13:25:27

请帮我看看哪里出问题了,谢谢



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