注册 登录
编程论坛 VFP论坛

请指出错误处

tjdeming 发布于 2023-10-26 19:42, 403 次点击
程序代码:
Set Safety Off
Set Talk Off

close tabl
    Sele  2
    Use FQnxj
    Sum(ts) To nts
    Inde On num To s

    Sele 1
    Use onlykqb
     If Fsize('FQ')=0
       Alter Tabl onlykqb Add FQ N(3)  
     Endif   
   
    Inde On num To ss
    Set RelaTion To NUM InTo B
    Blank All Fields fq
    Repl All FQ With B.TS  For num=B.num
    Sum(fq) To nfq
     If   nts<> nfq
         MessageBox("数据导入有误!导入前【"+allt(str(nts))+"】 导入后"+allt(str(nfq)))
         Retu
     Else
         MessageBox("导入前后数据一致:前【"+allt(str(nts))+"】 后"+allt(str(nfq)))
     Endif   
    Set RelaTion To    &&&&解除连接

 
     Brow Fields NUM,XM,BM,FQ For FQ<>0  
     Copy To A123
   
    MessageBox("A123数据已导入!","提示")
在运行程序时出现了这个对话框,不知道错在哪儿了?
只有本站会员才能查看附件,请 登录
不知道错在哪里,点击对话框确认后也没有错误提示。

[此贴子已经被作者于2023-10-26 19:46编辑过]

8 回复
#2
laowan0012023-10-26 20:03
    Set RelaTion To NUM InTo B

是上面这句报错了吗?
报错后点击确定后,光标会停在程序出错的那一行上
#3
tjdeming2023-10-26 20:07
回复 2楼 laowan001
没有光标提示哪一行,点击确认后,直接运行最后一行代码。
#4
fanghk2023-10-27 11:15
回复 楼主 tjdeming
这是工作区的错误
#5
tjdeming2023-10-27 11:25
回复 4楼 fanghk
请帮我纠正错误,哪行语句有问题,可以吗?谢谢你
#6
mywisdom882023-10-27 12:35
能不使用工作区,尽量不使用,有时候会有意想不到的问题
如下
*!* 工作区,打开表
select 1
use xx1
***
select 2
use xx2

*!* 工作区使用表
select 1   
brow
select 2   
brow

*!* 别名,打开表
use xx1 in 0 && 在当前可以使用的最小工作区中打开表
use xx2 in 0

*!* 别名,使用表
select xx1
brow
select xx2
brow
好处是不担心在某个工作区的表给别人表占用了,你只需要记得,你打开的表名称就可以,通常 表名称=别名,但也可以指定别名


#7
tjdeming2023-10-27 13:22
回复 6楼 mywisdom88
谢谢你!学习了基本知识点,以后尽量使用别名打开表,这次想要一个表的数据导入另一个表中。在运行过程中出现了提示,不知道咋办了。
#8
mywisdom882023-10-27 13:26
不知道,怎么办,自己换成别名,测试一下
如果故障消除,就是工作区问题,否则,就是其他问题
还有,在VFP中,所有的变量,表名称,都不要只用一个字符
Set RelaTion To NUM InTo B
在VFP中
select 1
select a
效果好像是相同的,
你自己测试一下

select 1
use xx1

select 2
use xx2
*分别用 select 1 ,select a
select 1
brow
select 2
brow

select a
brow




[此贴子已经被作者于2023-10-27 13:31编辑过]

#9
mywisdom882023-10-27 13:32
也就是,工作区1,工作区a是相同的
1