好像沒有FindFreeResource指令ㄝ....

不過我將我做過的Post 大家參考一下吧(我是初學者..若有錯誤請來信指教)

這是我作在確定送出按鈕的語法...

Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim result As Variant

Set uidoc=ws.currentDocument
uidoc.Refresh

If uidoc.FieldGetText("CName") = "" Then
Messagebox "目前姓名尚未輸入任何資料,請重新輸入(選擇)姓名",MB_OK,"提示"
uidoc.GotoField("Cname")
Exit Sub
End If

If uidoc.FieldGetText("ResourceType") = "" Then
Messagebox "目前預約之會議室尚未輸入任何資料,請重新輸入(選擇)預約之會議室",MB_OK,"提示"
uidoc.GotoField("ResourceType")
Exit Sub
End If

If uidoc.FieldGetText("Duration") = "" Then
Messagebox "目前預約時間發生錯誤(時間為0小時),請重新輸入(選擇)預約時間",MB_OK,"提示"
uidoc.GotoField("Duration")
Exit Sub
End If

If uidoc.FieldGetText("Description") = "" Then
Messagebox "目前尚未輸入使用說明,請重新輸入(選擇)說明",MB_OK,"提示"
uidoc.GotoField("Description")
Exit Sub
End If

If uidoc.FieldGetText("StartDate") ="" Or uidoc.FieldGetText("StartTime") ="" Or uidoc.FieldGetText("EndDate") ="" Or uidoc.FieldGetText("EndTime") ="" Then
Messagebox("請輸入預約時間後再執行")
Exit Sub
Else

If Cdat(uidoc.FieldGetText("StartDate")) < Date Then
Messagebox("目前系統無法預約在今天之前之日期,請重新輸入起始日期,謝謝。")
uidoc.GotoField("StartDate")
Exit Sub
End If

If Cdat(uidoc.FieldGetText("EndDate")) < Date Then
Messagebox("目前系統無法預約在今天之前之日期,請重新輸入結束日期,謝謝。")
uidoc.GotoField("StartDate")
Exit Sub
End If

Dim session As New Notessession
Dim db As NotesDatabase
Set db = Session.CurrentDatabase

Dim dateTime As NotesDateTime
Set DateTime = New NotesDatetime("01/01/98")
Dim coll As NotesDocumentCollection
Dim Formula As String
Dim STDateTime As Double , ETDateTime As Double
Dim RType As String

Rtype = uidoc.FieldGetText("tmpResourceType")
'Messagebox(Rtype)
'SDateTime As String,EDateTime As String,

If uidoc.FieldGetText("StartDateTime") = "" Or uidoc.FieldGetText("EndDateTime") = "" Then
Messagebox "請輸入完資料後再進行檢查執行動作,謝謝....."
Else
STDateTime = Cdbl(Cdat(uidoc.FieldGetText("StartDateTime")))
ETDateTime = Cdbl(Cdat(uidoc.FieldGetText("EndDateTime")))

'判斷起始時間與結束時間之關係
If STDateTime > ETDateTime Then
Messagebox("目前系統發現您的預約結束時間在開始時間之前,請重新輸入預約日期時間,謝謝。")
uidoc.GotoField("StartDate")
Exit Sub
End If


'Messagebox(Cstr(STdatetime))
'在StartDateTime1不要在加@Date這樣好像只會取出日期而不會將StartDatetime 格式會成DateTime format
'用view 來try 一下即可
' ((S <= ST & E > ST) | (S < ET & E >= ET)) & (會議室判斷)
'Formula="((StartDateTime <= ( [" + Cstr(Cdat(STDateTime) )+ "]) & EndDateTime > (["+ Cstr(Cdat(STDateTime)) +"]) ) | (StartDateTime < (["+ Cstr(Cdat(ETDateTime) ) +"]) & EndDateTime >= (["+ Cstr(Cdat(ETDateTime) ) +"]))) & (tmpResourceType ="""+ Rtype +""")"
Formula="((StartDateTime <= ( [" + Cstr(Cdat(STDateTime) )+ "]) & EndDateTime > (["+ Cstr(Cdat(STDateTime)) +"]) ) | (StartDateTime < (["+ Cstr(Cdat(ETDateTime) ) +"]) & EndDateTime >= (["+ Cstr(Cdat(ETDateTime) ) +"]))) & (tmpResourceType ="""+ Rtype +""") & (CheckStatus=""Y"")"

Set Coll = db.search(Formula,DateTime,0)


Dim i As Integer
Dim doc As NotesDocument
Dim aDoc1 As Variant
Dim aDoc2 As Variant
Dim aDoc3 As Variant
Dim aDoc4 As Variant
Dim sAll As String

For i =1 To Coll.count
Set Doc = coll.GetNthDocument(i)

aDoc1 = Doc.GetItemValue("CName")
aDoc2 = Doc.GetItemValue("ResourceName")
aDoc3 = Doc.GetItemValue("OptimalDateTime")
aDoc4 = Doc.GetItemValue("Description")

sAll = sAll + Chr(10) + Chr(10) + "預約者:"+aDoc1(0)+Chr(10) + "會議室:" + aDoc2(0) + Chr(10) + "時間:" + aDoc3(0)+Chr(10)+"說明:"+aDoc4(0)+Chr(10)

Next
If coll.count > 0 Then
Call uidoc.FieldSetText("DataTimeFlag","您的預約目前與其他申請者相衝突....請重新修改相關資料")
Messagebox sAll,MB_OK,"提示:目前預約資源與下列衝突"
Exit Sub
Else
uidoc.Refresh
Call uidoc.FieldSetText("CheckStatus","Y")
' result = Evaluate("@PostedCommand([FileSave])")
' result = Evaluate("@PostedCommand([FileCloseWindow])")
End If
End If
End If
uidoc.Refresh
If coll.count = 0 Then
uidoc.save
uidoc.close
End If
End Sub