Foxtable(狐表)用户栏目专家坐堂 → 如何让窗口SQL表可编辑?


  共有3154人关注过本帖树形打印复制链接

主题:如何让窗口SQL表可编辑?

帅哥哟,离线,有人找我吗?
石四
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
如何让窗口SQL表可编辑?  发帖心情 Post By:2014/10/24 11:22:00 [只看该作者]

数据表默认是可以编辑和保存的。
查询表默认不能编辑,通过将其AllowEdit属性设置为True,可以编辑查询结果,但不能保存编辑结果。

示例一

DataTables("表A").Fill("Select * From {订单}", False)

执行上述代码后,表A将显示订单表的数据,尽管其名称还是表A。

如果将IsQuery参数设置为True,将生成查询表:

DataTables("表A").Fill("Select * From {订单}", True)

 

 

Dim Filter As String

With e.Form.Controls("bm")

    Filter = "部门 = '" & .Value & "'"

End With

Tables("部门考勤_Table1").Fill("Select [_Identify],[部门],[员工编号],[姓名] From {员工信息} Where " & Filter,"sl", False)

 

With DataTables("部门考勤_Table1").DataCols   

    .Add("考勤日期",Gettype(Date),"","考勤日期")

    .Add("工作日",Gettype(String),"","工作日")

    .Add("出勤",Gettype(Double),"","出勤")

    .Add("请假",Gettype(Double),"","请假")

    .Add("考勤人",Gettype(String),"","考勤人")

    .Add("备注",Gettype(String),"","备注")

End With

 

Dim Lb1 As WinForm.DateTimePicker

Lb1 = e.Form.Controls("日期")

Dim cmb1 As WinForm.TextBox

cmb1 = e.form.Controls("星期")

cmb1.Value = WeekDayName(Lb1.Value.DayOfWeek)

 

For Each r As Row In Tables("部门考勤_Table1").Rows

    r("考勤日期") = lb1.Value

    r("工作日") = cmb1.Value

Next

 

编辑不了呀,怎么办?   详见附件窗口 部门考勤

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:事例.zip


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/24 11:26:00 [只看该作者]

Tables("部门考勤_Table1").AllowEdit = True

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/24 11:29:00 [只看该作者]

输入代码  Tables("部门考勤_Table1").AllowEdit=True

 回到顶部
帅哥哟,离线,有人找我吗?
石四
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/24 11:37:00 [只看该作者]

OK!

 回到顶部
帅哥哟,离线,有人找我吗?
石四
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/24 11:44:00 [只看该作者]

部门控件是多选组合框,现在单选有效,多选可办得到吗?是不是很复杂?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/24 11:49:00 [只看该作者]

 多选就这样改

 

Dim Filter As String

With e.Form.Controls("bm")

    Filter = "部门 in ('" & .Value.replace(",", "','") & "')"

End With

 


 回到顶部
帅哥哟,离线,有人找我吗?
石四
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/24 11:58:00 [只看该作者]

以下是引用有点甜在2014-10-24 11:49:00的发言:

 多选就这样改

 

Dim Filter As String

With e.Form.Controls("bm")

    Filter = "部门 in ('" & .Value.replace(",", "','") & "')"

End With

 

OK!这下可方便多了.


 回到顶部
帅哥哟,离线,有人找我吗?
石四
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/28 9:38:00 [只看该作者]

Dim a As Table = Tables("部门考勤_Table1")
Dim b As Table = Tables("部门考勤")
For r As Integer = 0 To a.Rows.Count - 1
    b.AddNew
       b.Current("部门") = a.Rows(r)("部门")
    b.Current("员工编号") = a.Rows(r)("员工编号")
    b.Current("姓名") = a.Rows(r)("姓名")
    b.Current("考勤日期") = a.Rows(r)("考勤日期")
    b.Current("工作日") = a.Rows(r)("工作日")
 b.Current("出勤") = a.Rows(r)("出勤")
    b.Current("请假") = a.Rows(r)("请假")
    b.Current("备注") = a.Rows(r)("备注")
    b.Current("考勤人") = user.name
Next
For r As Integer = a.rows.Count - 1 To 0 Step -1
   Next

 

保存后需复原窗口表,怎么写代码?翻了帮助文件,没找到.


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/28 9:39:00 [只看该作者]

 你说的复原是什么意思?

 

 想原表得到最新的数据?你只需要重新load一次原表


 回到顶部
帅哥哟,离线,有人找我吗?
石四
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/28 9:42:00 [只看该作者]

就是让窗口表回到初始状态,啥都没有,包括表头


 回到顶部
总数 22 1 2 3 下一页