以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 如何实现空行不保存? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=13327)
|
-- 作者:hospitals
-- 发布时间:2011/10/9 3:13:00
-- 如何实现空行不保存?
With Tables("客户资料") If .Current.DataRow.RowState = DataRowState.Unchanged Then \'如果当前行未曾修改 e.Form.Controls("新建").Enabled = True e.Form.Controls("修改").Enabled = True e.Form.Controls("删除").Enabled = True e.Form.Controls("保存").Enabled = False e.Form.Controls("撤销修改").Enabled = False e.Form.Controls("TextBox1").Enabled = False e.Form.Controls("TextBox2").Enabled = False e.Form.Controls("TextBox3").Enabled = False e.Form.Controls("TextBox4").Enabled = False e.Form.Controls("TextBox6").Enabled = False e.Form.Controls("TextBox7").Enabled = False e.Form.Controls("TextBox8").Enabled = False e.Form.Controls("TextBox9").Enabled = False e.Form.Controls("TextBox10").Enabled = False e.Form.Controls("TextBox11").Enabled = False e.Form.Controls("TextBox12").Enabled = False e.Form.Controls("TextBox13").Enabled = False e.Form.Controls("TextBox14").Enabled = False e.Form.Controls("TextBox15").Enabled = False e.Form.Controls("TextBox16").Enabled = False e.Form.Controls("DropBox1").Enabled = False Else e.Form.Controls("新建").Enabled = True e.Form.Controls("修改").Enabled = True e.Form.Controls("删除").Enabled = True e.Form.Controls("保存").Enabled = False e.Form.Controls("撤销修改").Enabled = False e.Form.Controls("TextBox1").Enabled = False e.Form.Controls("TextBox2").Enabled = False e.Form.Controls("TextBox3").Enabled = False e.Form.Controls("TextBox4").Enabled = False e.Form.Controls("TextBox6").Enabled = False e.Form.Controls("TextBox7").Enabled = False e.Form.Controls("TextBox8").Enabled = False e.Form.Controls("TextBox9").Enabled = False e.Form.Controls("TextBox10").Enabled = False e.Form.Controls("TextBox11").Enabled = False e.Form.Controls("TextBox12").Enabled = False e.Form.Controls("TextBox13").Enabled = False e.Form.Controls("TextBox14").Enabled = False e.Form.Controls("TextBox15").Enabled = False e.Form.Controls("TextBox16").Enabled = False e.Form.Controls("DropBox1").Enabled = False .Current.Save() End If End With
这个是我的 客户资料的录入窗口中 保存按钮的代码 我想要的效果是 新增记录以后 如果什么也没改 是空白记录那么就不保存 新增等按钮启用 记录文本框停用 不是空白记录就保存,然后新增按钮启用 记录文本框停用 但是现在结果是点了保存 只执行ELSE 空白记录也会保存下来。。。。
|
-- 作者:hospitals
-- 发布时间:2011/10/9 3:38:00
--
If e.Node.Level = 1 Then \'如果单击的是第二层节点 Dim ps() As String = e.Node.FullPath.Split("\\") Dim tr As Row = Tables("客户资料").Current Dim dr As DataRow = DataTables("省份地区表").Find("省份 = \'" & ps(0) & "\' And 地区 = \'" & ps(1) & "\'") If dr IsNot Nothing Then \'如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行. tr("销售区域") = dr("省份") + dr("地区") End If e.Form.DropDownBox.CloseDropdown() \'关闭下拉目录树 End If
自行设计下拉目录树 我想选中下拉目录树当中的城市以后 将省份和地区都填到销售区域中。 例如选中安徽省下的安庆 销售区域填入安徽省安庆 现在结果是 选中了以后 销售区域中什么也没有 不知道是什么原因
|
-- 作者:狐狸爸爸
-- 发布时间:2011/10/9 8:28:00
--
第一个问题,不需要特地去禁用和启用各个按钮,这样太罗嗦,只需在保存按钮的代码前面加入一段代码,用于判断当前行是否是空行,如果是的,则拒绝保存。
第二个问题,试试这样:
If e.Node.Level = 1 Then \'如果单击的是第二层节点 Dim ps() As String = e.Node.FullPath.Split("\\") Dim tr As Row = Tables("客户资料").Current Dim dr As DataRow = DataTables("省份地区表").Find("省份 = \'" & ps(0) & "\' And 地区 = \'" & ps(1) & "\'") If dr IsNot Nothing Then \'如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行. tr("销售区域") = dr("省份") + dr("地区") e.Form.DropDownBox.Value = dr("省份") + dr("地区") End If e.Form.DropDownBox.CloseDropdown() \'关闭下拉目录树 End If
|
-- 作者:hospitals
-- 发布时间:2011/10/9 17:40:00
--
第二个问题解决了 谢谢 第一个问题。。。。。求代码 怎么样也写不好。
|
-- 作者:狐狸爸爸
-- 发布时间:2011/10/10 8:11:00
--
Dim nms() As String = {"列1","列2","列3"} \'不允许为空的列名
dim r As Row = Tables("XX").Current
For each nm AS string in nms
if r.isnull(nm) Then
messagebox.show(nm & "必须输入内容")
return
end if
next
r.Save
|
-- 作者:qianhouge
-- 发布时间:2011/10/10 9:02:00
--
膜拜老大~!!又学到新知识了!
|
-- 作者:hospitals
-- 发布时间:2011/10/10 18:09:00
--
受教了
|