我试过了。
<filter string="Today" doamin="['date_order','=',datetime.now()]"/>
但是,它给出了一个错误。
答案 0 :(得分:1)
域应该是元组列表。你创建了一个列表,但忘了一个元组。另外你做了一个拼写错误(“doamin”)。下面的代码应该没有错误地执行:
For Each Sheet In sheetrange
On Error GoTo bm_NoSheet
Set FullRow = Sheets(Sheet.Value).Range("A5:EE5")
Set Items = Sheets(Sheet.Value).Range("A6:A500")
On Error GoTo 0
For Each Cell In FullRow
If Cell.Value = inputcell.Value Then 'TYPE MISMATCH HERE
With FullRow
Set SumRange = Range(.Cells(Cell.Row - 3, Cell.Column), .Cells(520, Cell.Column))
sumState = sumState + WorksheetFunction.SumIf(Items, entry, SumRange)
End With
End If
Next Cell
GoTo bm_Next
bm_NoSheet:
If Err.Number = 9 Then
With Worksheets.Add(after:=Sheets(Sheets.Count))
.Name = Sheet.Value
End With
Resume
End If
bm_Next:
Next Sheet
但是,我不认为这是你想要的。 <filter string="Today" domain="[('date_order','=',datetime.now())]"/>
是date_order
字段。这只会选择当前日期和时间的订单(所以不是今天的所有订单)。
以下是datetime
字段上正确“今日”过滤器的示例(基于datetime
模块中的stock.move.search
视图):
stock
基本上<filter string="Today" domain="[('date_order','>=', datetime.datetime.combine(context_today(), datetime.time(0,0,0))), ('date_order','<=', datetime.datetime.combine(context_today(), datetime.time(23,59,59)))]"/>
必须大于或等于当天(00:00:00)的开头,但小于或等于当天结束时(23:59:59)。< / p>
答案 1 :(得分:0)
通过在过滤器域中应用波纹管条件,您可以轻松获取今天的记录。简单而简短。
<filter string="Today Orders" domain="[('date_order', '=', datetime.datetime.now().strftime('%Y-%m-%d'))]"/>
它将返回具有今天订购日期的所有记录。