我的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”))' –