Access交流中心

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

一个access查询的简单问题,求高手指教

杯茶人生  发表于:2012-10-26 18:10:18  
复制

 

Option Compare Database
'Dim Conn As ADODB.Connection
Dim Conn As ADODB.Connection
'声明conn为connection对象
Dim rs As ADODB.Recordset
'声明rs为recordset对象


Private Sub Cmd_查询_Click()
Dim a As String
Set rs = New ADODB.Recordset
Set Conn = CurrentProject.Connection

 

Me.tex_学号 = ""    '此处的Me为窗体的名称
Me.tex_姓名 = ""
Me.tex_性别 = ""
Me.tex_年龄 = ""
Me.tex_系别 = ""
Me.tex_专业 = ""
Me.tex_年级 = ""
Me.tex_课程 = ""
Me.tex_成绩 = ""

'判断文本框是否为空
If IsNull(Me.Text3) Or IsNull(Me.Text4) Then
    MsgBox ("请输入学号或姓名!!!")
End If

If (Me.Text3.Enabled = False) Or (Me.Text4.Enabled = False) Then
    Me.Text3.Enabled = True
    Me.Text4.Enabled = True
End If
   
Me.Text3.SetFocus
    Exit Sub
    'End If
    '打开数据表
    rs.Open "学生信息表", Conn, adOpenDynamic, adLockOptimistic
'rs.Open "学生信息表", Conn, adOpenDynamic, adLockOptimistic
    '循环记录集
rs.MoveFirst '移动当前记录指针到第一条记录
Do While Not rs.EOF '指示当前记录位置位于RecordSet对象的最后一个记录之后
    '判断是否满足条件
If Me.Text3 = rs!学号 Or Me.Text4 = rs!姓名 Then '数据源中的学号姓名和文本框中的学号姓名一样
    '满足条件后赋值,这里不能用and为什么
    Me.tex_学号 = rs!学号
    Me.tex_姓名 = rs!姓名
    Me.tex_年龄 = rs!年龄
    Me.tex_性别 = rs!性别
    Me.tex_系别 = rs!系别
    Me.tex_专业 = rs!专业
    Me.tex_年级 = rs!年级
    Me.tex_课程 = rs!课程
    Me.tex_成绩 = rs!成绩
     Exit Do '放此处可以查询两个人的信息,如果满足条件退出while循环,否则查询所有记录
   
'   Else
'        MsgBox ("输入学号或者姓名错误!")
'        Exit Sub
'
    End If
    'Exit Do 词句调换到这里只能查询郭万强一个人的信息
  
 
    rs.MoveNext  '移动当前记录指针到下一条记录
    If rs.EOF Then
        MsgBox ("输入学号或者姓名错误!")
        End If
       
   
    Loop
    '关闭数据表
    rs.Close
   
   
'    rs.Open "学生信息表", Conn, adOpenDynamic, adLockOptimistic
'    rs.MoveFirst
'    Do While Not rs.EOF
'        If rs!学号 = Me.tex_学号 Then Me.tex_成绩 = rs!成绩
'        '取出课程号赋值给a
'        'a = rs!学号
'        Exit Do
'        'End If
'        rs.MoveNext
'        Loop
'        rs.Close
'
'rs.Open "学生信息表", Conn, adOpenDynamic, adLockOptimistic
'rs.MoveFirst
'Do While Not rs.EOF
''满足为a的课程号取出课程名
'If rs!学号 = a Then
'Me.tex_课程 = rs!课程
'Exit Do
'End If
'rs.MoveNext
'Loop
End Sub


Private Sub Form_Load()
'设置文本框为可以状态
Me.Text3.Enabled = True
Me.Text4.Enabled = True
End Sub

 

好像打不开学生信息表,上午还能打开,晚上重新建了个表就打不开了。以前没学过access,找了半天也找不出问题,求好心人指教点击下载此附件

 

Top
宏鹏 发表于:2012-10-27 09:06:28
  If (Me.Text3.Enabled = False) Or (Me.Text4.Enabled = False) Then
        Me.Text3.Enabled = True
        Me.Text4.Enabled = True
        Me.Text3.SetFocus
        Exit Sub                            'exit sub要放在if里面,要不然会退出过程
    End If

总记录:1篇  页次:1/1 9 1 :