设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1265|回复: 8
打印 上一主题 下一主题

[Access本身] 关于程序之间的参数传递

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-9 22:56:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Private Sub Image21_Click()
Dim a As String
Dim STemp As String
Dim d As String
Dim e As String
Dim path As String
Dim c As String
Dim rs As ADODB.Recordset
'为定义的数据集变量分配空间
Set rs = New ADODB.Recordset
'为打开数据表“查询语句”字符变量赋值
a = InputBox("请输入五位数的单号,例如61002, 产品型号不用输入", "输入单号")
STemp = "Select * From 投料单明细 where 单号=" & a & ";"
rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs.RecordCount = 0 Then
MsgBox "单号输入错误,或者投料单还未输入!"
Else
d = rs("单号")
e = rs("型号")
c = Mid(d, 2, 2)
path = "E:\MIS\投料单\06年投料单\" & c & "月份\QO" & d & e & ".xls"

这里的path得到正确的值以后,我就想直接执行以下的程序,即把path所代表的文件打开,主要是一个shell



Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute 0, "Open", path, "", "", 5


但是我不能直接放在这里,因为事先要声明,我不知道正确的格式,请问谁能告诉我?谢谢

End If
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
9#
 楼主| 发表于 2006-12-11 18:37:00 | 只看该作者
我刚才试了一下,如果打不开的话,返回的参数值为2~~
8#
发表于 2006-12-11 04:02:00 | 只看该作者
以下是引用sisound在2006-12-9 16:30:00的发言:


谢谢斑竹,已经搞定了!!

你真强

不过我还有一个问题

有时候自动生成的路径并不一定对应本地的文件,通过shell去打开的时候一点反应都没有

我想知道是否可以在无法打开的时候给出提示呢?

还有,为什么我做的数据库这么大,刚才看了一下120多M

吓死人了~~







根据返回值(Long)来判断就可以了 ,打开了应该是个非0的值。
7#
 楼主| 发表于 2006-12-10 01:03:00 | 只看该作者
谢谢

那前面一个问题我该如何解决呢?
6#
发表于 2006-12-10 00:34:00 | 只看该作者
这是ACCESS的通病,压缩一下应该好很多

  
5#
 楼主| 发表于 2006-12-10 00:30:00 | 只看该作者
谢谢斑竹,已经搞定了!!

你真强

不过我还有一个问题

有时候自动生成的路径并不一定对应本地的文件,通过shell去打开的时候一点反应都没有

我想知道是否可以在无法打开的时候给出提示呢?



还有,为什么我做的数据库这么大,刚才看了一下120多M

吓死人了~~

4#
发表于 2006-12-10 00:14:00 | 只看该作者
把例子传上来
3#
 楼主| 发表于 2006-12-10 00:10:00 | 只看该作者
不行,我这样试过了,

我复制上去以后,这段代码就自动与本程序分开,跑到上面的一个程序的最后面去了

然后就有提示,"end后面不能有内容~~~"
2#
发表于 2006-12-9 23:54:00 | 只看该作者
把下面的引用放在程序开始的最上面

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 14:30 , Processed in 0.111788 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表