以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [再次求助]想根据系统时间的星期定位表中的行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42146)

--  作者:shipangzi
--  发布时间:2013/11/5 11:51:00
--  [再次求助]想根据系统时间的星期定位表中的行

各位大神,

我想根据系统时间的星期锁定表中的行,帮忙看看代码哪里错了

Dim lab1 As Date = Date.Today
Dim week As Integer = lab1.DayOfWeek

With Tables("表B")
    Dim dr As Integer
    dr = .Find("week", 0, "星期", False, False, True)  
 If dr > -1 Then
    .Position = dr
    End If
End With


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:捕获2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-11-5 16:17:00编辑过]

--  作者:Bin
--  发布时间:2013/11/5 11:59:00
--  
你的代码,和锁定行没什么关系啊.

dim drList as List(of datarow)=datatables("表B").select("星期=\'" & Date.Today.DayOfWeek & "\'")

for each dr as datarow in drList
     dr.Locked=True
next

--  作者:shipangzi
--  发布时间:2013/11/5 13:15:00
--  

sorry,我没有描述清楚,不是想锁定行,是想定位行,请指教。

[此贴子已经被作者于2013-11-5 16:02:29编辑过]

--  作者:有点甜
--  发布时间:2013/11/5 21:39:00
--  
 这样

Dim lab1 As Date = Date.Today
Dim week As Integer = lab1.DayOfWeek
With Tables("表B")
    Dim dr As Integer
    dr = .Find(week, 0, "星期", False, False, True)
    If dr > -1 Then
        .Position = dr
    End If
End With

--  作者:shipangzi
--  发布时间:2013/11/6 9:44:00
--  系统报错了
谢谢,有点甜,不过按你的办法系统报错了。
图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2013/11/6 9:59:00
--  

传递给Find的必须是字符型的值:

 

Dim lab1 As Date = Date.Today
Dim week As String = lab1.DayOfWeek
With Tables("表B")
    Dim dr As Integer
    dr = .Find(week, 0, "星期", False, False, True)
    If dr > -1 Then
        .Position = dr
    End If
End With


--  作者:shipangzi
--  发布时间:2013/11/6 11:04:00
--  

狐狸老爹英明,解决了。