'输入一个词查询在数据库中相对应的另一个字段
Private Sub Command1_Click()
Dim db As Database
Dim js As Recordset
Set db = OpenDatabase(App.Path + "\db.mdb")
Set js = db.OpenRecordset("c_e")
js_no = Text1.Text
js.Index = "chinese"
js.Seek "=", js_no
If Not js.NoMatch Then
RichTextBox2.Text = js.Fields("english")
Exit Sub
End If
MsgBox ("no mdb.")
End Sub
谢谢各位帮帮忙吧,我急得了!
21 个解决方案
#1
你用的是Dao吧,Dao应该是不能调用Access2000的,Access97倒是可以.
如果要用应该用Ado,需要例子的话回电.
如果要用应该用Ado,需要例子的话回电.
#2
佣ADO吧
#3
如果你用DAO3.6的话,那么就没有问题了
估计是你引用的DAO版本太低了
估计是你引用的DAO版本太低了
#4
哪位能给我做个例子吧,好吗?就是实现"输入一个词查询在数据库中相对应的另一个字段"这功能,不胜感激!deeryu@163.com
#5
sbgsl(孙百刚)
你没有收到我的短信吗?我要例子的呀。谢谢!
deeryu@163.com
你没有收到我的短信吗?我要例子的呀。谢谢!
deeryu@163.com
#6
Dim Cn As adodb.Connection
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Par As adodb.Parameter
Dim Res As String
Public Function ConnectionDate(Sql As String, ByVal Where As Integer) As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Dim Name As String
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = App.Path + "\datebase\ltd.mdb"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open Sql, Cn
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Par As adodb.Parameter
Dim Res As String
Public Function ConnectionDate(Sql As String, ByVal Where As Integer) As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Dim Name As String
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = App.Path + "\datebase\ltd.mdb"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open Sql, Cn
#7
要用access2000装一下SP5
#8
用Ado吧 如:
Public Sub SetFind()
Dim Conti As ADODB.Connection
Dim res As ADODB.Recordset
Dim pei As String
If Text2.Text = Empty Then
MsgBox "不能为空,请正确输入", , "消息"
Text2.SetFocus
Exit Sub
End If
pei = "select * from 客户管理系统 where 使用号码='" & Text2.Text & "'"
Set Conti = New ADODB.Connection
With Conti
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\客户\客户.mdb;Persist Security Info=False"
.Open
End With
Set res = New ADODB.Recordset
With res
.Open pei, Conti, adOpenDynamic
End With
If res.EOF And res.BOF Then
MsgBox "无效,请正确输入", , "提示"
Exit Sub
End If
End Sub
Public Sub SetFind()
Dim Conti As ADODB.Connection
Dim res As ADODB.Recordset
Dim pei As String
If Text2.Text = Empty Then
MsgBox "不能为空,请正确输入", , "消息"
Text2.SetFocus
Exit Sub
End If
pei = "select * from 客户管理系统 where 使用号码='" & Text2.Text & "'"
Set Conti = New ADODB.Connection
With Conti
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\客户\客户.mdb;Persist Security Info=False"
.Open
End With
Set res = New ADODB.Recordset
With res
.Open pei, Conti, adOpenDynamic
End With
If res.EOF And res.BOF Then
MsgBox "无效,请正确输入", , "提示"
Exit Sub
End If
End Sub
#9
用ADO 则随心所欲
#10
哥们,你用你用DAO3.6的话,那么就没有问题了
,你用的可能是dao3.5.1,那样就不能打开,听 jo_yoko(jo_yoko)
的没错
,你用的可能是dao3.5.1,那样就不能打开,听 jo_yoko(jo_yoko)
的没错
#11
我不是哥们儿,是姐们儿.知道jo_yoko(jo_yoko)说得没错,但是怎么才能装上DAO3.6呢,要一个文件的吧?哪儿可以得到啊?jo_yoko说他现在手边没有,要过一阵才能找找看。
楼上几位的ADO建议也应该可行的吧,可是我还没用过ADO也,免强能看懂他们的语句,但要实现我的功能我还是不会。
其实特简单的功能,就是有一个库,只有两个字段(一定要Access2000),要输入一个词然后根据这个词到库中查询,有的话就在程式中显示出另一个字段的内容。
哪位大哥大姐大婶,现在没事的话帮我现成做一个吧。
email: deeryu@163.com
期盼中。。。。。。。。。
楼上几位的ADO建议也应该可行的吧,可是我还没用过ADO也,免强能看懂他们的语句,但要实现我的功能我还是不会。
其实特简单的功能,就是有一个库,只有两个字段(一定要Access2000),要输入一个词然后根据这个词到库中查询,有的话就在程式中显示出另一个字段的内容。
哪位大哥大姐大婶,现在没事的话帮我现成做一个吧。
email: deeryu@163.com
期盼中。。。。。。。。。
#12
哦把Public sub SetFind()改成 在命令按钮下看看如:private sub command_Click()中
#13
function GetResult(strWord as string)as variant
Dim Cn As adodb.Connection
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Res As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = "C:\1.mdg"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open "Select smeanning from tbl1 where sWord='" & strWord "'", Cn
return rs("smeanning").value
End Function
---------------------------------------------------------
Montaque==Digitalboy==Houyongfeng==Monkey
Dim Cn As adodb.Connection
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Res As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = "C:\1.mdg"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open "Select smeanning from tbl1 where sWord='" & strWord "'", Cn
return rs("smeanning").value
End Function
---------------------------------------------------------
Montaque==Digitalboy==Houyongfeng==Monkey
#14
Dim conn As ADODB.Connection
Dim rslw As ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=DBOnday.mdb;
Persist Security Info=False" '将DBOnday.mdb放在和工程同一个目录下
rslw.Open "select Employee.Employee_No as 编号from Employee, conn, adOpenDynamic, adLockOptimistic
Set DtGrid.DataSource = rslw
Dim rslw As ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=DBOnday.mdb;
Persist Security Info=False" '将DBOnday.mdb放在和工程同一个目录下
rslw.Open "select Employee.Employee_No as 编号from Employee, conn, adOpenDynamic, adLockOptimistic
Set DtGrid.DataSource = rslw
#15
ADO中我要显示符合查询条件查出来的内容,该怎么做啊?比如DAO中有seek语句.不好意思,我太笨了,能不能给我个源程序啊?deeryu@163.com
#16
呵呵,用select * from aa where aa='ad' 之类的不就可以了吗,你多看看书吧
#17
先放置ADODC控件和MSHflexGrid控件,设置ADODC控件的connectionstring属性,提供者为JET4。01,绑定数据库后,别忘了测试连接,连接成功后设置commandtype属性(为adcmdtext), 设置MSHflexGrid控件的Datasource属性为ADODC1。以下代码为模糊查询使用。
Dim str As String
str = Trim(Text1.Text)'去除输入字串的前后空格
Adodc1.RecordSource = "Select ......From 新食物成份表 Where (新食物成份表.食物名 like '%" & str & "%' )"
Adodc2.Refresh
Set MSHFlexGrid1.DataSource = Adodc1
MSHFlexGrid1.Refresh
我从我的工程里拷过来的,特别需要注意Select 语句中的like 以后部分,一个空格都不能多不能少。你拷拷试试。
Dim str As String
str = Trim(Text1.Text)'去除输入字串的前后空格
Adodc1.RecordSource = "Select ......From 新食物成份表 Where (新食物成份表.食物名 like '%" & str & "%' )"
Adodc2.Refresh
Set MSHFlexGrid1.DataSource = Adodc1
MSHFlexGrid1.Refresh
我从我的工程里拷过来的,特别需要注意Select 语句中的like 以后部分,一个空格都不能多不能少。你拷拷试试。
#18
弄错了,Adodc2.Refresh应为Adodc1.Refresh
#19
网上的SP5升级包到处都是,随便下一个装上不就得了!
然后在工程中引用DAO3.6就行了。
如果你是初学的话,我建议你还是用DAO做几个东西熟悉一下再学ADO比较好,不要只听别人说用ADO.(个人经验)
然后在工程中引用DAO3.6就行了。
如果你是初学的话,我建议你还是用DAO做几个东西熟悉一下再学ADO比较好,不要只听别人说用ADO.(个人经验)
#20
Access2000下的字段如果设置成text型,数据最多输入255个字符,没有没别的
办法输入更多?我要录入一篇小说,少说也有2万字。
办法输入更多?我要录入一篇小说,少说也有2万字。
#21
各位,这个问题我已经解决了,谢谢大家.
另外还有个事请求帮助:
发现即使在日文系统window2000下的Access2000也不能完全正常地输入中文数据(中文系统的各国语言文字支持就很好,但日文系统不行),比如输入“学习班”,数据库中显示“学·班”,那个“习”字打不上去,当然还有很多别的字。
照理说2000应该都用unicode的吧?为什么还是不行呢,真搞不懂。那还有哪种数据库(mdb格式)能让我在日文系统下输入中文呢?
静厚佳音!
--lucia
另外还有个事请求帮助:
发现即使在日文系统window2000下的Access2000也不能完全正常地输入中文数据(中文系统的各国语言文字支持就很好,但日文系统不行),比如输入“学习班”,数据库中显示“学·班”,那个“习”字打不上去,当然还有很多别的字。
照理说2000应该都用unicode的吧?为什么还是不行呢,真搞不懂。那还有哪种数据库(mdb格式)能让我在日文系统下输入中文呢?
静厚佳音!
--lucia
#1
你用的是Dao吧,Dao应该是不能调用Access2000的,Access97倒是可以.
如果要用应该用Ado,需要例子的话回电.
如果要用应该用Ado,需要例子的话回电.
#2
佣ADO吧
#3
如果你用DAO3.6的话,那么就没有问题了
估计是你引用的DAO版本太低了
估计是你引用的DAO版本太低了
#4
哪位能给我做个例子吧,好吗?就是实现"输入一个词查询在数据库中相对应的另一个字段"这功能,不胜感激!deeryu@163.com
#5
sbgsl(孙百刚)
你没有收到我的短信吗?我要例子的呀。谢谢!
deeryu@163.com
你没有收到我的短信吗?我要例子的呀。谢谢!
deeryu@163.com
#6
Dim Cn As adodb.Connection
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Par As adodb.Parameter
Dim Res As String
Public Function ConnectionDate(Sql As String, ByVal Where As Integer) As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Dim Name As String
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = App.Path + "\datebase\ltd.mdb"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open Sql, Cn
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Par As adodb.Parameter
Dim Res As String
Public Function ConnectionDate(Sql As String, ByVal Where As Integer) As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Dim Name As String
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = App.Path + "\datebase\ltd.mdb"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open Sql, Cn
#7
要用access2000装一下SP5
#8
用Ado吧 如:
Public Sub SetFind()
Dim Conti As ADODB.Connection
Dim res As ADODB.Recordset
Dim pei As String
If Text2.Text = Empty Then
MsgBox "不能为空,请正确输入", , "消息"
Text2.SetFocus
Exit Sub
End If
pei = "select * from 客户管理系统 where 使用号码='" & Text2.Text & "'"
Set Conti = New ADODB.Connection
With Conti
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\客户\客户.mdb;Persist Security Info=False"
.Open
End With
Set res = New ADODB.Recordset
With res
.Open pei, Conti, adOpenDynamic
End With
If res.EOF And res.BOF Then
MsgBox "无效,请正确输入", , "提示"
Exit Sub
End If
End Sub
Public Sub SetFind()
Dim Conti As ADODB.Connection
Dim res As ADODB.Recordset
Dim pei As String
If Text2.Text = Empty Then
MsgBox "不能为空,请正确输入", , "消息"
Text2.SetFocus
Exit Sub
End If
pei = "select * from 客户管理系统 where 使用号码='" & Text2.Text & "'"
Set Conti = New ADODB.Connection
With Conti
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\客户\客户.mdb;Persist Security Info=False"
.Open
End With
Set res = New ADODB.Recordset
With res
.Open pei, Conti, adOpenDynamic
End With
If res.EOF And res.BOF Then
MsgBox "无效,请正确输入", , "提示"
Exit Sub
End If
End Sub
#9
用ADO 则随心所欲
#10
哥们,你用你用DAO3.6的话,那么就没有问题了
,你用的可能是dao3.5.1,那样就不能打开,听 jo_yoko(jo_yoko)
的没错
,你用的可能是dao3.5.1,那样就不能打开,听 jo_yoko(jo_yoko)
的没错
#11
我不是哥们儿,是姐们儿.知道jo_yoko(jo_yoko)说得没错,但是怎么才能装上DAO3.6呢,要一个文件的吧?哪儿可以得到啊?jo_yoko说他现在手边没有,要过一阵才能找找看。
楼上几位的ADO建议也应该可行的吧,可是我还没用过ADO也,免强能看懂他们的语句,但要实现我的功能我还是不会。
其实特简单的功能,就是有一个库,只有两个字段(一定要Access2000),要输入一个词然后根据这个词到库中查询,有的话就在程式中显示出另一个字段的内容。
哪位大哥大姐大婶,现在没事的话帮我现成做一个吧。
email: deeryu@163.com
期盼中。。。。。。。。。
楼上几位的ADO建议也应该可行的吧,可是我还没用过ADO也,免强能看懂他们的语句,但要实现我的功能我还是不会。
其实特简单的功能,就是有一个库,只有两个字段(一定要Access2000),要输入一个词然后根据这个词到库中查询,有的话就在程式中显示出另一个字段的内容。
哪位大哥大姐大婶,现在没事的话帮我现成做一个吧。
email: deeryu@163.com
期盼中。。。。。。。。。
#12
哦把Public sub SetFind()改成 在命令按钮下看看如:private sub command_Click()中
#13
function GetResult(strWord as string)as variant
Dim Cn As adodb.Connection
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Res As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = "C:\1.mdg"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open "Select smeanning from tbl1 where sWord='" & strWord "'", Cn
return rs("smeanning").value
End Function
---------------------------------------------------------
Montaque==Digitalboy==Houyongfeng==Monkey
Dim Cn As adodb.Connection
Dim Rs As adodb.Recordset
Dim Com As adodb.Command
Dim Res As String
Set Rs = New adodb.Recordset
Set Cn = New adodb.Connection
Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cn.Mode = adModeShareDenyNone
Cn.CursorLocation = adUseClient
Cn.Properties("Data Source") = "C:\1.mdg"
Cn.Properties("Jet OLEDB:Database Password") = ""
Cn.Open
Rs.Open "Select smeanning from tbl1 where sWord='" & strWord "'", Cn
return rs("smeanning").value
End Function
---------------------------------------------------------
Montaque==Digitalboy==Houyongfeng==Monkey
#14
Dim conn As ADODB.Connection
Dim rslw As ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=DBOnday.mdb;
Persist Security Info=False" '将DBOnday.mdb放在和工程同一个目录下
rslw.Open "select Employee.Employee_No as 编号from Employee, conn, adOpenDynamic, adLockOptimistic
Set DtGrid.DataSource = rslw
Dim rslw As ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=DBOnday.mdb;
Persist Security Info=False" '将DBOnday.mdb放在和工程同一个目录下
rslw.Open "select Employee.Employee_No as 编号from Employee, conn, adOpenDynamic, adLockOptimistic
Set DtGrid.DataSource = rslw
#15
ADO中我要显示符合查询条件查出来的内容,该怎么做啊?比如DAO中有seek语句.不好意思,我太笨了,能不能给我个源程序啊?deeryu@163.com
#16
呵呵,用select * from aa where aa='ad' 之类的不就可以了吗,你多看看书吧
#17
先放置ADODC控件和MSHflexGrid控件,设置ADODC控件的connectionstring属性,提供者为JET4。01,绑定数据库后,别忘了测试连接,连接成功后设置commandtype属性(为adcmdtext), 设置MSHflexGrid控件的Datasource属性为ADODC1。以下代码为模糊查询使用。
Dim str As String
str = Trim(Text1.Text)'去除输入字串的前后空格
Adodc1.RecordSource = "Select ......From 新食物成份表 Where (新食物成份表.食物名 like '%" & str & "%' )"
Adodc2.Refresh
Set MSHFlexGrid1.DataSource = Adodc1
MSHFlexGrid1.Refresh
我从我的工程里拷过来的,特别需要注意Select 语句中的like 以后部分,一个空格都不能多不能少。你拷拷试试。
Dim str As String
str = Trim(Text1.Text)'去除输入字串的前后空格
Adodc1.RecordSource = "Select ......From 新食物成份表 Where (新食物成份表.食物名 like '%" & str & "%' )"
Adodc2.Refresh
Set MSHFlexGrid1.DataSource = Adodc1
MSHFlexGrid1.Refresh
我从我的工程里拷过来的,特别需要注意Select 语句中的like 以后部分,一个空格都不能多不能少。你拷拷试试。
#18
弄错了,Adodc2.Refresh应为Adodc1.Refresh
#19
网上的SP5升级包到处都是,随便下一个装上不就得了!
然后在工程中引用DAO3.6就行了。
如果你是初学的话,我建议你还是用DAO做几个东西熟悉一下再学ADO比较好,不要只听别人说用ADO.(个人经验)
然后在工程中引用DAO3.6就行了。
如果你是初学的话,我建议你还是用DAO做几个东西熟悉一下再学ADO比较好,不要只听别人说用ADO.(个人经验)
#20
Access2000下的字段如果设置成text型,数据最多输入255个字符,没有没别的
办法输入更多?我要录入一篇小说,少说也有2万字。
办法输入更多?我要录入一篇小说,少说也有2万字。
#21
各位,这个问题我已经解决了,谢谢大家.
另外还有个事请求帮助:
发现即使在日文系统window2000下的Access2000也不能完全正常地输入中文数据(中文系统的各国语言文字支持就很好,但日文系统不行),比如输入“学习班”,数据库中显示“学·班”,那个“习”字打不上去,当然还有很多别的字。
照理说2000应该都用unicode的吧?为什么还是不行呢,真搞不懂。那还有哪种数据库(mdb格式)能让我在日文系统下输入中文呢?
静厚佳音!
--lucia
另外还有个事请求帮助:
发现即使在日文系统window2000下的Access2000也不能完全正常地输入中文数据(中文系统的各国语言文字支持就很好,但日文系统不行),比如输入“学习班”,数据库中显示“学·班”,那个“习”字打不上去,当然还有很多别的字。
照理说2000应该都用unicode的吧?为什么还是不行呢,真搞不懂。那还有哪种数据库(mdb格式)能让我在日文系统下输入中文呢?
静厚佳音!
--lucia