我的Access(2003)數據庫中有一個備註字段,用於存儲來自Outlook(約750個字符)的文件夾的EntryID。我試圖找回那種串一些郵件移動到該文件夾ID與此代碼:備忘錄從Access數據庫截斷爲VBA字符串
Dim myNameSpace As Outlook.NameSpace
Dim StoreID As String
Dim target as String 'This is the long EntryID string
Dim objMail as mailitem 'some mail
Set myNameSpace = Application.GetNamespace("MAPI")
StoreID = Application.GetNamespace("MAPI").folders("LiveLink").StoreID
Set dossier = myNameSpace.GetFolderFromID(target, StoreID)
objMail.Move dossier
的target
VAR只有第252個字符,而不是748在這種情況下。有趣的是,如果沒有其他可用的相同〜255個首字符的文件夾,Outlook仍然會找到正確的文件夾。但在某些情況下,它會崩潰,因爲有不止一個。我正在使用記錄集從數據庫中獲取備忘錄。這是我的SQL:
SELECT EntryID FROM Folder
我終於找到了這種行爲的一些信息:http://allenbrowne.com/ser-63.html。但是,我沒有在我的查詢中使用任何聯合或任何特定的內容,因爲您可以看到...
爲什麼它仍然被截斷?
原始備忘錄/字符串中的數據庫:
00000000CE5B922DF5D7654C993FFDB4FF79A7A00100000057010000307E7E2D317E305C307E4C6976656C696E6B204851457E307E2D315C307E4C6976656C696E6B204851457E2D357E305C307E4C6976656C696E6B204851457E313233373235387E2D355C307E4C6976656C696E6B204851457E31303233363334317E313233373235385C307E4C6976656C696E6B204851457E31323930393430387E31303233363334315C307E4C6976656C696E6B204851457E31343539333439307E31323930393430385C307E4C6976656C696E6B204851457E31383735353632377E31343539333439305C307E4C6976656C696E6B204851457E3131363434333236317E31383735353632375C307E4C6976656C696E6B204851457E3131363434333236347E3131363434333236315C307E4C6976656C696E6B204851457E3131363434333238397E3131363 434333236345C307E4C6976656C696E6B204851457E3131363434333330337E313136343433323839
截斷備忘錄/對象/場/ SQL查詢字符串後:
00000000CE5B922DF5D7654C993FFDB4FF79A7A00100000057010000307E7E2D317E305C307E4C6976656C696E6B204851457E307E2D315C307E4C6976656C696E6B204851457E2D357E305C307E4C6976656C696E6B204851457E313233373235387E2D355C307E4C6976656C696E6B204851457E3130323336333431
是繞代碼 'SELECT的EntryID FROM文件夾' ?? –
'Set rs = CurrentDb.Execute(「SELECT EntryID FROM Folder」)',然後'target = rs(「EntryID」)' – dnLL
粘貼更多!!!那麼'msgbox(rs(「entryID」))' –