北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
1.点击新增按钮不打开新增窗体
检查新增窗体的窗体名是否为_CHILD窗体名加上_ADD
2.修改窗体打不开
检查_child窗体中的控件是否有获得焦点事件,窗体命名是否为_child_edit,并检查是否定义了全局变量
控件获得焦点事件例子如下:
Private Sub ygId_GotFocus()
On Error GoTo Err_ygId_GotFocus:
selectstr = Me.ygId
Forms!usysfrmMain!labFind.Tag = 1 '打开查询窗体
Forms!usysfrmMain!btnEdit.Tag = 999 '打开修改窗体
Exit_ygId_GotFocus:
Exit Sub
Err_ygId_GotFocus:
Resume Exit_ygId_GotFocus
end sub
3修改窗体打开后没有显示数据
检查窗体数据源设置的语句是否正确,如
Private Sub Form_Load()
Me.RecordSource = "SELECT * FROM tblCodeyg WHERE ygId = '" & selectstr & "'"
end sub
如果出现窗体没有数据,那应该首先检查selectstr变量是否定义了,然后检查selectstr的类型是否和ygid一致,再检查_child窗体中是否有
selectstr = Me.ygId这一句,如果selectstr和ygid都为数值型变量上面语句应改为Me.RecordSource = "SELECT * FROM tblCodeyg WHERE ygId = " & selectstr
4.查找窗体出错,提示输入参数
检查查询中的字段的别名是否和查询窗体中的代码一致,如:
Public Sub btnFind()
DoCmd.OpenForm "usysfrmFind"
'文本型对应 3 ,日期型对应 1 ,数值型对于 2
Forms!usysfrmFind!cobfldName.RowSource = "报销日期;1;类别名称;3;员工姓名;3;报销金额;2;报销摘要;3;"
'指定查询数据来源
Forms!usysfrmFind!labDataSource.Caption = "qryBxmx"
End Sub
Public Sub FindEnd()
Forms!usysfrmMain!frmChild.Form.RecordSource = Acchelp_ChildFormRecordSource("qryBxmx", "报销编号", True)
End Sub
检查代码中报销日期,类别名称,员工姓名,报销金额,报销摘要是否和查询中的一致
5.按了查找按钮没显示平台自带的查询窗体,而是显示ACCESS自带的查找窗口
检查_child窗体中有获得焦点事件的控件是否为打开窗体后第一个获得焦点的控件
6.删除,修改,新增后子窗体不立刻刷新数据
举例说明,删除代码如下:
Public Sub btnDel()
If MsgBox("您确认要删除吗?", vbYesNo + vbInformation, Forms!usysfrmLogin.Caption) = vbYes Then
DoCmd.Echo False
Call AccHelp_DeleteFldstrRow ("tblCodeyg", "ygId", selectstr)
Forms!usysfrmMain!frmChild.SourceObject = "frmyg_child"
DoCmd.Echo True
End If
End Sub
这里的Forms!usysfrmMain!frmChild.SourceObject = "frmyg_child"就是刷新子窗体数据的,没有这一行删除后子窗体中数据就不会刷新,新增修改类似
7.报表打开不了
在普及版中打开报表的事件为btnPreview不是btnprint,如下
Public Sub btnPreview()
DoCmd.OpenReport "rptBxmx", acViewPreview
End Sub
8.找不到控件
请重新注册MSCOMCTL.OCX,MSCOMCT2.OCX两个控件,方法是双击“注册控件.bat”文件