| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2042 人关注过本帖
标题:新到一公司,前员工留下一数据库系统,出现故障,不知如何解决,请大神帮忙 ...
只看楼主 加入收藏
zhangxinsh
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2017-3-15
收藏
 问题点数:0 回复次数:10 
新到一公司,前员工留下一数据库系统,出现故障,不知如何解决,请大神帮忙看看。
与前员工联系后得知,是需要使用VFP,但是这个东东比较古老,加上本人是没有经验的新手,特来此取经。
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
Close Data
Set Safe Off
Set Deleted On
Set Exclusive Off

Delete From clrkdzk Where 库名=' '
Select * From clrkdzk Order By 库名  Into Cursor curCLRKDZK

Select curCLRKDZK
Browse  Title "材料入库单总表"

Close Databases

CLSJ="      "
DDSJ="      "
Set Colo To 6/4,0/2,3
@20,48 Clea To 38,110
@21,62 Say"材料(发票)入库单录入" Font"宋体",15
@23,64 Say"请输入年月日(如:010101):" Get CLSJ
* [color=#008000]@25,64 SAY"请输入订单序号(年月顺序号)(如:020101):" GET DDSJ[/color]
read

on error ResetSetting()    
    todayCLRK=CLSJ+"CLRK"
    todayCLHK=CLSJ+"HK"
    au=CLSJ+".xls"
    B1=Val(Subs(CLSJ,1,2))
    sDate=alltrim(CLSJ)

    Local oDateTool As yznVFP.yznDate
    oDateTool =Createobject("yznVFP.yznDate")
    If !DateTool.ValidYearMonthDay(CLSJ)
        Set Colo To 2/0,6/5,3
        @20,46 Clea To 38,119
        ResetSetting()
        Return
    Endif

    IfNotExitsRecordThenAdd("CLRKDZK","库名",todayCLRK,"CLRKD")
    IfNotExitsRecordThenAdd("HKDZK","库名",todayCLHK,"HK")

    Use &todayCLRK
    Go Bott
    If eof()
        Appe Blan
    endif
    go bottom
    pp=recno()
    *Go Top
    WW="Y"
    Do Whil WW="Y"
        LLL=Recn()
        @25,60 Say"─────────────────────-----"
        @26,60 Say"发票单号:             材料代码:               "
        @27,60 Say"─────────────────────-----"
        @28,60 Say"数    量:             入 库 人:               "
        @29,60 Say"─────────────────────-----"
        @30,60 Say"                                               "
        @31,60 Say"─────────────────────-----"
        @32,60 Say"当前记录数:                 "
        @26,70 Get 发票单号
        @26,95 Get 材料代码
        @28,70 Get 数量
        @28,95 Get  入库人
        @32,80 Say LLL
        @33,66 Say"继续录入吗(Y/N)?" Get WW
        Read
        If WW="Y"
            If PP<LLL+1
                D1=发票单号
                D2=材料代码
                D3=数量
                D5=入库人
                Appe Blan
                Repl 发票单号 With D1
                Repl 材料代码 With D2
                Repl 数量 With D3
                Repl 入库人 With D5
            Else
                Skip
            Endi
        Endi
    Endd
    Dele All For 数量=0 .or. Val(Subs(材料代码,1,1))<=0
        
    close databases
    
    use (todayCLRK) in 0 exclusive
    pack 
    
    
    

    **
    close databases
    use &todayCLRK in 0 alias tCLRK 
    Use mzk in 0  
    update tCLRK set 材料名称=mzk.材料名称 ,规格型号=mzk.规格型号, 单位=mzk.单位, 供应商代码=mzk.供应商代码, 供应商=mzk.供应商 ;
    from tCLRK, mzk ;
    where tCLRK.材料代码=mzk.材料代码
    
    insert into tCLRK(材料名称) values ("总   计")
    
    
    **转回库单
    
    use &todayCLHK in 0 alias tCLHK exclusive 
    select tCLHK 
    delete all 
    pack
    insert into tCLHK (材料代码,材料名称,规格型号,到货数量,单位,取货日期) ;
    select 材料代码,材料名称,规格型号,数量,单位,sDate ;
    from tCLRK ;
    where val(substr(材料代码,1,1)) <> 0
    
*!*        update tCLHK set 取货日期 = sDate
    

    *转入入库单总单  以便年统计数据
    
    close databases
    use clrkdzd in 0 exclusive 
    delete for 入库日期=todayCLRK
    pack
    
    append from &todayCLRK for 材料代码<>" "
    replace  入库日期 with todayCLRK  for 入库日期=" "    
    
    close databases
    
    use (todayCLRK)  in 0 exclusive
    pack
    
    close databases
        
    use (todayCLRK) in 0 shared
*!*        use
*!*        use &todayCLRK shared
    browse  fiel 订单号,发票单号,未票单号,加工单号,材料代码,数量,单位,入库人,材料名称,规格型号,供应商,供应商代码 ;
                LOCK -2 TITL sDate + "入库单导入查询"
                
    Set Colo To 2/0,6/5,3
    @20,46 Clea To 38,119
    close databases
    ResetSetting()
    
    messagebox("如果你编辑或删除了入库单导入查询窗口数据,请重新运行本功能确认所有数据更新!",0,"提示")
    

Retu




Procedure  IfNotExitsRecordThenAdd(sTable As String, sField As String, sValue As String,sTemplateTable As String) As String
    Use &sTable In 0
    Locate For &sField = sValue
    If Not Found()
        Append Blank
        Replace &sField With sValue
        Use &sTemplateTable
        Copy Structure To &sValue
    Endif
    Use
endproc

procedure ResetSetting()
    on error 
    Set Exclusive on
endproc
搜索更多相关主题的帖子: 数据库系统 如何 
2017-03-15 11:23
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
比较古老,是用在超市上的?DOS版?
2017-03-15 12:35
zhangxinsh
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2017-3-15
收藏
得分:0 
不是的,是一个线束小厂,主要功能就是进销存。

来了几个月了,一直都是没有出现故障。

现在突然出现这个错误。

我每天备份一次的,这个就是单机版,设置了共享,给大家使用的。

我现在运行把我备份的最早的一天数据,也同样出现这个问题。

[此贴子已经被作者于2017-3-15 13:18编辑过]

2017-03-15 13:07
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
Local oDateTool As yznVFP.yznDate
     oDateTool =Createobject("yznVFP.yznDate")
     If !DateTool.ValidYearMonthDay(CLSJ)
         Set Colo To 2/0,6/5,3
         @20,46 Clea To 38,119
         ResetSetting()
         Return
     Endif
感觉,好像是少了个字符 o
把 If !DateTool.ValidYearMonthDay(CLSJ) 改为  If !oDateTool.ValidYearMonthDay(CLSJ) 看看,你要记得,修改过那里
2017-03-15 13:32
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
收藏
得分:0 
foxbase 或 foxpro 2.5/2.6B

前者可能性大些,后者都有窗口定义了,代码中没有用到窗口定义,很可能是前者。

从提示错误处看,mywisdom88版主提议可以一试。

没有数据库,如果有数据库可能会好调试一些。楼主坚持读别人的程序,精神可嘉!
2017-03-15 13:50
zhangxinsh
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2017-3-15
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

添加了还是一样的提示。
2017-03-15 15:26
zhangxinsh
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2017-3-15
收藏
得分:0 
我可以提供源程序,你们可以给我调试吗,我不是程序员,就是一个普通的网管,只能对数据库做安装、备份的操作,前一个员工走了,面试我的人也不懂,但是我也想借此机会学习一下。说不定还可以涨工资呢
2017-03-15 15:29
zhangxinsh
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2017-3-15
收藏
得分:0 
或者介绍一个学习的场所?教材?之类的,非常感谢!!!
2017-03-15 15:49
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:0 
应该是你前任写了一个自己的类, 从这两句可以看出来:
Local oDateTool As yznVFP.yznDate
    oDateTool =Createobject("yznVFP.yznDate")
原来你最初的程序,少了一个字母,版主看得仔细,给你指出了,我也认为是这个原因。
……
不过,后来你说,改了之后。仍报错,那么,还有以下可能(刚才改的地方不必改回去,至少我自己是这么认为的)
找一找前任编译的类文件还在不在(一般是DLL、OCX之类的文件),如果在,需不需要重新 注册一下?
如果不在了,只能找他的程序备份,愿你好运。
2017-03-15 16:10
zhangxinsh
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2017-3-15
收藏
得分:0 
回复 9楼 厨师王德榜
谢谢,搞定了,前任留了一份DLL备份文件,我注册了以后问题就解决了!
2017-03-15 16:52
快速回复:新到一公司,前员工留下一数据库系统,出现故障,不知如何解决,请大神 ...
数据加载中...
 
   



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

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