以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  显示订单和新增订单  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98548)

--  作者:cyrollin
--  发布时间:2017/3/31 18:32:00
--  显示订单和新增订单
Dim dr As DataRow
With DataTables("订单表")
If dr("日期") = Date.Today.AddDays(1)
    Tables("订单表").Filter = "日期= \'" & Date.Today.AddDays(1) & "\'"
Else
    Dim Result As DialogResult
    Result = MessageBox.Show("明天还没有订单,是否要开始增加订单", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        dr("日期") = Date.Today.AddDays(1)
    Else
        Return
    End If
End If
End With

------------------------

这段代码的作用是 : 显示明天的订单,如果有记录就显示出来. 如果没有记录,按了YES后,就可以新增订单. 

但不起作用, 哪里错了呢?


--  作者:wyz20130512
--  发布时间:2017/3/31 18:43:00
--  
\'这段代码的作用是 : 显示明天的订单,如果有记录就显示出来. 如果没有记录,按了YES后,就可以新增订单
With Tables("表A")
    Dim f As String = "[日期] = #" & Date.Today().AddDays(1) & "#"
    Dim dr As DataRow = .DataTable.Find(f)
    If dr IsNot Nothing Then
        .Filter = f
    Else
        Dim Result As DialogResult
        Result = MessageBox.Show("明天还没有订单,是否要开始增加订单", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            Dim r As Row = .AddNew()
            r("日期") = Date.Today.AddDays(1)
        End If
    End If
End With
[此贴子已经被作者于2017/3/31 18:44:12编辑过]

--  作者:cyrollin
--  发布时间:2017/3/31 18:56:00
--  
提示: [日期] = 2017/4/1 不是有效的排序字符串项。
--  作者:wyz20130512
--  发布时间:2017/3/31 19:02:00
--  
若是外部表: SQL数据,将#号换为\'号
--  作者:cyrollin
--  发布时间:2017/3/31 19:35:00
--  
不是外部表
--  作者:wyz20130512
--  发布时间:2017/3/31 19:48:00
--  
BeforeOpenProject事件

\'msgbox(Date.Today)
Dim cd As System.Globalization.DateTimeFormatInfo = System.Globalization.DateTimeFormatInfo.CurrentInfo
cd.ShortDatePattern = "yyyy-MM-dd"
Dim DateInfo As System.Reflection.FieldInfo = cd.Gettype.GetField("generalLongTimePattern", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance)
If  DateInfo IsNot Nothing Then
    DateInfo.SetValue(cd, "yyyy-MM-dd HH:mm:ss")
End If    
\'msgbox(Date.Today)

--  作者:wyz20130512
--  发布时间:2017/3/31 19:49:00
--  
加上上述代码试试,可能是系统日期格式冲突。


我这边测试没问题!
[此贴子已经被作者于2017/3/31 19:57:10编辑过]

--  作者:cyrollin
--  发布时间:2017/4/5 9:46:00
--  
以下是引用wyz20130512在2017/3/31 19:49:00的发言:
加上上述代码试试,可能是系统日期格式冲突。


我这边测试没问题!
[此贴子已经被作者于2017/3/31 19:57:10编辑过]

谢谢,还有一个问题:


With Tables("订单表")

    Dim f As String = "[日期] = #" & Date.Today().AddDays(1) & "#"

    Dim dr As DataRow = .DataTable.Find(f)

    If dr IsNot Nothing Then

        .Filter = f

        Dim lb17 As Winform.label

        lb17 = e.Form.controls("label17")

        lb17.text = Tables("订单表").Rows.Count()

    Else

        Dim Result As DialogResult

        Result = MessageBox.Show("明天还没有数据,是否要增加新的订单", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

        If Result = DialogResult.Yes Then

            Dim r As Row = .AddNew()

            r("日期") = Date.Today.AddDays(1)

            .Filter = f

            Dim lb17 As Winform.label

            lb17 = e.Form.controls("label17")

            lb17.text = Tables("订单表").Rows.Count()

            

        Else

            e.Sender.Checked = False

            

        End If

    End If

End With


代码作用是: 点击一个单选按钮,如果明天没有订单,就会提示是否要新增。 如果点 否,就会取消单选。 现在的问题是:


按了否后,会出现二次提示: "明天还没有数据,是否要增加新的订单?" 




--  作者:有点色
--  发布时间:2017/4/5 10:54:00
--  

改成

 

SystemReady = False

e.Sender.Checked = False

SystemReady = True