| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 471 人关注过本帖
标题:请帮忙看看我写的这段代码
只看楼主 加入收藏
mkrina
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-1-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
请帮忙看看我写的这段代码
这是一个表单集,第一个表单FORM1的CAP和NAME都是报修单。数据环境中有“报修单”的表。第二个表单是报修单查询CAP是报修单查询,name是BXDXX。
第一个表单有3个按钮。分别为查询,增加和退出。
查询CLICK事件:thisformset.BXDXX.Show
增加的CLICK事件:
APPEND BLANK

保存"
thisform.Refresh()

退出的CLICK事件:
DO CASE
CASE 退出"
    THISFORMSET.报修单.RELEASE
    THISFORMSET.BXDXX.RELEASE
    THISFORMSET.RELEASE
CASE 保存"
    REPLACE 报修单.service_id WITH THISFORM.txtService_id.VALUE
    REPLACE 报修单.defect WITH THISFORM.txtDefect.VALUE
    REPLACE 报修单.service_type WITH THISFORM.txtService_type.VALUE
    REPLACE 报修单.find_defect WITH THISFORM.txtFind_defect.VALUE
    REPLACE 报修单.defect_description WITH THISFORM.txtDefect_description.VALUE
    REPLACE 报修单.duty_view WITH THISFORM.txtDuty_view.VALUE   
    REPLACE 报修单.accept_time WITH THISFORM.txtAccept_time.VALUE
    REPLACE 报修单.accept_dept WITH THISFORM.txtAccept_dept.VALUE   
    REPLACE 报修单.start_repair WITH THISFORM.txtStart_repair.VALUE
    REPLACE 报修单.complete_time WITH THISFORM.txtComplete_time.VALUE
    REPLACE 报修单.repair_engineer WITH THISFORM.txtRepair_engineer.VALUE
    REPLACE 报修单.how_time WITH THISFORM.txtHow_time.VALUE
    REPLACE 报修单.duty_repair_process WITH THISFORM.txtDuty_repair_process.VALUE
    REPLACE 报修单.parts_name WITH THISFORM.txtParts_name.VALUE   
    REPLACE 报修单.parts_type WITH THISFORM.txtParts_type.VALUE
    REPLACE 报修单.change_parts WITH THISFORM.txtChange_parts.VALUE
    REPLACE 报修单.acceptance WITH THISFORM.txtAcceptance.VALUE
    REPLACE 报修单.acceptance_per WITH THISFORM.txtAcceptance_per.VALUE   
    退出"
ENDCASE



第二表单有2个按钮,功能为输入维修单编号(service_id)或缺陷故障描述(defect_description),可以报修单表中相对应的信息。
第一个查找按钮代码:
bh = ALLTRIM(THISFORM.Text1.VALUE)
xm = ALLTRIM(THISFORM.Text2.VALUE)
IF EMPTY(bh) AND EMPTY(xm)
    MESSAGEBOX("维修单编号或缺陷故障描述必须输入一项!")
    thisform.Text1.SetFocus
ENDIF
SELECT 报修单
IF NOT EMPTY(bh)
    strsql = "service_id="+bh
ENDIF
IF NOT EMPTY(xm)
    IF NOT EMPTY(strsql)
        strsql = strsql + " AND Defect_description='" + xm + "'"
    ELSE
        strslq = "Defect_description='" + xm + "'"
    ENDIF
ENDIF
strsql = "LOCATE FOR " + strsql
&strsql.
IF NOT FOUND()
    MESSAGEBOX("没有找到符合的记录!")
ELSE
    THISFORM.HIDE
    THISFORMSET.报修单.Refresh()
ENDIF

第二个退出代码:
THISFORM.Hide


现在的问题是在第一个表单中输入信息,输入的貌似会覆盖,然后第二个表单查询功能中的缺陷故障描述查询出错。
麻烦大家帮忙看看吧~~~谢谢啊~~~~~~
搜索更多相关主题的帖子: 表单 
2012-01-15 12:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
輸入信息覆蓋是什麼意思?

授人以渔,不授人以鱼。
2012-01-15 14:27
mkrina
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-1-15
收藏
得分:0 
回复 2楼 TonyDeng
就是我输入的记录会被我第二次输入的记录覆盖了。。。

本来目的是输入新记录。。而不是覆盖以前输入的上一个记录
2012-01-15 22:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
一般來說,覆蓋上一個記錄,是因為你沒有添加新記錄。在REPLACE之前要APPEND BLANK,嚴格地說,是應該把記錄指針指到希望REPLACE的記錄上。

[ 本帖最后由 TonyDeng 于 2012-1-16 00:12 编辑 ]

授人以渔,不授人以鱼。
2012-01-16 00:05
mkrina
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-1-15
收藏
得分:0 
我的按钮事件中有APPEND BLANK 啊

增加的CLICK事件:
APPEND BLANK

保存"
thisform.Refresh()
2012-01-16 00:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你點擊的順序呢?是不是點過【增加】之後又點了【查詢】?

授人以渔,不授人以鱼。
2012-01-16 00:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
至於第二個問題,你最好在執行檢索之前MessageBox(strsql)一下,我看到你有個strslq,與strsql不同。

授人以渔,不授人以鱼。
2012-01-16 00:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
左看右看,我覺得你第一個問題的表單這個設計有點古怪。既然點擊【增加】把【查詢】禁用了,同時把【增加】改為【保存】,為什麼不在點擊【保存】時REPLACE,而在點擊【退出】時執行“保存”的動作?你說有三個按鈕,但我看你的代碼似乎只處理了兩個按鈕,Command2的Caption變來變去。

授人以渔,不授人以鱼。
2012-01-16 00:38
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:7 
以下是引用mkrina在2012-1-15 22:21:05的发言:

就是我输入的记录会被我第二次输入的记录覆盖了。。。

本来目的是输入新记录。。而不是覆盖以前输入的上一个记录
看来对VFP的指针概念还没理解

只求每天有一丁点儿的进步就可以了
2012-01-16 08:25
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:7 
第一个表单有3个按钮。分别为查询,增加和退出

请楼主说明查询按钮是
增加按钮是
看上去保存按钮、退出按钮是,是切换的。
2012-01-16 09:11
快速回复:请帮忙看看我写的这段代码
数据加载中...
 
   



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

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