Access交流中心

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

Access开发平台学习中的常见问题解答

钱玉炜  发表于:2008-01-22 09:16:20  
复制

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”文件
 

 

Top
钱玉炜 发表于:2008-01-22 09:16:52
有问题也可以在下面提,集中解答

一杯绿茶 发表于:2008-10-17 11:03:06
专业版的数据分析中。数据源怎样添加。

罗文 发表于:2009-01-08 16:37:13

请问我自登陆时出现如图的错误信息,怎么办?谢谢

 

第二问题是我在做功能管理设置时,指向对象下拉单是空的。



麥田 发表于:2009-01-20 14:50:53

楼上的第一个问题参考

重新引用Access开发平台代码库acchelp.umv文件:

http://www.accessoft.com/article-show.asp?id=1885

 

第二个问题

先重新选择对象类型里面的"子窗体"  然后再点击"指向对象"即可看到你要选择的窗体



lann 发表于:2009-08-09 13:45:07

登录后出现如图错误,怎么办?

我在自己的电脑上是可以使用的,但是拷到别的电脑就出现这个问题!!



董秀杰 发表于:2009-08-10 14:52:31
可以发个专帖,然后推荐到首页,一看就明白,容易找

dijing 发表于:2009-08-10 18:05:24
为什么我回复了两次都没显示

坏坏小狐狸 发表于:2009-10-07 20:47:37

 

 

 

本人 邮箱   385573958@qq.com    希望 老师 给与 答复~~谢谢 老师了



麥田 发表于:2009-10-13 09:25:38

要写保存代码的

另外请不要跟他人帖在问问题  这样不便于大家回答你的问题

有问题请在论坛自己发帖提问

发帖方法:

登录论坛发帖:http://www.accessoft.com/bbs/index.asp
点击网页上方的红字"我要提问"即可



dreamy 发表于:2010-03-11 22:00:19

为什么我将文件夹移动到另一个分区后,控件也重新引用了,但出现了一个新问题,会提示LEFT$函数未定义,不知道什么原因,请老师解答。



钱玉炜 发表于:2010-03-12 09:19:19

检查有没有什么引用丢失,把你的表达式发出来看看



dreamy 发表于:2010-03-12 12:42:45

引用应该没有丢失,我把贴图发上来,上面也有LEFT$的一些表达式,之前在原来的分区目录运行都正常的,就是把整个文件夹换了个路径后就出现这问题了。



方圆 发表于:2010-03-15 11:31:34

在用户管理中,只能新增一个用户,再点击就无法打开新增窗体,重启程序后问题仍然存在,并且修改窗体也无法打开了。

 

 

 

 

按老师提示看了,没有问题

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



钱玉炜 发表于:2010-03-15 13:25:57
确实有用户新增以后的问题产生可以联系我跟我远程下

振宇 发表于:2010-03-18 10:55:08

在做客户跟新的时候碰到这样的问题

 



振宇 发表于:2010-03-18 10:57:10

上边是我在做客户表更新的时候碰到问题,请各位老师请教一下,谢谢。



钱玉炜 发表于:2010-03-18 11:05:46

检查你的编号代码写正确没有

有可能你的编号出问题了,导致主键重复



振宇 发表于:2010-03-18 11:24:20

Set rst = CurrentDb.OpenRecordset("tblkhb", dbOpenDynaset)
         rst.AddNew
         rst("khID") = acchelp_autoid("Y-", 2, "tblkhb", "khID")
         rst("khmc") = Me.khmc
         rst.Update
         rst.Close
        Set rst = Nothing

是这样一段,编号是对的(khID)



振宇 发表于:2010-03-18 11:25:38

出来的编号老是固定在Y-32这个编号上



振宇 发表于:2010-03-22 20:07:28

Public Sub btnDel()
    If MsgBox("您确认要删除吗?", vbYesNo + vbInformation, Forms!usysfrmLogin.Caption) = vbYes Then
        DoCmd.Echo False
        Call AccHelp_DeleteFldstrRow("tbl_ 成品目录-分", "产品编号", selectstr)
        Forms!usysfrmMain!frmChild.SourceObject = "frm_ 成品目录-分_child"
        DoCmd.Echo True
    End If
End Sub

这段代码无法删除数据



总记录:24篇  页次:1/2 9 1 2 8 :