标题:不能访问选定表
只看楼主
幻夜流云
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-13
结帖率:0
已结贴  问题点数:20 回复次数:8 
不能访问选定表
USE 点菜
DELETE all
PACK
USE 菜谱
IF NOT EOF()
COPY to diancai FIELDS 菜编号,菜名,单价 FOR 点菜标志=.t.
ENDIF
USE
USE 点菜
APPEND FROM diancai FIELDS 菜编号,菜名,单价
replace ALL 点菜.数量 WITH 1
replace ALL 点菜.金额 WITH 单价&&点菜.单价*点菜.数量
replace ALL 点菜.单号 WITH ALLTRIM(str(thisform.text1.Value))
USE
USE 帐单
APPEND FROM 点菜 FIELDS 单号,菜编号,菜名,单价,数量,金额
USE
select 4
USE 就餐
APPEND BLANK
replace 就餐.单号 WITH ALLTRIM(str(thisform.text1.Value))
replace 就餐.日期 WITH thisform.text2.Value
replace 就餐.桌号 with
replace 就餐.人数 with val()
replace 就餐.收银员 with
use
ERASE diancai
USE 菜谱
replace ALL 菜谱.点菜标志 WITH .f.
USE
MESSAGEBOX("提交成功!",48+0+0,"信息提示")
这是设计的点餐界面的提交按钮的代码,运行之后或者表单运行后放置一段时间就会出现不能访问选定表。不知道是我数据库建立的不对还是表的关联有问题。我把截图和程序都上传了,希望有大牛帮忙看看。现在就差这个窗体有问题了。
VF餐饮管理系统 - 副本.rar (7.62 MB)
搜索更多相关主题的帖子: replace 
2016-12-15 11:27
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:7 
刚看了下,缺少项目文件
pjx,中午看看
2016-12-15 12:00
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
得分:7 
不能访问选定表,一般是一个控件的数据源绑定了一个表,而这个表又不存在了。
你删除表diancai,检查一下有无控件绑定了这个表。
(仅猜测。)

认真看书学习,弄通Fox主义。
2016-12-15 12:20
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:7 
也有可能是打开的表被其他表单关闭了,建议使用表单的数据环境来管理表的打开和关闭,这样就不至于将其他表单正在使用的表关闭了,也不会出现重复打开表的问题。

活到老,学到老! http://www. E-mail:hu-jj@
2016-12-15 12:37
幻夜流云
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-13
得分:0 
回复 2楼 mywisdom88
没打算建立项目,但这个问题跟项目没关系吧?
2016-12-15 13:49
幻夜流云
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-13
得分:0 
回复 3楼 wzxc
我在想是不是我数据库建立的不对,应该只有一个数据库?
就是copy to diancai这段代码是拷贝到数据库还是表里?
2016-12-15 14:01
幻夜流云
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-13
得分:0 
回复 4楼 hu9jj
请问如何用表单的数据环境?我数据环境里都添加表了
2016-12-15 14:02
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
问题出在
text1.lostFocus
PUBLIC C
OPEN DATABASE 餐饮数据
USE 就餐
SELECT 就餐
GO top
GO bottom
c=RECNO()
thisform.text1.Value=c+1
use

大概帮你整理一下:
1、把 form1.init的全部删除,并在 form1.load增加
&&do menu.MPR with this, .t.
CLOSE DATABASES
SET DEFAULT TO [G:\VF餐饮管理系统] &&我测试时的位置,你不要
OPEN DATABASE 餐饮数据
IF !USED("菜谱")
   USE 菜谱 IN 0
ELSE
   SELECT 菜谱
ENDIF
IF !USED("点菜")
    USE 点菜 IN 0
ELSE
    SELECT 点菜
ENDIF
IF !USED("帐单")
   USE 帐单 IN 0
ELSE
   SELECT 帐单
ENDIF
IF !USED("就餐")
   USE 就餐 IN 0
ELSE
   SELECT 就餐
ENDIF

replace ALL 菜谱.点菜标志 WITH .f.

2、在 command1.click,增加
thisform.list2.listindex = thisform.list2.ListCount &&默认选中新增加的行,没这个默认值,点“取消”按钮,会出错

3、修改 command2.click
IF thisform.list2.ListCount > 0 &&如果没这个判断,会出错
   SELECT 菜谱
   GO top
   LOCATE FOR ALLTRIM(菜谱.菜名)=ALLTRIM(thisform.list2.value)
   replace 菜谱.点菜标志 WITH .f.
   CONTINUE
   IF EOF()
      GO top
   ENDIF
   thisform.list2.RemoveItem(thisform.list2.listindex)
   thisform.list2.listindex = thisform.list2.ListCount &&默认选中,如果没这行,连续点“取消”按钮时,会出错
ENDIF
   
4、删除text1.lostfocus,改为放到text1.gotfocus
LOCAL n单号
SELECT 就餐
n单号 = RECCOUNT()
thisform.text1.Value=n单号+1


5、command5.click 改为
SELECT 点菜
ZAP

SELECT 菜谱
IF NOT EOF()
   COPY to diancai FIELDS 菜编号,菜名,单价 FOR 点菜标志=.t.
ENDIF

SELECT 点菜
APPEND FROM diancai FIELDS 菜编号,菜名,单价
replace ALL 点菜.数量 WITH 1
replace ALL 点菜.金额 WITH 单价&&点菜.单价*点菜.数量
replace ALL 点菜.单号 WITH ALLTRIM(str(thisform.text1.Value))

SELECT 帐单
APPEND FROM 点菜 FIELDS 单号,菜编号,菜名,单价,数量,金额

SELECT 就餐
APPEND BLANK
replace 就餐.单号 WITH ALLTRIM(str(thisform.text1.Value))
replace 就餐.日期 WITH thisform.text2.Value
replace 就餐.桌号 with
replace 就餐.人数 with val()
replace 就餐.收银员 with

ERASE diancai

SELECT 菜谱
replace ALL 菜谱.点菜标志 WITH .f.

MESSAGEBOX("提交成功!",48+0+0,"信息提示")


6、在text1.init中,增加
LOCAL n单号
SELECT 就餐
n单号 = RECCOUNT()
thisform.text1.Value=n单号+1


[此贴子已经被作者于2016-12-15 14:37编辑过]

2016-12-15 14:35
幻夜流云
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-13
得分:0 
回复 8楼 mywisdom88
谢谢。我下午上课调试的时候我是重新连接了数据库,之前用了两个数据库,分别都有表,后来把他们重新分配了舍弃了一个数据库,然后在提交按钮里的末尾加了一条clos all,然后把其他表单里定位到另一个数据库的表重新弄了一下,暂时就没问题了,我也会备份出来一份试试您给的方法看看,一直测试的是提交,取消这个还没看。
2016-12-15 20:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472434-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077471 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved