设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1765|回复: 7
打印 上一主题 下一主题

[窗体] 用选项组打开窗体时无法显示记录?(新问题)

[复制链接]
跳转到指定楼层
1#
发表于 2005-12-26 20:30:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在“窗体1”中的查询,要输入姓名或者编号,然后选择查询哪张表,结果总是出现第一个人的记录。一点通老师,您给我的代码分开都是可以执行的,但我拼在一起就不行了

Private Sub 命令25_Click()
On Error GoTo Err_命令25_Click

Dim stDocName As String
Dim stLinkCriteria As String


If IsNull(DLookup("[memberno]", "member", "[memberno]=" & "'" & 文本22 & "'")) Then '试查找有没有这个编号
    If IsNull(DLookup("[memberno]", "member", "[membername]=" & "'" & 文本22 & "'")) Then '再查找有没有这个姓名
        MsgBox "编号及姓名都不存在", , "提示"
    Else '如果有,更改姓名为编号
        Me.文本22 = DLookup("[memberno]", "member", "[membername]=" & "'" & 文本22 & "'")
        stLinkCriteria = "[memberno]=" & "'" & Me![文本22] & "'"
        
        If Me.框架23 = 1 Then
        stDocName = "member1"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
        Else
        If Me.框架23 = 2 Then
           stDocName = "member2"
           
           DoCmd.OpenForm stDocName, , , stLinkCriteria
        Else
           stDocName = "member3"
         
           DoCmd.OpenForm stDocName, , , stLinkCriteria
        End If
        End If

    End If
Else
    If Me.框架23 = 1 Then
      stDocName = "member1"
      DoCmd.OpenForm stDocName, , , stLinkCriteria
    Else
    If Me.框架23 = 2 Then
       stDocName = "member2"
       DoCmd.OpenForm stDocName, , , stLinkCriteria
    Else
       stDocName = "member3"
       DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
   End If
End If


Exit_命令25_Click:
    Exit Sub

Err_命令25_Click:
    MsgBox Err.Description
    Resume Exit_命令25_Click
End Sub




[此贴子已经被作者于2005-12-26 18:11:53编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-12-26 21:42:00 | 只看该作者
窗体member1--3的数据源中要有筛选条件啊。

   If Me.框架23 = 1 Then
      stDocName = "member1"
      DoCmd.OpenForm stDocName, , , stLinkCriteria
    Else
    If Me.框架23 = 2 Then
       stDocName = "member2"
       DoCmd.OpenForm stDocName, , , stLinkCriteria
    Else
       stDocName = "member3"
       DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
   End If
可以更改为:

   If Me.框架23 = 1 Then stDocName = "member1"

   If Me.框架23 = 2 Then stDocName = "member2"

   If Me.框架23 = 3 then stDocName = "member3"
   DoCmd.OpenForm stDocName, , , stLinkCriteria
3#
 楼主| 发表于 2005-12-26 22:10:00 | 只看该作者
还是不行啊?我的查询无论用编号或用姓名打进去都只出现第一个记录
4#
发表于 2005-12-26 22:27:00 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
 楼主| 发表于 2005-12-26 23:07:00 | 只看该作者
谢谢!你辛苦了
6#
 楼主| 发表于 2005-12-27 01:48:00 | 只看该作者
一点通老师,查询成功了但是同一窗体左边的选项组就发生了奇怪的问题,打开了窗体之后,所有的记录都没显示?

本来应该是直接显示第一条记录的呀,是否有冲突啊?请赐教

[此贴子已经被作者于2005-12-26 18:31:43编辑过]

7#
 楼主| 发表于 2005-12-27 02:31:00 | 只看该作者
就是同一个文件,在上面!一点通老师在不在啊
8#
发表于 2005-12-27 04:29:00 | 只看该作者
选项组控件有返回值,我建议使用select...case...语句来执行条件转向,决定谁被选中就执行什么代码比较好一些,代码会显得简洁和清爽一些。

如果使用if...then...来执行判断,代码要繁杂一些。换言之,这样很容易丢失end if 和else 而出现语法错误而不便调试。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 04:59 , Processed in 0.086761 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表