| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
绝地游戏外挂辅助教学千里之行 始于足下
共有 298 人关注过本帖
标题:根据一列的值控制另一列的显示
只看楼主 收藏
opelwang
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2009-7-2
结帖率:87.5%
  已结贴   问题点数:20  回复次数:5   
根据一列的值控制另一列的显示

VB操作ACCESS,在已经打开数据库的条件下,如何判断:



如果系统当前登录用户: VBA.Environ("username"),在数据库LogUser字段中存在,

则窗体combo1列表框显示,数据库Username字段所对应的值。否则窗体combo1显示空值。


该如何表示,求解,谢谢!
附件: 您没有浏览附件的权限,请 登录注册
2017-08-22 21:58
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:558
专家分:3188
注 册:2016-5-10
  得分:0 
不太明白你的意思,是不是这样的:
程序代码:

'cn连接数据库语句略
SQL1 = "Select * Fron UserInfo Where Username<>"" And LogUser<>"""
RS.Open SQL1,cn,2,2
DO While Not RS.EOF
Combo1.AddItem RS("Username")
RS.MoveNext
Loop
RS.Close
cn.Close

QQ    2653043392
2017-08-24 11:20
opelwang
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2009-7-2
  得分:0 
回复 2楼 ZHRXJR
完整的代码是这样的,但还是报错:


程序代码:
Private Sub Form_Load()

'  Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\UIuser.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"
    Dim Scnn As Object, Srt As Object, use As String
    use = VBA.Environ("username")
    Combo1.Text = ""

    Set Scnn = New ADODB.Connection
    Scnn.CursorLocation = adUseClient
    Scnn.Open "Provider=Microsoft.jet.oledb.4.0;Data source=" & App.Path & "\UIuser.mdb"

    Set Srt = New ADODB.Recordset
    Set Srt.ActiveConnection = Scnn

    Srt.Open "select * from UserInfo"
    Do Until Srt.EOF
        Combo1.AddItem Srt.Fields("Username").Value
        Srt.MoveNext
    Loop
    Srt.Close

    'cn连接数据库语句略
    SQL1 = "Select * Fron UserInfo Where Username<>"" And LogUser<>"""
    Srt.Open SQL1, Scnn, 2, 2
    Do While Not Srt.EOF
        Combo1.AddItem Srt("Username")
        Srt.MoveNext
    Loop
    Srt.Close
    Scnn.Close

    '    Srt.Close
    '    Set Srt = Nothing


End Sub


[此贴子已经被作者于2017-8-24 13:09编辑过]

附件: 您没有浏览附件的权限,请 登录注册
2017-08-24 13:07
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:558
专家分:3188
注 册:2016-5-10
  得分:0 
回复 opelwang
SQL1 = "Select * Fron UserInfo Where Username<>'' And LogUser<>''"
前面的SQL语句有错误,应该是英语单引号,不是双引号。

QQ    2653043392
2017-08-24 22:39
opelwang
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2009-7-2
  得分:0 
以下是引用ZHRXJR在2017-8-24 22:39:41的发言:

回复 opelwang
SQL1 = "Select * Fron UserInfo Where Username<>'' And LogUser<>''"
前面的SQL语句有错误,应该是英语单引号,不是双引号。



还是不行,报错:







[此贴子已经被作者于2017-8-25 00:30编辑过]

附件: 您没有浏览附件的权限,请 登录注册
2017-08-24 22:58
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:558
专家分:3188
注 册:2016-5-10
  得分:20 
二个问题,第一,ADO对象没有设置,需要在引用中添加:。第二,SQL语句有问题
程序代码:
Dim Scnn As New ADODB.Connection, Srt As New ADODB.Recordset   'ADO对象声明
    Combo1.Clear
    Combo1.Text = ""
    Scnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\UIuser.mdb;Persist Security Info=False"
    SQL1 = "Select * From UserInfo Where Username<>'' And LogUser<>''"    'From 错误打成了 Fron
    Srt.Open SQL1, Scnn, 2, 2
    Do While Not Srt.EOF
        Combo1.AddItem Srt("Username")
        Srt.MoveNext
    Loop
    Srt.Close
    Scnn.Close

已经运行过了,没有问题。
附件: 您没有浏览附件的权限,请 登录注册

QQ    2653043392
2017-08-24 23:27







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071646 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved