excel VB 链接SQL2005 数据库本机上可用,其他机器就不行

代码如下PrivateSubCommandButton2_Click()'If(MsgBox("当前的操作是正式帐套(更改),是否确定此次操作?",vbYesNo,"Pi... 代码如下
Private Sub CommandButton2_Click()
'If (MsgBox("当前的操作是正式帐套(更改),是否确定此次操作?", vbYesNo, "Pimatronics") = vbNo) Then
'GoTo J
'End If
Dim strcn As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim BomPn As String
Dim BomPnSql As String
Dim sql As String
Dim PN As String
Dim sht As Worksheet
Dim error As String
Dim i As Integer
PN = InputBox("请输入完整的物料代码", "Pimatronics")
strcn = "Driver={sql server};server=k3server;uid=sa;pwd=sa123;database=AIS2013051419031100"
cn.Open strcn
BomPnSql = "select distinct top 1 Fshortnumber from t_icitem where FshortNumber='" & PN & "'"
On Error GoTo H
error = "操作数据库出错"
rs.Open BomPnSql, cn
If rs.EOF = True Then
error = "在数据中找不到相关的数据"
是在SQL服务器上运行可以,但是在其他客户端就不行
展开
 我来答
创作者zUzVB1Sl31
2013-10-18 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部

必须要注意的是VBA的运行环境,他的EXCEL版本支持模块吗?你要检查一下,一部分OFFICE是精简版的,可能DAO引用根本就没有注册,你说你怎么用嘛;第二点就是保存EXCEL的时候有没有保存宏安全定义,如下界面你是怎么处理的

设置宏安全性没有,不要只保存个代码进去,宏不起作用

第三个错误可能性就是根本与服务器失去联系,能不能PING上服务器连接?你说在服务器上运行可以,其他的不行看看是不是根本连接不上,server=k3server;  Server=192.168.1.1格式  ,改成IP看看,sa用户权限未必分配到了数据库用户

第四种可能是VBA最常见的,EXCEL所在的OFFICE变更后,要重新导入模块和引用

这就是VBA不方便的地方,固然编写方便,但携带麻烦

zx001z7d53
2013-10-18 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5609万
展开全部
引用ADODB了么?估计是strcn = "Driver={sql server};server=k3server;uid=sa;pwd=sa123;database=AIS2013051419031100"
的问题,该换个连接串
更多追问追答
追问
该换成什么呢
追答
群238706019里面有个ADO连接串大全,共享里面
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式