VFP9.0中如何实现查询修改功能 150
我希望能实现以下的目的:1.表单运行,grid1显示全部的信息2.输入部分字段在text20中,点击查询,能显示在grid1上3.接着双击grid1中某条数据,能同时显示...
我希望能实现以下的目的:1.表单运行,grid1显示全部的信息2.输入部分字段在text20中,点击查询,能显示在grid1上3.接着双击grid1中某条数据,能同时显示在文本框和grid2中,当然这里我没有删除产品名称这些,也就是说grid2上面有的信息,文本框中不再存在,文本框只显示单位名称的一些信息,grid2显示的是产品方面的信息4.接着如果要修改单位名称这些基本信息就在文本框中修改,然后点击修改按钮,这样信息就被保存在子表中,如果父表和子表有相同的信息被修改,那就通过修改按钮同时保存在两个表中。如果是更改某公司某产品信息或者是添加某公司的产品信息,那就直接在grid2中进行添加和修改,然后点击确认按钮就保存在子表中,这里父表是基本信息,子表是销售信息希望各位能帮我解决这个问题,这样的要求我知道很高,我也真心觉得很难,希望各位前辈能帮帮忙,谢谢
以下是图片
如果有成功做出来的,我愿意再提高悬赏,这里只是规定了100,我希望各位前辈能帮帮我这个刚入门的人,请不吝赐教,谢谢。 展开
以下是图片
如果有成功做出来的,我愿意再提高悬赏,这里只是规定了100,我希望各位前辈能帮帮我这个刚入门的人,请不吝赐教,谢谢。 展开
展开全部
实现步骤:
1、父表和子表均含:“客户编号”字段。
2、建立本地视图“销售记录”含父表和子表的所有字段:“客户编号”字段连接。
3、将“销售记录”加入数据工作区
4、text1--text19的VALUE值为“销售记录.XXXX”对应的值,只读属性,不能改写。
5、grid1数据源为“销售记录”的客户编号、客户名称
6、grid2数据源为“销售记录”的客户编号、客户名称、发货时间、产品名称、……。
7、text20为查询条件的值:可以是客户编号也可以是客户名称。
8、查询按钮click:
a\ 对“销售记录”进行筛选
b\ grid1、grid2刷新(具体命令查一下)
C\ text1--text19进行赋值(form.text?=销售记录.XXXX)
这样查到有结果的就会显示在二个表格中,
如没有结果就会显示空白。
9、修改按钮click:
text1--text19属性改变可以改写(onlyread设置为F)
对他们进行修改(注意“客户编号”不能修改)
修改后用确认键保存
10、确认按钮click:
sele 销售记录
repl 客户名称 with form.text2.value
...
use 销售记录 &&退出时视图会自动更新。
1、父表和子表均含:“客户编号”字段。
2、建立本地视图“销售记录”含父表和子表的所有字段:“客户编号”字段连接。
3、将“销售记录”加入数据工作区
4、text1--text19的VALUE值为“销售记录.XXXX”对应的值,只读属性,不能改写。
5、grid1数据源为“销售记录”的客户编号、客户名称
6、grid2数据源为“销售记录”的客户编号、客户名称、发货时间、产品名称、……。
7、text20为查询条件的值:可以是客户编号也可以是客户名称。
8、查询按钮click:
a\ 对“销售记录”进行筛选
b\ grid1、grid2刷新(具体命令查一下)
C\ text1--text19进行赋值(form.text?=销售记录.XXXX)
这样查到有结果的就会显示在二个表格中,
如没有结果就会显示空白。
9、修改按钮click:
text1--text19属性改变可以改写(onlyread设置为F)
对他们进行修改(注意“客户编号”不能修改)
修改后用确认键保存
10、确认按钮click:
sele 销售记录
repl 客户名称 with form.text2.value
...
use 销售记录 &&退出时视图会自动更新。
追问
那再请问下,你这样只是在修改文本框中内容,对产品的呢?一个公司多个产品,这种怎么做呢?我就是因为产品很多才需要重新弄,让grid2能显示产品的信息,grid2中显示的是一个公司所有的产品,按照订货时间来依次排序的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,你的问题是够多的,与其在这写不如发过来给你做一个得了。
大概给你个思路,看看你能明白不。
查询:
select * from 表 where 公司名称=thisform.text20.value into cursor ls
thisform.grid1.recordsource="ls"
thisform.grid1.refresh()
grid1.column1.text1.dbclick():
sele * from 表 where 客户编码=this.value into cursor ls1
thisform.grid2.recordsource="ls1"
thisform.grid2.refresh()
text字段在你用的时候从ls 或ls1里取值
这么做有一点麻烦的是你的保存,你得循环ls 和ls1写入原库,因为你不知道哪个数据修改了。
还有就是你的思路还有点问题,既然有了文本框就不要在表格里修改,不好控制,详细列表grid2你可以考虑再做一个表单(传值过去就可以了)不要多对多的形式,不好控制。
希望对你有帮助。
大概给你个思路,看看你能明白不。
查询:
select * from 表 where 公司名称=thisform.text20.value into cursor ls
thisform.grid1.recordsource="ls"
thisform.grid1.refresh()
grid1.column1.text1.dbclick():
sele * from 表 where 客户编码=this.value into cursor ls1
thisform.grid2.recordsource="ls1"
thisform.grid2.refresh()
text字段在你用的时候从ls 或ls1里取值
这么做有一点麻烦的是你的保存,你得循环ls 和ls1写入原库,因为你不知道哪个数据修改了。
还有就是你的思路还有点问题,既然有了文本框就不要在表格里修改,不好控制,详细列表grid2你可以考虑再做一个表单(传值过去就可以了)不要多对多的形式,不好控制。
希望对你有帮助。
追问
很简单的一个问题就是如果你去一家公司买东西,你会只买一种吗,就算一种,你会只买一次吗?是这样的,我是都快做完了才发现最后漏了这么大一个信息,我又不想推翻我之前所做的一切,而这种表格的修改添加,说实话我真心不会,所以才提问的。
刚才你说再做一个表单?这种是怎么做出来的,我其实就没做过项目,这还是第一次,而且我自己也不是很熟悉,所以在学习中,你能说下思路不,包括再做一个表单,该怎么传值怎样实现呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |