2015-05-28 30 views
-1

我正在嘗試使用split()函數根據Microsoft Access中給定名稱字符串中的空格拆分出名稱。當試圖編譯我在下面寫的代碼時,我得到一個編譯錯誤:「不能分配給數組」。使用VB函數拆分我得到編譯錯誤:「不能分配給數組」。

誰能告訴我我做錯了什麼?

Public Function cleanName(position As Integer, inName As String) As String 

Dim nameArray() As String 
Dim outName As Variant 

nameArray = Split(inName, " ") 

Select Case position 
    Case 1 'Titles 
     outName = nameArray(0) 
    Case 2 'First Name 
     outName = nameArray(1) 
    Case 3 'Middle Name 
     outName = nameArray(2) 
    Case 4 'Last Name 
     outName = nameArray(3) 
    Case 5 'Suffix 
     outName = nameArray(4) 
    Case Else 
End Select 

cleanName = outName 

End Function 
+0

嘗試使用 「設置nameArray =斯普利特(inName,」 「)或nameArray()=斯普利特(inName,」「)(已經有一段時間) –

回答

1

嘗試修改你的代碼是這樣的:

nameArray() = Split(inname, " ") 
+0

我仍然得到與nameArray()= Split(inName,「」)相同的錯誤 – TKESuperDave

+0

這很奇怪,我正準備發佈一個剪輯來展示這個任務應該如何工作,我不知道你是否無意中得到了多個庫與SPLIT可用,你無意中引用一個不返回字符串數組... –

+1

從VB IDE,轉到「對象瀏覽器」,(通常只是按F2)和只需在下拉列表下方輸入「Split」並查看是否出現多個函數。你想從VBA.Strings中獲得一個。 –