我有一個問題,我一直試圖用MS Access和VBA功能解決幾天。VBA功能不能正常工作,返回錯誤
要開始我有一個表如下
名稱=隊
領域主要是文本基礎,除非另有說明 ID(自動編號主鍵) 非 Prenom 位置 TeamID(創建人連接Nom,Prenom和位置字段)
在我的表單中,我想提取輸入到Nom,Prenom和Location字段的部分詳細信息。然後將其傳回給數據庫以進入個人的TeamID字段。
提取應採取的 TeamID = mid(Location,0,4) & mid(Prenom,0,2) & mid(Nom,0,2à)
形式。然而我知道我不能把這個變成任何字段屬性的「CONTROLE源」部分。
因此,經過多次搜索,我決定我應該在一個單獨的模塊中使用一個函數(我經常在大量的表上創建'合理的'索引值,我發現自動編號主鍵不是非常人性化,或言自明。
所以在我的數據庫文件我創建了一個模塊(稱爲的getInfo)與公共職能
Public Function getID() As String
Dim r As String
Dim i As String
i = "Twenty"
下面是一些我曾嘗試選項....
'r = VBA.Strings.UCase$(String:=i) 'turning the value of i to uppercase
getID = r 'returns "TWENTY" as expected
或
'r = VBA.Strings.Mid$("TWENTY", 0, 2)
getID = r 'error and highlights above line?
或
'r = StrReverse(i)
getID= r 'again error and highlights above line
getID = VBA.Strings.Mid$(String:="TWENTY", Start:=0, Length:=2)
End Function
我再opent嗯 '執行' 窗口,並運行的功能。
我似乎只能值轉換爲大寫或小寫,繩子的搜索或操作只是給了我下面的錯誤
執行錯誤「5」 參數或程序的消息弓呼叫不正確
(請與我聯繫我正在法國終端工作,所以我的這個錯誤的翻譯可能不是非常acurate)。
但是,當我鍵入它們時,所有功能都正確顯示,正如傳遞的參數一樣。當我搜索網絡的信息也是一樣的 http://www.techonthenet.com/excel/formulas/index_vba.php
所以我失去了我要去哪裏錯了。
我想我沒有正確地聲明我的變量的值,但我不明白爲什麼。 此代碼在其他地方(其他終端)無法使用,所以我確定它一定是我的錯誤!
但是它是什麼。
我覺得這是一個非常基本的問題,但是在操縱字符串時卻無法讓這個函數工作。
我是否需要僅從一個子集調用此函數,而不是直接調用,這與我的表單頁面是否相同?
如果需要,我可以使用此代碼創建一個小型數據庫。
這是什麼'VBA.Strings'東西。授予我的VBA已經在Word和Excel中,但你只是在'getID = mid(i,1,2)'這樣的東西。 – paxdiablo
你有一個傻笑的權利,字符串不是零索引!我知道這將是愚蠢的。而VBA.Strings的東西是我試圖調試,爲什麼它不工作,所以使用完全合格的命名空間(以防萬一!) – DaveM