2016-03-21 8 views
2

Veritabanımı pkid görünümüne kaydetmem gerekiyor. UserProperties["TaskId"] kullandım. Bu kimliğiyle öğeyi bulmak için çalıştık ve aşağıdaki kod tüm listelerinde döngü yerine benim öğeleri bulmak için yine de var mıoutlook maddesine göre görüntüle userProperties

tasksFolder.Items.Find(string.Format("[TaskId] = '{0}'", id)) 

çalışmıyor! Veritabanı kimliğini görünümde kaydetmenin daha iyi bir yolu var mı, EntryID okuyor.

+0

Bu konuda herhangi bir güncelleme var mı? –

+0

Sorgunuz için teşekkür ederim, Kullanıcı-özel-Özellikler klasörüne kaydediyorum ve iyi çalışıyor, istisna sadece 1 kez oluyor :) –

cevap

1

Arka planda çalışan AdvancedSearch'dan faydalanabilirsiniz.

string scope parametre aslında arama yapılacaktır Outlook klasör (documentation here bakınız)

Sen tam olarak ne Application.AdvancedSearch kullanarak bir zaman uyumsuz arama görevi başlayabilir. Muhtemelen varsayılan görev klasörünü kullanacağınızı düşünüyorum (bkz. olDefaultFolder)

Sizin durumunuzda, bir CustomField ile bir sorgu oluşturmanız gerekecektir. İşte sözdizimi (test edilmemiştir). Bu garip 0x0000001fAdvancedSearch ile arka planda ve UI iş parçacığı dondurma değil arama görevi gerçekleştirmek için faydası var see

"http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/TaskId/0x0000001f = 'yourid'" 

Not olduğunu, aslında CustomProperties için iç kimliğidir. Aramanızı tanımlamak için bir kimlik kullanmanızı öneririm, böylece eşzamanlı arama veya iptal işlemlerini bertaraf etmeyin.

+0

Cevabınız için teşekkür ederiz ve yardım için teşekkürler, çabalarınızı takdir ediyorum, eğer başka bir sorunuz varsa bana yardım et, ns.GetItemFromID öğe yok eğer istisna, Eğer bunu önlemek için zaten biliyorsun, ben denemek ve boş yakalamak kullanılan ama hatalar işlemek için bu şekilde nefret ediyorum –

+0

MokhAkh try/catch göz önüne alarak, bunu sevmiyorum Ya da öyle görünüyor ki alternatif yok. Outlook VSTO ürünlerimde de bu tür bir kod kullanıyorum –

+0

Cevabınız için teşekkür ederim, bu beni bir çalışma çözümüne yönlendirdi. Tam bir çalışma filtresi arıyorsanız, benimki: 'var filter = $" @ SQL = \ "http://schemas.microsoft.com/mapi/string/{{00020329-0000-0000-C000- 000000000046}}/MyUserProperty/0000001f \ "= '{value}'"; ' – Yaurthek