vf 关联连两个表

vf 关联连两个表,第1张

91、在VFP的数据库设计器中能建立两个表之间的( )联系 。
(A)临时性联系 (B)永久性联系
(C)永久性联系或临时性联系 (D)上述选择都不正确
92、在VF的数据工作期窗口,使用SET RELATION 命令可以建立两个表之间的关联,这种关联是()
(A)永久性关联 (B)永久性关联或临时性关联
(C)临时性关联 (D)永久性关联和临时性关联
93、在1号工作区上已经打开别名“XS”的表文件,当前工作区为2号区,命令不能使1号工作区成为主工作区的是()
(A)SELECT 1 (B)SELECT 0 (C)SELECT A (D)SELECT XS
94、进行记录查询时,若要采用命令FIND和SEEK 命令,则正确的是()
(A)还没有建立索引的表已经打开 (B)该表及索引文件已经打开
(C)该表的设计器已经打开(D)该表的索引文件可以不打开
95、在VISUAL FOXPRO数据库中的表与表之间的永久关系建立后()
(A)在数据库关闭后自动取消 (B)如不删除将长期保存
(C)无法删除 (D)只供本次运行使用
96、统计职工党员人数的命令应该是()
(A)SUM FOR 党员否 to rs (B)COUNT FOR 党员否=T to rs
(C)SUM党员否 (D)COUNT FOR党员否
97、已打开学生表,为了统计出所有学生的平均成绩,应使用下列命令()
(A)SUM ALL 总分 TO PJ (B)AVERAGE ALL 总分 TO PJ
(C)TOTAL ALL ON 总分 TO PJ (D)COUNT ALL FOR 总分=0 TO P
98、在Visual Foxpro中,下列叙述正确的是
(A)用SET RELATION命令建立表关联之前,两个表都必须索引
(B)用JOIN命令连接两个表之前,这两个表必须在不同的工作区打开
(C)用APPEND FROM命令向当前表追加记录之前,两个表应该在不同的工作区打开
(D)用UPDATE命令更新表之前,这两个表都必须索引
99、将数据库表从数据库移出后,该表被________
(A)移出数据库 (B)逻辑删除 (C)放入回收站 (D)物理删除
100、以下关于查询的描述中,正确的是( )
(A)不能根据自由表建立查询 (B)只能根据自由表建立查询
(C)只能根据数据库表建立查询 (D)可能根据数据库表和自由表建立查询

在VFP中,同时只能有一个表单是活动的如果需要将一个表单的内容显示在另一个表单里,那么这两个表单应是一个表单集的(formset)的两个表单假设第一个表单为 formset1form1,第二个表单为formset1form2而第一个表单里的编辑框为 formset1form1text1,第二个表单的编辑框(或其他控件)为formset1form2text1,那么在formset1form1text1 的LostFocus过程中写如下代码:
Thisformparentform2text1value = thisvalue
Thisformparentform2text1refresh

步骤:
1 设置表格RECORDSOURCETYPE=4
2在运行阶段,比如要显示COURSE表,则写语句:
thisformgrid1recordsource=null
thisformgrid1recordsource="select from course into cursor tempt"
thisformgrid1autofit()

右键点击EXCEL工作表标签名 在d出菜单中选择“查看代码”,就可以打开VB编辑器为EXCEL写入代码。
不过最好按照一楼说的先加入命令按钮控件,然后直接双击,为命令按钮写入代码。不过这样做的话别忘记返回EXCEL后点击“退出设计模式”,以便于可以点击命令按钮来执行代码。
因为看不到原表 所以不知道字段所占的列名,实在想要代码的话把表发过来我给你做吧397176899@qqcom
还有就是你的2个表没有一个主索引,很难关联到一起,如果按名字的话是有同名的可能的,所以最好在为每个人都编号,然后在表2中为每个人添加上编号,否则一旦有重名的人,2个表的关联就会出错

select 字段A from 表A where 字段A not in (select 字段A from 表B)
要确保 表A 和表B 的字段A相同
同时,最好先将表A和表B都加到一个数据库中,以免找不到相应的表的麻烦

要在不同的工作区同时打开多个表
SELECT 2
use 123
SELECT 1
use 1234
go top
do while noteof()
a=trim(grbh)
b=trim(jfjs)
SELECT 2
go top
do while noteof()
if grbh==a AND jfjs==b
dele
endif
skip
enddo
SELECT 1
skip
enddo
或者
SELECT 2
USE 123
SELECT 1
use 1234
go top
do while noteof()
a=trim(grbh)
b=trim(jfjs)
SELECT 2
DELETE FOR grbh==a AND jfjs==b
SELECT 1
skip
enddo
补充:什么错误啊?
a,b可能会有歧义,换个变量名,比如mm,qq
你的两个表结构中的grbh、jfjs字段类型不一样,改一下吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10435566.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存