以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  遇到问题不能继续  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22005)

--  作者:191422411
--  发布时间:2012/7/30 20:47:00
--  遇到问题不能继续

 

[此贴子已经被作者于2014-10-30 21:49:53编辑过]

--  作者:191422411
--  发布时间:2012/7/30 20:50:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120730204852.png
图片点击可在新窗口打开查看

--  作者:191422411
--  发布时间:2012/7/30 20:51:00
--  
就想上面一样
--  作者:191422411
--  发布时间:2012/7/30 20:55:00
--  

这个是我自己增加案件的代码,缺点是避免不了重复

 

 

If CurrentTable.Name="酒精"
Tables("酒精").AddNew()
Tables("酒精").Current("录入日期") = Date.Today()
Tables("酒精").current("录入者") = _UserName
Dim r As Row = Tables("酒精").Current  \'r为当前行
If r.Isnull("录入日期") Then
       r("案件编号")=Nothing
    Else
        Dim d As Date=r("录入日期")
        Dim y As Integer = d.Year
        Dim m As Integer = d.Month
        Dim Days As Integer = Date.DaysInMonth(y,m)
        Dim fd As Date = New Date(y,m,1) \'获得该月的第一天
        Dim ld As Date = New Date(y,m,Days) \'获得该月的最后一天
        Dim bh As String = Format(d,"yyyyMM") \'生成编号的前6位,4位年,2位月.
        If r("案件编号").startswith(bh)=False
Dim cmd As New SQLCommand
Dim max As String
cmd.C
cmd.CommandText = "Select max(案件编号) From {酒精}"
max=cmd.ExecuteScalar
            Dim idx As Integer
                        If max > "" Then
                  idx=Cint(max.Substring(6,3)+1) \'获取最大编号的后三位,并加1\'
                  Else idx=1 \'否则编号等于1
              End If             
             r("案件编号")=bh & format(idx,"000")
     End If
   End If
End If
Tables("酒精").Current.Save()

 

 

 

 

增加项目的代码

 

If CurrentTable.name="车辆鉴定" 
  With  Tables("车辆鉴定")
        If .Rows.count>0
        Dim r1 As Row = .Rows(.Rows.count - 1) \'获取倒数第二行
        Dim r2 As Row = .AddNew
        r2("案件编号") = r1("案件编号")
        r2("委托日期") = r1("委托日期")
        r2("委托人1") = r1("委托人1")
        r2("委托单位") = r1("委托单位")
        r2("鉴定地点") = r1("鉴定地点")
        r2("参加鉴定") = r1("参加鉴定")
        r2("车辆牌号") = r1("车辆牌号")
        r2("车辆型号") = r1("车辆型号")
        r2("出发日期") = r1("出发日期")
        r2("出行方式") = r1("出行方式")
        r2("出行车辆") = r1("出行车辆")
        r2("驾车者") = r1("驾车者")
        r2("录入者") =_UserName
        r2("录入日期") =Date.Today      
        r2("重复补助") =False  \'控制补助和驾车补助的列
     Else If .Rows.count=0
     MessageBox.Show("请先增加案件.")
      End If
    End With
End If


--  作者:sloyy
--  发布时间:2012/7/31 2:32:00
--  

你是想有时候自动生成+1的编号,有时候,复制上一个编号吧?

简单呀 根据你的需求,做2个按钮,一个自动+1 ,一个克隆上一编号

 


--  作者:191422411
--  发布时间:2012/8/1 7:53:00
--  
我就是这么做的,但是自动加一的时候在局域网上两用户同时测试都有重复,怎么办?
--  作者:191422411
--  发布时间:2012/8/1 7:57:00
--  
我的问题怎么每人给解决,大家都在应付
--  作者:blackzhu
--  发布时间:2012/8/1 8:14:00
--  
    你既然不能重覆 ,为什么还要复制呢,在帮助里面有几个关于不重复编号的例子,一个是用于网络的复杂编号  还有几个在内部表生成的编号例子,所以这个编号例子出来后,已经很少有人再问关于编号的问题.所以自己先看看吧.