Access交流中心

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

快速开发平台2.12上如何设计2个子窗体

王萌萌  发表于:2015-09-15 14:57:06  
复制

我用快速开发平台上的数据模块自动生成器只能生成带一个子窗体的窗口,但是我需要2个子窗体,请问如何创建,需要修改代码吗?我现在用生成好的窗体自己在添加了一个子窗体,但是保存的时候出现“变量未定义”。

代码如下:

 

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

    Set cnn = CurrentProject.Connection

    cnn.BeginTrans: blnTransBegin = True

    strSQL = "SELECT * FROM [销售合同(外销)] WHERE [合同编号]=" & SQLText(Me![合同编号])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    If rst.EOF Then
        rst.AddNew
        rst![合同编号] = GetAutoNumber("销售合同编号(机械外销)")
    End If
    rst![客户订单号] = Me![客户订单号]
    rst![制单日期] = Date
    rst![客户名称] = Me![客户名称]
    rst![联系人] = Me![联系人]
    rst![供应商] = Me![供应商]
    rst![操作员] = [Forms]![SysFrmMain]![Username]
    rst![开票类型] = Me![开票类型]
    rst![签约地点] = Me![签约地点]
    rst![价格条款] = Me![价格条款]
    rst![出货港口] = Me![出货港口]
    rst![目的港口] = Me![目的港口]
    rst![运输方式] = Me![运输方式]
    rst![付款条款] = Me![付款条款]
    rst![交货期] = Me![交货期]
    rst![原产地] = Me![原产地]
    rst![短装条款] = Me![短装条款]
    rst![合同条款] = Me![合同条款]
    rst![币种] = Me![币种]
    rst![汇率] = Me![汇率]
    rst![审核时间] = Me![审核时间]
    rst![审核人] = Me![审核人]
    rst![审核状态] = Me![审核状态]
    rst![审批意见] = Me![审批意见]
    rst.Update
    Me![合同编号] = rst![合同编号]
    rst.Close

    strSQL = "SELECT * FROM [销售合同商品明细(外销)] WHERE [合同编号]=" & SQLText(Me![合同编号])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    Do Until rst.EOF
        rst.Delete
        rst.MoveNext
    Loop
    Set rstTmp = CurrentDb.OpenRecordset("TMP_销售合同商品明细(外销)")
    Do Until rstTmp.EOF
        rst.AddNew
        rst![合同编号] = Me![合同编号]
        rst![序号] = rstTmp![序号]
        rst![商品编号] = rstTmp![商品编号]
        rst![中文品名] = rstTmp![中文品名]
        rst![英文品名] = rstTmp![英文品名]
        rst![单位] = rstTmp![单位]
        rst![型号] = rstTmp![型号]
        rst![数量] = rstTmp![数量]
        rst![销售单价] = rstTmp![销售单价]
        rst![销售金额] = rstTmp![销售金额]
        rst![CH技术参数] = rstTmp![CH技术参数]
        rst![EN技术参数] = rstTmp![EN技术参数]
        rst![备注] = rstTmp![备注]
        rst.Update
        rstTmp.MoveNext
    Loop
    rst.Close
   
        strSQL = "SELECT * FROM [销售合同费用明细(外销)] WHERE [合同编号]=" & SQLText(Me![合同编号])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    Do Until rst.EOF
        rst.Delete
        rst.MoveNext
    Loop
    Set rstTmp = CurrentDb.OpenRecordset("TMP_销售合同费用明细(外销)")
    Do Until rstTmp.EOF
        rst.AddNew
        rst![合同编号] = Me![合同编号]
        rst![费用种类] = rstTmp![费用种类]
        rst![金额] = rstTmp![金额]
       
        rst.Update
        rstTmp.MoveNext
    Loop
    rst.Close
    rstTmp.Close
    cnn.CommitTrans: blnTransBegin = False

    Form_frm销售合同(外销).RefreshDataList
    MsgBoxEx LoadString("Saved Successfully."), vbInformation

'    If Me.DataEntry Then
'        ClearControlValues Me
'        CurrentDb.Execute "DELETE FROM [TMP_销售合同商品明细(外销)]"
'        Me.sfrDetail.Requery
'    Else
'        DoCmd.Close acForm, Me.Name, acSaveNo
'    End If

 

Top
杜超 发表于:2015-09-15 16:14:37
哪句代码出错

王岚 发表于:2015-09-15 17:01:02

红色字



COBY CHEN 发表于:2015-09-21 11:41:28
可能是括号的问题引起的,把窗体名称中的括号改为其他的表示方式。试试看

莫名 发表于:2015-09-30 22:35:29
同意楼上意见,之前也遇到同样的问题,把括号改成下划线就OK了,试试吧

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