以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  帮我看一下这个个代码错在哪里  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=82346)

--  作者:荟美绘姿
--  发布时间:2016/3/16 11:40:00
--  帮我看一下这个个代码错在哪里

If e.Form.Controls("TextBox6").Text = "" Then
    MessageBox.Show("车牌号码不能为空")
    Return
End If
If e.Form.Controls("ComboBox1").Text = "" Then
    MessageBox.Show("车牌颜色不能为空")
    Return
End If
Tables("wztz").AddNew()
Tables("wztz").current("dwjbqh_dwmc")=e.Form.Controls("TextBox2").text
Tables("wztz").current("dwjbqh_dwdz")=e.Form.Controls("TextBox3").text
Tables("wztz").current("dwjbqh_lxdh")=e.Form.Controls("TextBox4").text
Tables("wztz").current("dwjbqh_yzbm")=e.Form.Controls("TextBox5").text
Tables("wztz").current("cljbqh_cphm")=e.Form.Controls("TextBox6").text
Tables("wztz").current("cljbqh_cpys")=e.Form.Controls("ComboBox1").text
Tables("wztz").current("wzjbqh_wzxw")=e.Form.Controls("ComboBox2").text
Tables("wztz").current("wzjbqh_wzdd")=e.Form.Controls("ComboBox3").text
Tables("wztz").current("wzjbqh_wzsj")=e.Form.Controls("DateTimePicker1").text
Tables("wztz").current("clhj")=e.Form.Controls("TEXTBox8").text
Tables("wztz").current("yjbm")=e.Form.Controls("ComboBox5").text
Tables("wztz").current("ajly")=e.Form.Controls("ComboBox6").text
Tables("wztz").current("cfqh_ajzt")=e.Form.Controls("TextBox1").text
Tables("wztz").current("tjqh")=e.Form.Controls("TextBox9").text
Tables("wztz").current("clfs")=e.Form.Controls("TextBox12").text
\'以下代码为照片指定存储文件夹及照片文件名改名
Dim img = e.form.controls("picturebox1").image
If img IsNot Nothing Then
    Dim ip As String = FileSys.ReadAllText(ProjectPath & "ip.txt")
    Dim path As String = "\\\\" & ip & "/wzzpimage/" & e.Form.Controls("TextBox6").text & format(e.Form.Controls("DateTimePicker1").value, "yyyyMMddHHmmss") & Tables("wztz").current("tzdbh") & ".jpg"
    img.Save(path)
    Tables("wztz").current("wzzp")=path
End If
\'以上代码为照片指定存储文件夹及照片文件名改名
Dim i As Integer
For i  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(i)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
Tables("wztz").Current.Save()
Tables("wztz").Current.Locked = True
Tables("dwqh").AddNew()
Tables("clxx").AddNew()
Tables("dwqh").current("dwmc")=e.Form.Controls("TextBox2").text
Tables("clxx").current("cldw")=e.Form.Controls("TextBox2").text
Tables("dwqh").current("dydz")=e.Form.Controls("TextBox3").text
Tables("dwqh").current("lxdh")=e.Form.Controls("TextBox4").text
Tables("dwqh").current("yzbm")=e.Form.Controls("TextBox5").text
Tables("clxx").current("clhm")=e.Form.Controls("TextBox6").text
Tables("clxx").current("cpys")=e.Form.Controls("ComboBox1").text
Tables("clxx").current("xlqh_qd")=e.Form.Controls("TextBox7").text
Tables("clxx").current("xlqh_zd")=e.Form.Controls("TextBox10").text
Tables("clxx").current("xltjd")=e.Form.Controls("TextBox11").text
For i  As Integer = DataTables("clxx").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("clxx").DataRows(i)
    Dim dr2 As DataRow = DataTables("clxx").Find("clhm=\'" & dr("clhm") & "\' and cpys=\'" & dr("cpys") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
For i  As Integer = DataTables("dwqh").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("dwqh").DataRows(i)
    Dim dr2 As DataRow = DataTables("dwqh").Find("dwmc=\'" & dr("dwmc") & "\' and dydz=\'" & dr("dydz") & "\' And _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
Tables("clxx").Current.Save()
Tables("clxx").Current.Locked = True
Tables("dwqh").Current.Save()
Tables("dwqh").Current.Locked = True
For Each s As String In "TextBox1|TextBox2|TextBox3|TextBox4|TextBox5|TextBox6|TextBox7|TextBox8|TextBox10|TextBox11|ComboBox1|ComboBox2|ComboBox3|ComboBox5|ComboBox6".Split("|") \'注意TextBox的名称
    e.Form.Controls(s).Text = ""
Next
DataTables.Save()

 

我的要求是在

\'以上代码为照片指定存储文件夹及照片文件名改名
Dim i As Integer
For i  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(i)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next

 

当在“wztz”表内新增时"cljbqh_cphm"、“cljbqh_cpys"与"bmd"中有"cphm"、“cpys”进行比对,如果“bmd”表中有就不新增,反之没有就新增

请大侠帮忙解决一下下


--  作者:大红袍
--  发布时间:2016/3/16 12:51:00
--  
Dim i As Integer
For i  = DataTables("wztz").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("wztz").DataRows(i)
    Dim dr2 As DataRow = DataTables("bmd").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cpys=\'" & dr("cljbqh_cpys") & "\'")
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next

--  作者:荟美绘姿
--  发布时间:2016/3/17 12:36:00
--  

If e.Form.Controls("TextBox6").Text = "" Then
    MessageBox.Show("车牌号码不能为空")
    Return
End If
If e.Form.Controls("ComboBox1").Text = "" Then
    MessageBox.Show("车牌颜色不能为空")
    Return
End If
Tables("wztz").AddNew()
Tables("wztz").current("dwjbqh_dwmc")=e.Form.Controls("TextBox2").text
Tables("wztz").current("dwjbqh_dwdz")=e.Form.Controls("TextBox3").text
Tables("wztz").current("dwjbqh_lxdh")=e.Form.Controls("TextBox4").text
Tables("wztz").current("dwjbqh_yzbm")=e.Form.Controls("TextBox5").text
Tables("wztz").current("cljbqh_cphm")=e.Form.Controls("TextBox6").text
Tables("wztz").current("cljbqh_cpys")=e.Form.Controls("ComboBox1").text
Tables("wztz").current("wzjbqh_wzxw")=e.Form.Controls("ComboBox2").text
Tables("wztz").current("wzjbqh_wzdd")=e.Form.Controls("ComboBox3").text
Tables("wztz").current("wzjbqh_wzsj")=e.Form.Controls("DateTimePicker1").text
Tables("wztz").current("clhj")=e.Form.Controls("TEXTBox8").text
Tables("wztz").current("yjbm")=e.Form.Controls("ComboBox5").text
Tables("wztz").current("ajly")=e.Form.Controls("ComboBox6").text
Tables("wztz").current("cfqh_ajzt")=e.Form.Controls("TextBox1").text
Tables("wztz").current("tjqh")=e.Form.Controls("TextBox9").text
Tables("wztz").current("clfs")=e.Form.Controls("TextBox12").text
\'以下代码为照片指定存储文件夹及照片文件名改名
Dim img = e.form.controls("picturebox1").image
If img IsNot Nothing Then
    Dim ip As String = FileSys.ReadAllText(ProjectPath & "ip.txt")
    Dim path As String = "\\\\" & ip & "/wzzpimage/" & e.Form.Controls("TextBox6").text & format(e.Form.Controls("DateTimePicker1").value, "yyyyMMddHHmmss") & Tables("wztz").current("tzdbh") & ".jpg"
    img.Save(path)
    Tables("wztz").current("wzzp")=path
End If
\'以上代码为照片指定存储文件夹及照片文件名改名
Dim r As Integer
For r  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(r)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\'")
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
DataTables("wztz").ReplaceFor("_Locked",True,"")
Tables("wztz").Current.Save()
Tables("wztz").Current.Locked = True
Tables("dwqh").AddNew()
Tables("clxx").AddNew()
Tables("dwqh").current("dwmc")=e.Form.Controls("TextBox2").text
Tables("clxx").current("cldw")=e.Form.Controls("TextBox2").text
Tables("dwqh").current("dydz")=e.Form.Controls("TextBox3").text
Tables("dwqh").current("lxdh")=e.Form.Controls("TextBox4").text
Tables("dwqh").current("yzbm")=e.Form.Controls("TextBox5").text
Tables("clxx").current("clhm")=e.Form.Controls("TextBox6").text
Tables("clxx").current("cpys")=e.Form.Controls("ComboBox1").text
Tables("clxx").current("xlqh_qd")=e.Form.Controls("TextBox7").text
Tables("clxx").current("xlqh_zd")=e.Form.Controls("TextBox10").text
Tables("clxx").current("xltjd")=e.Form.Controls("TextBox11").text
For i  As Integer = DataTables("clxx").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("clxx").DataRows(i)
    Dim dr2 As DataRow = DataTables("clxx").Find("clhm=\'" & dr("clhm") & "\' and cpys=\'" & dr("cpys") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
For i  As Integer = DataTables("dwqh").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("dwqh").DataRows(i)
    Dim dr2 As DataRow = DataTables("dwqh").Find("dwmc=\'" & dr("dwmc") & "\' and dydz=\'" & dr("dydz") & "\' And _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
Tables("clxx").Current.Save()
Tables("clxx").Current.Locked = True
Tables("dwqh").Current.Save()
Tables("dwqh").Current.Locked = True
For Each s As String In "TextBox1|TextBox2|TextBox3|TextBox4|TextBox5|TextBox6|TextBox7|TextBox8|TextBox10|TextBox11|ComboBox1|ComboBox2|ComboBox3|ComboBox5|ComboBox6".Split("|") \'注意TextBox的名称
    e.Form.Controls(s).Text = ""
Next
DataTables.Save()

 

 

上面中间的这段代码为何无法实现

Dim r As Integer
For r  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(r)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\'")
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
DataTables("wztz").ReplaceFor("_Locked",True,"")

如果r改成i就会报错

[此贴子已经被作者于2016/3/17 12:37:21编辑过]

--  作者:大红袍
--  发布时间:2016/3/17 14:34:00
--  
For i As Integer  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(i)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\'")
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
DataTables("wztz").ReplaceFor("_Locked",True,"")

--  作者:荟美绘姿
--  发布时间:2016/3/17 22:08:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.foxdb

还是不能执行这段代码,请大侠帮忙解决一下下

要求:在WZTZ表内新增时先与BMD表内的CPHM与CPYS进行比对,如果BMD中有的话就不在WZTZ表内新增,或者就删除当前新增的行


--  作者:大红袍
--  发布时间:2016/3/17 22:52:00
--  
For i As Integer  = DataTables("wztz").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("wztz").DataRows(i)
    Dim dr2 As DataRow = DataTables("bmd").Find("cphm=\'" & dr("cljbqh_cphm") & "\' and cpys=\'" & dr("cljbqh_cpys") & "\'")
    If dr2 IsNot Nothing Then
        dr.Delete
    End If
Next

--  作者:荟美绘姿
--  发布时间:2016/3/18 0:02:00
--  
你这个代码只会将BMD中的数据删了
--  作者:狐狸爸爸
--  发布时间:2016/3/18 8:34:00
--  

这种业务逻辑的问题,应该自己分析。

 

先看你的逻辑:

 

当在“wztz”表内新增时"cljbqh_cphm"、“cljbqh_cpys"与"bmd"中有"cphm"、“cpys”进行比对,如果“bmd”表中有就不新增,反之没有就新增。

 

再看你的代码:

 

Dim i As Integer
For i  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(i)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next

 

逻辑很简单,但是这代码和逻辑能对上吗?哪里有逻辑中提到的新增呢?我看到的是“有就删除”,而不是“没有就增加”。

 

按照你的问题,不应该是这样的吗:

 

Dim i As Integer
For i  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(i)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 is Nothing Then \'如果没有
        dr2 = DataTables("wztz").AddNew()  ‘就增加

        dr2("cljbqh_cphm") = dr("cphm")

        dr2("cljbqh_cpys") = dr("cpys")
    End If
Next

 

还有,两个不同的表,比较Identify是没有意义的,Identify是自动生成的,不需要比较,所以按照你的问题逻辑,应该:

 

Dim i As Integer
For i  = DataTables("bmd").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("bmd").DataRows(i)
    Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\'")
    If dr2 is Nothing Then \'如果没有
        dr2 = DataTables("wztz").AddNew()  ‘就增加

        dr2("cljbqh_cphm") = dr("cphm")

        dr2("cljbqh_cpys") = dr("cpys")
    End If
Next

 

 

个人觉得,你原来代码中,其他比较不同表的Identify的代码,都应该去掉。

[此贴子已经被作者于2016/3/18 8:38:02编辑过]