以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于通过窗体进行数据表处理的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52973)

--  作者:matt
--  发布时间:2014/6/26 15:35:00
--  [求助]关于通过窗体进行数据表处理的问题
看了几个例子都是通过绑定数据列进行增删改操作的,有没有办法不进行绑定完全通过代码实现?
access我会,这个才学,代码有所不同。
求高手指教

--  作者:Bin
--  发布时间:2014/6/26 15:40:00
--  
不绑定也可以,相对麻烦一点,用绑定有什么不好的吗?


不绑定可以直接编码操作当前行即可

这些帮助都有介绍到,新手建议先按部就班看一下帮助.

--  作者:matt
--  发布时间:2014/6/26 15:44:00
--  
一开始我用的绑定的会出现以下几个问题:
1.一共三个文本框,但是都是必填的,不能为空,我填了一个然后点了保存,提示了某个文本框不能为空,但发现数据表还是添加了一行,填入了我有填的那个文本框的数据
2.怎么解决连续添加空白行,就是不能保存空白行

--  作者:有点甜
--  发布时间:2014/6/26 16:06:00
--  
 回复3楼,是你保存按钮的问题,贴出你保存按钮的代码。
[此贴子已经被作者于2014-6-26 16:05:59编辑过]

--  作者:matt
--  发布时间:2014/7/2 16:58:00
--  
With Tables("产品基础信息表")

Dim CPBH As  winform.textbox=e.Form.controls("CPBH")
Dim result As dialogresult
   
        
        Dim nms() As String = {"产品编号","产品名称","模具号"}\'不允许为空的列名
        Dim r As Row = Tables("产品基础信息表").Current
        For Each nm As String In nms
            If r.isnull(nm) Then
                messagebox.show(nm & "不能为空")
                Return   
            End If
        Next
End If

Dim p As Integer
p = .Findrow("[产品名称] = \'" & cpbh.value & " \'")
If p>=0 Then
result=messagebox.show("产品编号重复,是否修改?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
If result=DialogResult.Yes Then 
.current("产品编号")=Nothing
Else 
messagebox.show("该记录将被删除!")
.current.delete
\'Return
End If

\'end if



       \' r.Save()
        
        \'MessageBox.Show("产品信息保存成功!")
        \'Tables("产品基础信息表").AddNew()

    End If
End With


因为我在输入的时候,数据已经保存到表里了,所以肯定会提示重复的,是与当前要保存的列重复的,这个问题怎么破?我想提示产品编号不能重复,其中CPBH就是产品编号,另一个问题解决了,求专家解答

--  作者:有点甜
--  发布时间:2014/7/2 17:02:00
--  

 这句吧?

 

p = .Findrow("[产品名称] = \'" & cpbh.value & " \' and _Identify <> " & Tables("产品基础信息表").Current("_Identify"))

[此贴子已经被作者于2014-7-2 17:02:34编辑过]