vb的datareport动态绑定数据源

我要通过在Text1中写入学生姓名,然后单击Command1按钮出现这个学生的信息的报表代码如下PrivateSubForm_Load()DimstrConnectAsS... 我要通过在Text1中写入学生姓名,然后单击Command1按钮 出现这个学生的信息的报表 代码如下
Private Sub Form_Load()
Dim strConnect As String
Dim strProvider As String
Dim strDataSource As String
Dim strDataBaseName As String
Dim pt As String
strProvider = "Provider= Microsoft.Jet.OLEDB.4.0;"
strDataSource = App.Path

strDataBaseName = "\数据库(最新2008-3-13新)zhang82519142.mdb;"

strDataSource = "Data Source=" & strDataSource & _
strDataBaseName

strConnect = strProvider & strDataSource
Set connConnection = New ADODB.Connection

connConnection.CursorLocation = adUseClient

stropen = "select * from 全部信息情况 where 姓名='" & Text1.Text & "'"

connConnection.Open strConnect

With DataCmd
.ActiveConnection = connConnection
.CommandType = adCmdText
.CommandText = stropen
.Execute
End With

With DataRec
.Source = stropen
.ActiveConnection = connConnection
.CursorLocation = adUseClient
.Open DataCmd
End With
Exit Sub

End Sub

Private Sub Command1_Click()
Call ShowReport
End Sub

Private Sub ShowReport()
Dim ControlX As Object
Dim FieldCount As Integer
FieldCount = 0

With DataReport1
.Hide
Set .DataSource = DataRec
.DataMember = ""

With .Sections("Section1")
For Each ControlX In .Controls
If TypeOf ControlX Is RptTextBox Then
ControlX.DataMember = ""
ControlX.DataField = DataRec.Fields(FieldCount).Name
FieldCount = FieldCount + 1
End If
Next
End With

.Refresh
.Show
End With

End Sub

为什么出现的是一个空白表 而如果把sql语句中'" & Text1.Text & "'"换成人名 如 张三 就能正确的显示出张三的信息 为什么不能动态的设置?
展开
 我来答
bati8888
2009-05-30 · TA获得超过3716个赞
知道大有可为答主
回答量:4669
采纳率:0%
帮助的人:2038万
展开全部
可以动态设置的:按你的语句,ADO会查找姓名为 & Text1.Text & 的人,而不是姓名=变量TEXT1.TEXT的人。当然是空白了
stropen = "select * from 全部信息情况 where 姓名='" & Text1.Text & "'"

改一下:stropen = "select * from 全部信息情况 where 姓名=" & '"'&Text1.Text&'"'
如果TEXT1.TEXT=李四,这句的执行结果就是:stropen = "select * from 全部信息情况 where 姓名="李四" " 这条语句只是一个VB中的常量字符串和变量字符串连接运算,这条语句应该完成四个字符串的相加,1、"select * from 全部信息情况 where 姓名=" 2、'"'
3、text1.text 4、 '"'
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友2ca1c0f24
2009-05-31 · TA获得超过2036个赞
知道大有可为答主
回答量:4364
采纳率:0%
帮助的人:3396万
展开全部
stropen = "select * from 全部信息情况 where 姓名='" & Text1.Text & "'"

估计是Text1中的字符串和数据表中的字符串不匹配,例如Text1中有默认的空格或数据表中的字符串有空格,包括前导空格,中间空格和后导空格。

语句没有问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式