我正在用包含/ cmd參數的快捷方式打開數據庫。它將加載啓動窗體(A登錄屏幕)並檢查命令行參數。如果已設置,則會將其移至其他表單。在不同的表單上是登錄按鈕。當您單擊該按鈕時,您將返回到登錄屏幕。但是,登錄屏幕會查找命令行參數並直接回到以前的表單。一個永無止境的循環。所以,我想要做的是以編程方式更改命令行參數。我試圖設置它爲空,null,「」,0 ...似乎沒有任何工作。MS-Access更改命令行參數vba
一旦通過參數,我該如何改變參數?
我正在用包含/ cmd參數的快捷方式打開數據庫。它將加載啓動窗體(A登錄屏幕)並檢查命令行參數。如果已設置,則會將其移至其他表單。在不同的表單上是登錄按鈕。當您單擊該按鈕時,您將返回到登錄屏幕。但是,登錄屏幕會查找命令行參數並直接回到以前的表單。一個永無止境的循環。所以,我想要做的是以編程方式更改命令行參數。我試圖設置它爲空,null,「」,0 ...似乎沒有任何工作。MS-Access更改命令行參數vba
一旦通過參數,我該如何改變參數?
訪問會話啓動後,您無法更改/CMD
參數。但我認爲你不需要。
只要確保您在Access會話開始時只評估一次/CMD
。您可以通過將表單中的啓動邏輯移動到自定義函數中並從AutoExec宏中調用該函數。
Public Function StartUp()
If Len(Command) > 0 Then
' the VBA Command() function returns the command
' line /CMD argument text;
' assume it is a form which should be opened instead of frmStart
DoCmd.OpenForm Command
Else
DoCmd.OpenForm "frmStart"
End If
End Function
考慮優化的代碼,以確保Command()
返回的文本是指實際上是在你的數據庫中存在的形式。
然後使用的AutoExec宏RunCode
行動呼籲StartUp()
:
最後,數據庫的顯示窗體屬性設置爲(無)。
我想我可以得到這個工作!謝謝! – riley3131
@Fionnuala我有一個啓動形式,但有時我希望它以不同的形式開始,所以我使用命令行參數。它的工作原理與我想要的一樣,當試圖進入常規啓動形式時...它仍然設置了命令參數,所以它繼續進入二級表單。 – riley3131