今天要跟大家介紹 AppSheet 中一個非常實用的型別——Duration(持續時間)。最近我自己寫了一個管理時間的 AppSheet 應用程式,主要是用來記錄我每一件事情的學習時間或工作時間。
為什麼需要這個 APP?
核心型別介紹:Duration
時間長度 = 結束時間 (End Time) - 開始時間 (Start Time)
實作邏輯與欄位設定
1. 資料表結構
專案列表 (Project): 大標題(例如:AppSheet 教學、閱讀書籍)。 工作列表 (Work): 實際執行的細項。
ProjectID:關聯到專案。 StartTime (DateTime):開始時間。 EndTime (DateTime):結束時間。 NowUsedTime (Duration):目前已用時間(虛擬欄位)。 UsedTime (Duration):最終使用時間(虛擬欄位)。
2. 專案選單的優化
Active (啟用狀態): 我在專案設定中加入了一個 Active 欄位 (Y/N)。如果某個專案(例如「台灣摩鐵」)已經結案,我將其設為 N,它就不會再出現在新增選單中。 排序: 最近使用過的專案會排在最上面。
3. 如何計算時間?(關鍵公式)
情境 A:工作正在進行中 (NowUsedTime)
欄位名稱: NowUsedTime App Formula: NOW() - [StartTime] (目前時間 減去 開始時間) Show? (顯示條件): ISBLANK([EndTime]) 意思就是:當「結束時間」是空白的時候,才顯示這個計時欄位。
情境 B:工作已完成 (UsedTime)
欄位名稱: UsedTime App Formula: [EndTime] - [StartTime] Show? (顯示條件): ISNOTBLANK([EndTime]) 意思就是:當「結束時間」有值的時候,才顯示這個最終時間。
實際操作演示
開始任務: 點擊右下角的「+」號新增工作。選擇專案(例如:YouTube影片錄製),系統會自動帶入目前的 StartTime。此時不要填寫 EndTime,直接按下 Save。 即時監控: 回到列表,你可以看到該筆紀錄正在進行中。隨時點進去該筆資料,你會看到 NowUsedTime 正在跳動(例如顯示 0:00:31),告訴你目前已經花了多少時間。 結束任務: 當錄影結束,點擊編輯該筆資料,並勾選「事件完成」(這會自動填入 EndTime),然後存檔。 自動計算與加總: 存檔後,系統會自動隱藏 NowUsedTime,改為顯示 UsedTime(例如:00:00:50)。 回到專案的大分類畫面,你會發現 YouTube影片錄製 這個專案的總時數已經自動加上了剛剛那 50 秒。 刪除或修正: 如果剛剛那筆是測試用的,直接刪除該筆紀錄,專案的總時數也會即時扣除,變回原本的時數(例如從 1小時2分 變回 1小時1分)。
總結
今天的教學就介紹到這邊,希望能幫助大家更好地運用 AppSheet!
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。