设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2020|回复: 12
打印 上一主题 下一主题

[其它] 煩指教一段程式碼錯誤在何處

[复制链接]
跳转到指定楼层
1#
发表于 2006-2-27 23:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
煩指教下面一段程式碼錯誤在何處,應該如何改正?

在下不勝感激!

部門數據庫共享,有三部電腦負責數據錄入編輯.

工作思路:

1.啟動數據庫後檢查指定三部電腦中特定文件夾中是否存在x.y.z.w中任何一個文件,,若無任何一個文件則退出系統.

2.如有文件y,則打開表單未核銷情況(壹部),如有文件z,則打開表單未核銷情況(貳部),

_____________________________________
Private Sub Form_Load()
x = Dir("c:\fox_sys\dept.txt")
y = Dir("c:\fox_sys\dept1.txt")
z = Dir("c:\fox_sys\dept2.txt")
w = Dir("C:\foy_sys\dept3.txt")

End Sub

_____________________________
Private Sub O_1_Click()

If x <> "c:\fox_sys\dept.txt" And z <> "c:\fox_sys\dept2.txt" Then
DoCmd.OpenForm "未核銷情況(壹部)"
ElseIf x <> "c:\fox_sys\dept.txt" And y <> "c:\fox_sys\dept1.txt" Then
DoCmd.OpenForm "未核銷情況(貳部)"
Else
If x <> "c:\fox_sys\dept.txt" And y <> "c:\fox_sys\dept1.txt" And z <> "c:\fox_sys\dept2.txt" Then
MsgBox "系統退出!", "16", "系統"
DoCmd.Quit
End If

End Sub

__________________________

可是我在演算中發現 c:\fox_sys\文件夾中不論是dept1.txt還是dept2.txt,也只能打開"未核銷情況(壹部)"表單,達不到操作要求.

在下三板斧用完了,沒什麼招了,祈求高手喂招!

[em06]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-2-28 00:22:00 | 只看该作者
x,y,z,w是模块级变量吗?
3#
 楼主| 发表于 2006-2-28 01:14:00 | 只看该作者
和此有關系嗎?我只是設定 x,y,z.w對應是不是某個文件.

点击这里给我发消息

4#
发表于 2006-2-28 02:19:00 | 只看该作者
当然有关系啦,如果不是窗体变量,在load中取到的值在O_1_Click()中读不到
5#
 楼主| 发表于 2006-2-28 02:46:00 | 只看该作者
在演算中發現 c:\fox_sys\文件夾中不論是dept1.txt還是dept2.txt,也只能打開"未核銷情況(壹部)"表單

能打開"未核銷情況(壹部)"表單,那表明在o_1_cilk()中是可以讀到的.

那我究竟應該怎樣改編呢?



6#
发表于 2006-2-28 03:10:00 | 只看该作者
你知道x = Dir("c:\fox_sys\dept.txt")这个表达式中,x返回什么吗?用立即窗口查看一下,你就明白是什么道理了.
7#
 楼主| 发表于 2006-2-28 03:42:00 | 只看该作者
首先謝謝您的回覆!

怎麼用立即窗口?

我打開了立即窗口,輸入x = Dir("c:\fox_sys\dept.txt")沒有結果?

步驟是怎樣的?
8#
发表于 2006-2-28 03:59:00 | 只看该作者
叫人如何跟你解释清楚呢?这样好了,你试试吧,如果不是你预想的顺序,就调整等号二边的参数.



Private Sub O_1_Click()

x = Dir("c:\fox_sys\dept.txt")
y = Dir("c:\fox_sys\dept1.txt")
z = Dir("c:\fox_sys\dept2.txt")
w = Dir("C:\foy_sys\dept3.txt")



If x = "dept.txt" And z = "dept2.txt" Then
DoCmd.OpenForm "未核銷情況(壹部)"
ElseIf x = "dept.txt" And y = "dept1.txt" Then
DoCmd.OpenForm "未核銷情況(貳部)"
Elseif x <> "dept.txt" And y <> "dept1.txt" And z <> "dept2.txt" Then
MsgBox "系統退出!", "16", "系統"
DoCmd.Quit

end if
End sub

[此贴子已经被作者于2006-2-27 20:05:14编辑过]

9#
 楼主| 发表于 2006-2-28 04:14:00 | 只看该作者
再次向您致謝!

我把程式碼改成您的設計,按下按鍵後沒有任何反應
10#
 楼主| 发表于 2006-2-28 04:19:00 | 只看该作者
下面的可不可以這樣? (也不行.直接就退出了)

If  z = "dept1.txt" Then
DoCmd.OpenForm "未核銷情況(壹部)"
ElseIf y = "dept2.txt" Then
DoCmd.OpenForm "未核銷情況(貳部)"
Elseif x <> "dept.txt" or y <> "dept1.txt" or z <> "dept2.txt" Then
MsgBox "系統退出!", "16", "系統"
DoCmd.Quit





[此贴子已经被作者于2006-2-27 20:29:39编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 00:09 , Processed in 0.093794 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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