situatie:
map "klanten" die "contactpersoon items" bevat
map "problemen die "E-Mail an Postitems" bevat
voor beide heb ik de forms al aangepast, en bij het weergeven van een klant een Outlook View Control toegevoegd.
Nu zoek ik een manier om de problemen aan klanten te linken, zodat ik later ook restricties kan zetten van de ViewControl, zodat alleen de problemen van de betreffende klant daar worden getoond.
Mijn eerste probleem is dus het linken van die items. Ik had een boek gekocht "Building applications with Microsoft Outlook version 2002" waar dit in wordt gedaan.. hoe ze dit echter gedaan hebben zeggen ze er niet bij, het enige wat ik heb is een lap code. (waar de helft al niet van klopt omdat ze variabelen niet hebben gedeclareerd of ineens andere namen gaan gebruiken).
het boek doet het op de volgende manier:
ik snap alleen niet helemaal wat er nou gebeurd, want er wordt een unieke string gegenereerd en verbonden met de contact...maar hoe de items vervolgens worden gelinkt??
heeft iemand hier ervaring mee die mij zou kunnen helpen, of iets van een stap-voor-stap guide hoe je het eenvoudig kan doen? want ik begin een beetje gefrustreerd te raken van dat boek of kant-en-klare-code die je uren aan het doorspitten bent en uiteindelijk nog niet aan de praat krijgt...
(het hoeft niet op deze manier te gebeuren... zolang de items aan elkaar gelinkt worden..)
ik zou dus op de volgende manier items willen gaan toevoegen:
1. creeer een klant
2. selecteer/bekijk een klant
3. klik op "NIEUW PROBLEEM" (knopje ofzo)
4. vul probleem etc in en sla op (notitie item ofzo opslaan in de folder problemen)
5. wanneer ik weer de klant ga bekijken, wordt het probleem weergegeven in de ViewControl...
map "klanten" die "contactpersoon items" bevat
map "problemen die "E-Mail an Postitems" bevat
voor beide heb ik de forms al aangepast, en bij het weergeven van een klant een Outlook View Control toegevoegd.
Nu zoek ik een manier om de problemen aan klanten te linken, zodat ik later ook restricties kan zetten van de ViewControl, zodat alleen de problemen van de betreffende klant daar worden getoond.
Mijn eerste probleem is dus het linken van die items. Ik had een boek gekocht "Building applications with Microsoft Outlook version 2002" waar dit in wordt gedaan.. hoe ze dit echter gedaan hebben zeggen ze er niet bij, het enige wat ik heb is een lap code. (waar de helft al niet van klopt omdat ze variabelen niet hebben gedeclareerd of ineens andere namen gaan gebruiken).
het boek doet het op de volgende manier:
When a company item is created, a unique identifier is created and stored in the Account field. The Account field is a default property of a contact item. The Account field for a company item will be a combination of a substring of the company name and a randomly generated number. For example, the Account field for a company named The Big Cheese might be BigChe797909. The benefit of using this unique account number is that several types of items can be linked to a parent Company item without using the Links collection object. Because the unique ID for a company is created on the fly, this approach does not mandate that a company must first exist in a relational database such as Northwind. This Account field also facilitates the creation of Company items for companies that are prospective customers. Prospective customers do not have unique IDs in a corporate database. When a user creates a new Company item, either on line or off line, an account value is generated automatically by the following code. The PropertyChange event can generate a new account value or change the company name in related company contact items based upon modification of the CompanyName property in an existing company.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| Sub Item_PropertyChange(ByVal Name)
Dim lowerbound, upperbound, RandomID, strRandomId, intLength
‘Change INT_MAX to increase size of numeric portion of Item.Account
Const INT_MAX = 6
Select Case Name
Case "CompanyName"
‘Only change Account field if blank
If Item.Account = "" Then
lowerbound = 1
‘Use Clng to force Long As 999999
upperbound = CLng(String(INT_MAX,57))
Randomize()
RandomID = _
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
strRandomId = Trim(CStr(RandomID))
intLength = Len(strRandomID)
If intLength < INT_MAX then
‘Prepend 0 if not INT_MAX characters
strRandomID = _
String((INT_MAX-intLength),48) & strRandomID
End If
‘Assign unique account number
Item.Account = CleanString(Item.CompanyName) _
& strRandomID
Item.Subject = Item.CompanyName
Else
‘Company name has changed, used in Item_Write
blnChangeCompany = True
End If
End Select
End Sub
Function CleanString(InString)
Dim OutString, ch, i, Keysize
‘Change Keysize value to change length of alpha characters
Keysize = 6
For i = 1 to Len(InString)
ch = Right(Left(InString,i),1)
If Len(OutString) > Keysize Then
Exit For
End If
If InStr("‘ """,ch) = 0 Then
OutString = OutString & ch
End if
Next
CleanString = OutString
End Function |
ik snap alleen niet helemaal wat er nou gebeurd, want er wordt een unieke string gegenereerd en verbonden met de contact...maar hoe de items vervolgens worden gelinkt??
heeft iemand hier ervaring mee die mij zou kunnen helpen, of iets van een stap-voor-stap guide hoe je het eenvoudig kan doen? want ik begin een beetje gefrustreerd te raken van dat boek of kant-en-klare-code die je uren aan het doorspitten bent en uiteindelijk nog niet aan de praat krijgt...
(het hoeft niet op deze manier te gebeuren... zolang de items aan elkaar gelinkt worden..)
ik zou dus op de volgende manier items willen gaan toevoegen:
1. creeer een klant
2. selecteer/bekijk een klant
3. klik op "NIEUW PROBLEEM" (knopje ofzo)
4. vul probleem etc in en sla op (notitie item ofzo opslaan in de folder problemen)
5. wanneer ik weer de klant ga bekijken, wordt het probleem weergegeven in de ViewControl...
[ Voor 3% gewijzigd door Verwijderd op 23-04-2003 12:22 ]