请教了:
请教了:
当我在工程运行后输入用户名和密码后,按“确定”按钮,点主界面菜单“查看报表”就会出现提示错误“无效数据源”,我的代码错在哪???该怎样改???谢谢!!!
工程如下
http://www.jzfybjy.com/liou/sccx/uploadfile/18.rar
问题点数:10、回复次数:15Top
1 楼renjunjun(飞黄)回复于 2004-09-01 02:15:20 得分 0
你的DataEnvironment1.Dsr文件损坏了,重做数据源试试吧Top
2 楼m701129()回复于 2004-09-01 07:56:47 得分 0
该怎样做DataEnvironment1.Dsr文件呢?能不能说说具体的操作步骤???
我是这样做DataEnvironment1.Dsr的,可做了还是不行啊??请问我错在哪???
在project explorer中----点右键----Add----DataEnvironment---然后把下面代码加入.
Private Sub DataEnvironment_Initialize()
Dim StrConnect As String
StrConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\gl.mdb"
Conn.ConnectionString = StrConnect
End Sub
Top
3 楼lxylxylxy(lxylxylxy)回复于 2004-09-01 10:27:42 得分 0
upTop
4 楼lxylxylxy(lxylxylxy)回复于 2004-09-01 11:32:47 得分 0
upTop
5 楼haohaohappy(50岁以前拿命换钱,50岁以后拿钱换命)回复于 2004-09-01 11:43:45 得分 0
帮顶,关注Top
6 楼m701129()回复于 2004-09-01 12:12:02 得分 0
帮忙回一下啊!我又忙了一上午,还是不行,我想"报表"和数据库相连的问题对高手不会是太难的,请高手帮忙看看啊!先谢了!!!
Top
7 楼m701129()回复于 2004-09-01 12:55:04 得分 0
upTop
8 楼vbman2003(家人)回复于 2004-09-01 13:27:19 得分 0
不要用Environment,直接添加DataReport。在细节中用RptTextBox控件按自己的打印要求布局。将其DataField属性对应相应的字段,注意不要设置DataMember,双击DataReport,添加代码如下:
Private Sub DataReport_Initialize()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Sql As String
'连接数据库(Access)
Set cn = New ADODB.Connection
With cn
.Provider = "MSDataShape.1" '一定要加这句
.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\db1.mdb;" & _
"Persist Security Info=False"
End With
'组合查询语句:
Sql = "SELECT * FROM TableName " & _
"where ID ='" & Form1.Text1.text & "'"
'打开查询记录集
Set rs = New ADODB.Recordset
rs.Open Sql, cn, adOpenStatic, adLockReadOnly
Set Me.DataSource = rs
End Sub
Top
9 楼m701129()回复于 2004-09-01 15:07:23 得分 0
谢谢,我按你的方法直接添加DataReport,代码如下,出现错误提示:至少一个参数没被指定值.我反复查看了我设计的DataReport1,也没找到什么错啊!我还应该怎样改啊???请继续指教.
Private Sub DataReport_Initialize()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Sql As String
'连接数据库(Access)
Set cn = New ADODB.Connection
With cn
.Provider = "MSDataShape.1" '一定要加这句
.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\gl.mdb;" & _
"Persist Security Info=False"
End With
'组合查询语句:
Sql = "SELECT * FROM YGXM " & _
"where ID ='" & Form1.Text1.Text & "'"
'打开查询记录集
Set rs = New ADODB.Recordset
rs.Open Sql, cn, adOpenStatic, adLockReadOnly
Set Me.DataSource = rs
End Sub
Top
10 楼vbman2003(家人)回复于 2004-09-01 15:39:30 得分 0
Sql = "SELECT * FROM YGXM " & _
"where ID ='" & Form1.Text1.Text & "'"
去掉WHERE子句试试:
Sql = "SELECT * FROM YGXM "
Top
11 楼vbman2003(家人)回复于 2004-09-01 15:52:08 得分 0
你的Form1是登录窗体啊Top
12 楼m701129()回复于 2004-09-01 15:57:37 得分 0
果然行了,谢谢你.还有一事相求:如下网址. 在这DataEnvironment中,我点Conn的右键后,怎么也加不上Conn的分枝SQL com以及下面的文字如"交易日期" "货品名称"等.我不知道别人是怎样加上的,能不能说说具体操作步骤啊????再一次向你表示感谢!!!
网址如下
http://www.jzfybjy.com/liou/sccx/uploadfile/1.jpgTop
13 楼vbman2003(家人)回复于 2004-09-01 16:23:21 得分 10
很少用DataReport做报表,更不用DataEnvironment。大概还记得一些:
1.双击DataEnvironment,右键单击Connection1,选择“属性”,设置数据库链接属性。
2.右键单击Connection1,选择“添加命令”,添加一个Command。
3.右键单击Command,设置Command属性。
你试试吧Top
14 楼m701129()回复于 2004-09-01 16:23:31 得分 0
upTop
15 楼m701129()回复于 2004-09-01 16:33:19 得分 0
结贴!!!Top




