我的问题怎么没人回答啊!100奉送!如何在代码重新设定数据环境的连接?(数据环境有初始连接)

wenqiangs1 2002-11-08 09:56:06
各位高手请帮帮忙,急!
...全文
25 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnming 2002-11-14
  • 打赏
  • 举报
回复
很简单的,如果是单纯的数据库连接问题,不就是先Close一下,然后改一个ConnectionString,再重新Open就可以了

不过我认为这个问题好像是对报表重新连接问题提出来的,如果是的话也很简单的
使用ADO先打开一个你需要的报表数据源的Recordset,假设是rsADO,假设报表名称是drepTotal,则在打开报表之前代码只要这么些就可以了

Dim repTotal As drepTotal
Set repTotal = New drepTotal

Set repTotal .DataSource = rsADO

wzsswz 2002-11-14
  • 打赏
  • 举报
回复
假如还是不行,楼主不妨把你的代码贴出来吧
重新设定数据环境的联接,有这么复杂吗?
wzsswz 2002-11-14
  • 打赏
  • 举报
回复
搞笑,以为楼主需要连接ACCESS2000,又特意贴了上面的代码。
如楼主的数据库是SQL SERVER2000,帖子http://expert.csdn.net/Expert/topic/1140/1140553.xml?temp=.7968408
中就是连SQL SERVER2000的啊,只是实现了报表分组功能,相对复杂。

简单点,下面这样就行啊!
Dim cnstr
cnstr = "Provider=SQLOLEDB.1;Password=1212121;Persist Security Info=True;User ID=sa;Initial Catalog=zyzy;Data Source=wzsswz"
Det.Cn_rpt.CursorLocation = adUseClient
Det.Cn_rpt.ConnectionString = cnstr
Det.Cn_rpt.Open
Det.Commands.Item(2).CommandText = "select * from company order by comp_name"
Det.Commands.Item(2).ActiveConnection = Det.Cn_rpt
Det.Commands.Item(2).Execute
comp_rpt.Show 1
wzsswz 2002-11-14
  • 打赏
  • 举报
回复

先建一odbc数据源(xxx)联接你的mdb数据库(即ACCESS2000),

...
Dim cnstr
cnstr = "Provider=MSDataShape.1;Persist Security Info=False;Data Source=xxx;Data Provider=MSDASQL"
Det.Cn_rpt.CursorLocation = adUseClient
Det.Cn_rpt.ConnectionString = cnstr
Det.Cn_rpt.Open
Det.Commands.Item(1).CommandText = "select * from view1 order by depart"
Det.Commands.Item(1).ActiveConnection = Det.Cn_rpt
Det.Commands.Item(1).Execute
depart_rpt.Show 1
...
On Error GoTo lable_0
det.cn_rpt.Close
lable_0:
Err.Clear
end sub
wenqiangs1 2002-11-13
  • 打赏
  • 举报
回复
还没有搞定,我是连接SQL SERVER2000的,所以把连接ACCESS2000的去掉。
TO wangluonanhai(网络男孩) :我调试过了,没用的,还是出错了。。。
TO mousean(幻想无限):我也试过了,我最早就是这样试的。
TO wzsswz(岌岌荆棘):谢谢你的这两篇文章,是有关连接ACCESS2000,没有用
TO mousean(幻想无限) :我是使用数据环境来连接打印报表

大家再帮帮忙啊,问题还没解决啊!~~谢了
wang_anjun 2002-11-13
  • 打赏
  • 举报
回复
'在数据环境的代码中
Private Sub DataEnvironment_Initialize()
'在程序运行阶段动态改变数据环境的路径,防止设计的时候和运行的时候路径不同
Dim strDataSource As String
Dim strUser As String
Dim strPwd As String
dim strDB as string

'将以上四个变量设置为你需要的

If (DataEnvironment1.Connection1.State And adStateOpen) = 0 Then
DataEnvironment1.Connection1.ConnectionString = 你的数据环境中的那个串,用上面变量替换
End If
End Sub
lxqlogo0 2002-11-12
  • 打赏
  • 举报
回复
DataEnvironment1.Connection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\统计.mdb;Persist Security Info=False"
wzsswz 2002-11-12
  • 打赏
  • 举报
回复
这么多朋友帮你,还没搞顶???
XLYT 2002-11-11
  • 打赏
  • 举报
回复
VB的数据环境很烂的。
mouseanAnya 2002-11-11
  • 打赏
  • 举报
回复
你可以不用数据环境,直接定义一个记录集redset提取数据,
set datareport.datadource=redset
跟数据环境一样的效果,而且比数据环境灵活的多

Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strcnn As String
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset

con.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=database;Data Source=server"

rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.Open "select * from table", con, adOpenDynamic, adLockOptimistic

wzsswz 2002-11-11
  • 打赏
  • 举报
回复
http://www.cx66.com/cxgzs/program/vb/613.htm
yjp 2002-11-10
  • 打赏
  • 举报
回复
你可以用相对路径,
连接字符串中的".....datasource=" & app.path & "文件名"
wenqiangs1 2002-11-09
  • 打赏
  • 举报
回复
还是不能正常运行
wzsswz 2002-11-09
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1140/1140553.xml?temp=.7968408
网络老男孩了 2002-11-08
  • 打赏
  • 举报
回复
dim cn2 as adodb.connection
set cn2=new adodb.connection
cn2.open "connectionstring"
zqfleaf 2002-11-08
  • 打赏
  • 举报
回复
按楼上说的,如果你重新定要
cnn.close
然后重新open就可以了。其他照旧
goshawk001 2002-11-08
  • 打赏
  • 举报
回复
dim conn as connection
dim str as string
set conn = new connection
str="***" '这里为数据库路径等信息
(举个例子:str= "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=d:\网点配送\data\网点配送.mdb")
如果有密码那么在这个字符串里还得加些东西
conn.connectionstring=str
conn.open
mouseanAnya 2002-11-08
  • 打赏
  • 举报
回复
重新设定数据环境的连接?

数据环境的DataEnvironment_Initialize事件中写连接的连接字串
有几个连接写几个连接字串
connection1.connectionstring="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=database;Data Source=servers"

connection2.connectionstring="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=database;Data Source=servers"

..........................

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧