Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

access2007\2010开发教程第10章

时 间:2011-10-14 01:10:17
作 者:Access软件网编著   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:第十章 常见问题
正 文:

第十章 Access开发平台学习常见问题解答

1.点击新增按钮不打开新增窗体 
检查新增窗体的窗体名是否为frm**_child_add,窗体名需加上_add


2.修改窗体打不开
检查_child窗体(主窗体)中的控件是否有获得焦点事件,窗体命名是否为frm**_child_edit,并检查是否定义了全局变量selectstr
控件获得焦点事件例子如下:
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自带的查找窗口
检查frm**_child窗体中有获得焦点事件的控件是否为打开窗体后第一个获得焦点的控件,即编号字段控件的tab次序是否为0


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.报表打开不了
在专业版中打开报表的事件为btnprint不是btnPreview,如下
Public Sub btnprint ()
    DoCmd.OpenReport "rptBxmx", acViewPreview
End Sub


8.找不到控件
请重新注册MSCOMCTL.OCX,MSCOMCT2.OCX两个控件,方法是双击文件夹里面的“注册控件.bat”文件

 

相关索引: 上一节 下一节(必看)



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助