| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1162 人关注过本帖
标题:这是我写的一段代码 请高手看下哪有问题!? 急!!奖励30分
取消只看楼主 加入收藏
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
 问题点数:0 回复次数:9 
这是我写的一段代码 请高手看下哪有问题!? 急!!奖励30分

现有两个表 业务经验 和 社员信息 两个表一一对应关系 两表就主码:社员代码 相同
检索条件:两个表里的条件都有 要求在datagrid1里显示检索结果
以下是我写的一段代码(检索条件分别写了几个表示一下)
运行显示的错误为:res2.Open sql, cn, adOpenStatic, adLockOptimistic 有问题
就是sql = "select 社员代码,性别,年龄 from 社员信息 where 社员代码 in res1.Recordset "有问题
请高手给看看错在哪?

Private Sub Command2_Click()
Dim sql1 As String
Dim sql As String
Dim conn As ADODB.Connection
Dim cn As ADODB.Connection
Dim res1 As ADODB.Recordset
Dim res2 As ADODB.Recordset

Set conn = New ADODB.Connection
Set res1 = New ADODB.Recordset

sql1 = "select 社员代码 from 业务经验 where 社员代码 like '%'"

If Text1.Text <> "" Then
sql1 = sql1 + " and OS like '" + Combo3.Text + "%' "
End If
If Text1.Text <> "" Then
sql1 = sql1 + " and DB like '" + Combo3.Text + "%' "
End If
If Text2.Text <> "" Then
sql1 = sql1 + "and 工作年限 like '" + Combo7.Text + "%'"
End If
If Combo1.Text <> "" Then
sql1 = sql1 + "and 语言 like '" + DataCombo3.Text + "%' "
End If

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db2.mdb;Persist Security Info=False"
res1.CursorLocation = adUseClient
res1.Open sql1, conn, adOpenStatic, adLockOptimistic

Set cn = New ADODB.Connection
Set res2 = New ADODB.Recordset
sql = "select 社员代码,性别,年龄 from 社员信息 where 社员代码 in res1.Recordset "

If Text1.Text <> "" Then
sql = sql + " and 社员代码 like '" + Text1.Text + "%' "
End If
If Text2.Text <> "" Then
sql = sql + "and 性别 like '" + Text2.Text + "%'"
End If
If Combo1.Text <> "" Then
sql = sql + "and 年龄 like '" + Combo1.Text + "%' "
End If

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db2.mdb;Persist Security Info=False"
res2.CursorLocation = adUseClient
res2.Open sql, cn, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = res2
MsgBox "检索成功", vbOKOnly + vbExclamation
sql = ""

DataGrid1.Refresh
DataGrid1.Refresh

搜索更多相关主题的帖子: 代码 奖励 
2007-03-26 14:37
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 
sql1 是字符串"select 社员代码 from 业务经验 where 社员代码 like '%'"
这样不可以 我现在就是不知道 where后面的条件怎么写
2007-03-26 15:07
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 
对了我用的是acsess
2007-03-26 15:10
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 

斑竹 检索条件里没有 社员代码 这一项 所以不需要再判断if textSYDM.text <>""

现在问题是第一层检索出来后(第一层检索没问题) 如何让第二层检索在 第一层检索的范围内进行检索
也就是第二层的检索where语句怎么写
“+ sql1 +“ res1.Recordset 都不对


2007-03-26 15:59
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 
错误信息 : 类型不一致
2007-03-26 16:08
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 
没错误 我测试过了 单独执行一个表的检索没问题
2007-03-26 16:17
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 
sql sql1 都是字符串 先在前面把条件写好了 然后带进
res2.Open sql, cn, adOpenStatic, adLockOptimistic
res1.Open sql1, cn, adOpenStatic, adLockOptimistic
中执行的


2007-03-26 16:26
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 

拜托高手们了!
救命呀!!!!!!!!

2007-03-26 16:50
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 
in 后面因该怎么写呀 拜托了!
2007-03-27 11:37
vitascl
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-2-7
收藏
得分:0 

我没用过这个 麻烦告诉我怎么用 详细一点! 谢谢

2007-03-27 14:00
快速回复:这是我写的一段代码 请高手看下哪有问题!? 急!!奖励30分
数据加载中...
 
   



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

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