|
本帖最后由 siaele 于 2011-11-29 11:50 编辑
这几天都在琢磨这个问题,还是没有根本解决,还是要论坛的大大们帮一下忙.我的模块基础实在是太差了{:soso_e106:} .
见附件例子:
1.有窗体1,窗体2,窗体3......,它些窗体上面都有一个按钮(放大镜那个),点击按钮后,修改查询"b_InQuiry_VendorQuery",将查询里面的where条件改成当前窗体的文本框(VendorNO)的值>>
2.弹出窗体B,窗体B的子窗体数据源是被修改后的查询"b_InQuiry_VendorQuery">>
3.双击窗体B上的查询结果,将结果传送给"上一个窗体"(即从窗体1打开窗体B,就将内容传递给窗体1),然后关闭窗体B.
我现在的做法是(对应上面的顺序):
1.打开窗体1后,单击按钮事件后: 修改查询(见VBA里的"NewSql "子程序,调用了模块"UpdateSql"
- Sub NewSql() '更新查询
- Dim VendorSql As String
- Dim frName As String
- frName = Me.Form.Name '获取当前窗体名
- '*开始输出SQL
- VendorSql = "SELECT [2_Vendor_Information].VendorNO, [2_Vendor_Information].VendorName, [2_Vendor_Information].VenAdress1, [2_Vendor_Information].VenAdress2,"
- VendorSql = VendorSql + "[2_Vendor_Information].Contact1, [2_Vendor_Information].Mobile1, [2_Vendor_Information].Contact2, [2_Vendor_Information].Mobile2,[2_Vendor_Information].Tel,"
- VendorSql = VendorSql + "[2_Vendor_Information].Fax, [2_Vendor_Information].Credit, [2_Vendor_Information].Checkout, [2_Vendor_Information].Email,[2_Vendor_Information].State"
- VendorSql = VendorSql + " FROM 2_Vendor_Information"
- VendorSql = VendorSql + " WHERE ((([2_Vendor_Information].VendorNO) Like" & Chr$(34) & "*" & Chr$(34)
- VendorSql = VendorSql + " & [Forms]!["
- VendorSql = VendorSql & frName
- VendorSql = VendorSql + "]![VendorNO] & " & Chr$(34) & "*" & Chr$(34)
- VendorSql = VendorSql + ")) OR ((([2_Vendor_Information].VendorName) Like" & Chr$(34) & "*" & Chr$(34)
- VendorSql = VendorSql + "& [Forms]!["
- VendorSql = VendorSql & frName
- VendorSql = VendorSql + "]![VendorNO] &" & Chr$(34) & "*" & Chr$(34)
- VendorSql = VendorSql + ")) ORDER BY [2_Vendor_Information].VendorNO;"
- Call UpSql("b_InQuiry_VendorQuery", VendorSql)
- End Sub
复制代码 2.弹出窗体B,窗体B在加载事件执行 Me.PreFmName = Forms(Forms.Count - 2).Name ,使用文本框控件PreFmName获取窗体1的窗体名(呵呵,得到了t小宝版主的指点)
3.双击窗体B中的内容,将内容传送到窗体1.
- Sub TranVendor()
- Dim fName As String
- fName = Me.Parent.PreFmName
- Forms(fName).[VendorNO] = Me.VendorNO
- DoCmd.Close
- End Sub
复制代码
'------------------------------------------
上面的方法达到了我的要求,但是窗体1,窗体2,窗体3......都个窗体都要包含一个子程序"NewSql",感觉程序有些臃肿. 我觉得应该可以用模块来进行精简,但是小弟的access是边用边学,以前没接触过,对模块是一头雾水. 所以请大家帮一下忙,编一个模块,可以将"NewSql" 这个子程序精简到模块里.
附件在这里:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|