Find/search desired custom text field?

G

G Lykos

Greetings! Am looking for suggestions on how to locate a custom task text
field with a particular name, then use it in a loop looking for tasks with
particular values in that field for further operations on those tasks.

Thanks,
George
 
J

Jan De Messemaeker

Hi,

Is the "name" the Project name (such as Text7) or the name you gave?
 
G

G Lykos

Jan, I'm interested in searching on the custom "name", not the underlying
task Text1-Text30 name.

Thanks,
George
 
J

Jan De Messemaeker

Hi George,

I was afraid so.
IMHO the only way is to loop through the relevant fieldids(can be obtained
from the class pjcustomfield class in the object browser) and verify the
method
customfieldgetname(fieldid)

The bad news is that the fieldid's aren't all in pure numerical sequence.
The good news is that most are

Hoep this helps!
 
G

G Lykos

Jan, thanks for the suggestion -- I'll experiment with it. Are you saying
there's no way to directly read the custom field name associated with (for
example) ActiveProject Tasks custom field Text1?

Thanks again,
George
 
J

Jan De Messemaeker

That's what I say, yes - I wouldn't send you to the ordeal of that loop if
it were!
Greetings,
 
G

G Lykos

Okay, Jan, I've got an ugly lookup mechanism that provides the desired field
constant (pjCustomTaskTextn) and n for a particular custom task text field
"name". Now how do I use that in a For Each... task collection loop to read
in the contents of that field in each task?

By the way, it was pretty extraordinary to find that the sequence of
CustomTaskText constants isn't linear - per your previous comment.

A separate question - does VBA allow you to execute an instruction defined
in a string variable? dBase and Clipper allow you to construct an
instruction as text, then execute it - thought I'd ask.

Thanks,
George
 
J

JackD

G Lykos said:
A separate question - does VBA allow you to execute an instruction defined
in a string variable? dBase and Clipper allow you to construct an
instruction as text, then execute it - thought I'd ask.

Thanks,
George

No, sorry.

-Jack Dahlgren
http://zo-d.com/blog/
 
G

G Lykos

Jan, having progressed a bit further into this: it a subroutine is going to
ask a user for the name of a custom task text field to operate on, with the
field being expressed as either it's base name or a custom alias, then it
appears that it must be handled this in three steps:

Step 1 - determine if the field name has been provided in the base name
(e.g. Text1), then look up the associated constant, or else

Step 2 - look for the custom "name" across the fields, then look up the
associated constant

Step 3 - and feed the resulting field constant, if found, into
GetField/SetField.

This results in what seems like a LOT (read pages) of low-level code to
perform a seemingly trivial operation. If you want to relax the user
constraints and allow for a value to be designated in a custom number field
as well as a custom text field, then it literally doubles in size because of
having to represent and deal with each element of the text, number, etc.
field set individually.

So the question at this point, as a sanity check, is: am I complicating
this unnecessarily, or does the structure of how Project field names are
expressed (no indexed access via a collector) and field constants defined
(non-linear sequences) in fact force this?

Thanks,
George
 
J

Jan De Messemaeker

Hi,

I think you can greatly simplify the code by putting some "intelligence"
elsewhere:

- In the form you present the user let him select between all possible
fields (Project's names or yours)
- In a table link the position of the selection to the pjfield constant

Hope this helps,
 
G

G Lykos

Jan - two functions, and a small subroutine to play with them. Also
realized that MSP has duplicate field constants: pjTextName1 =
pjCustomTextName1, etc. Thanks for your orientation -- George

Option Explicit

Private Sub TestGetTaskFieldIndex()

Dim FieldName As String
Dim Index As Long

FieldName = "TTT"
Index = GetTaskTextFieldIndex(FieldName)
FieldName = "Number3"
Index = GetTaskNumberFieldIndex(FieldName)

End Sub

Function GetTaskNumberFieldIndex(ByVal FieldName As String)
' returns index = 0 on no match

FieldName = Trim(UCase(FieldName))

Select Case FieldName
' search default names
Case "NUMBER1"
GetTaskNumberFieldIndex = pjTaskNumber1
Case "NUMBER2"
GetTaskNumberFieldIndex = pjTaskNumber2
Case "NUMBER3"
GetTaskNumberFieldIndex = pjTaskNumber3
Case "NUMBER4"
GetTaskNumberFieldIndex = pjTaskNumber4
Case "NUMBER5"
GetTaskNumberFieldIndex = pjTaskNumber5
Case "NUMBER6"
GetTaskNumberFieldIndex = pjTaskNumber6
Case "NUMBER7"
GetTaskNumberFieldIndex = pjTaskNumber7
Case "NUMBER8"
GetTaskNumberFieldIndex = pjTaskNumber8
Case "NUMBER9"
GetTaskNumberFieldIndex = pjTaskNumber9
Case "NUMBER10"
GetTaskNumberFieldIndex = pjTaskNumber10
Case "NUMBER11"
GetTaskNumberFieldIndex = pjTaskNumber11
Case "NUMBER12"
GetTaskNumberFieldIndex = pjTaskNumber12
Case "NUMBER13"
GetTaskNumberFieldIndex = pjTaskNumber13
Case "NUMBER14"
GetTaskNumberFieldIndex = pjTaskNumber14
Case "NUMBER15"
GetTaskNumberFieldIndex = pjTaskNumber15
Case "NUMBER16"
GetTaskNumberFieldIndex = pjTaskNumber16
Case "NUMBER17"
GetTaskNumberFieldIndex = pjTaskNumber17
Case "NUMBER18"
GetTaskNumberFieldIndex = pjTaskNumber18
Case "NUMBER19"
GetTaskNumberFieldIndex = pjTaskNumber19
Case "NUMBER20"
GetTaskNumberFieldIndex = pjTaskNumber20
' search aliases
Case Is = CustomFieldGetName(pjTaskNumber1)
GetTaskNumberFieldIndex = pjTaskNumber1
Case Is = CustomFieldGetName(pjTaskNumber2)
GetTaskNumberFieldIndex = pjTaskNumber2
Case Is = CustomFieldGetName(pjTaskNumber3)
GetTaskNumberFieldIndex = pjTaskNumber3
Case Is = CustomFieldGetName(pjTaskNumber4)
GetTaskNumberFieldIndex = pjTaskNumber4
Case Is = CustomFieldGetName(pjTaskNumber5)
GetTaskNumberFieldIndex = pjTaskNumber5
Case Is = CustomFieldGetName(pjTaskNumber6)
GetTaskNumberFieldIndex = pjTaskNumber6
Case Is = CustomFieldGetName(pjTaskNumber7)
GetTaskNumberFieldIndex = pjTaskNumber7
Case Is = CustomFieldGetName(pjTaskNumber8)
GetTaskNumberFieldIndex = pjTaskNumber8
Case Is = CustomFieldGetName(pjTaskNumber9)
GetTaskNumberFieldIndex = pjTaskNumber9
Case Is = CustomFieldGetName(pjTaskNumber10)
GetTaskNumberFieldIndex = pjTaskNumber10
Case Is = CustomFieldGetName(pjTaskNumber11)
GetTaskNumberFieldIndex = pjTaskNumber11
Case Is = CustomFieldGetName(pjTaskNumber12)
GetTaskNumberFieldIndex = pjTaskNumber12
Case Is = CustomFieldGetName(pjTaskNumber13)
GetTaskNumberFieldIndex = pjTaskNumber13
Case Is = CustomFieldGetName(pjTaskNumber14)
GetTaskNumberFieldIndex = pjTaskNumber14
Case Is = CustomFieldGetName(pjTaskNumber15)
GetTaskNumberFieldIndex = pjTaskNumber15
Case Is = CustomFieldGetName(pjTaskNumber16)
GetTaskNumberFieldIndex = pjTaskNumber16
Case Is = CustomFieldGetName(pjTaskNumber17)
GetTaskNumberFieldIndex = pjTaskNumber17
Case Is = CustomFieldGetName(pjTaskNumber18)
GetTaskNumberFieldIndex = pjTaskNumber18
Case Is = CustomFieldGetName(pjTaskNumber19)
GetTaskNumberFieldIndex = pjTaskNumber19
Case Is = CustomFieldGetName(pjTaskNumber20)
GetTaskNumberFieldIndex = pjTaskNumber20
End Select

End Function

Function GetTaskTextFieldIndex(ByVal FieldName As String)
' returns index = 0 on no match

FieldName = Trim(UCase(FieldName))

Select Case FieldName
' search default names
Case "TEXT1"
GetTaskTextFieldIndex = pjTaskText1
Case "TEXT2"
GetTaskTextFieldIndex = pjTaskText2
Case "TEXT3"
GetTaskTextFieldIndex = pjTaskText3
Case "TEXT4"
GetTaskTextFieldIndex = pjTaskText4
Case "TEXT5"
GetTaskTextFieldIndex = pjTaskText5
Case "TEXT6"
GetTaskTextFieldIndex = pjTaskText6
Case "TEXT7"
GetTaskTextFieldIndex = pjTaskText7
Case "TEXT8"
GetTaskTextFieldIndex = pjTaskText8
Case "TEXT9"
GetTaskTextFieldIndex = pjTaskText9
Case "TEXT10"
GetTaskTextFieldIndex = pjTaskText10
Case "TEXT11"
GetTaskTextFieldIndex = pjTaskText11
Case "TEXT12"
GetTaskTextFieldIndex = pjTaskText12
Case "TEXT13"
GetTaskTextFieldIndex = pjTaskText13
Case "TEXT14"
GetTaskTextFieldIndex = pjTaskText14
Case "TEXT15"
GetTaskTextFieldIndex = pjTaskText15
Case "TEXT16"
GetTaskTextFieldIndex = pjTaskText16
Case "TEXT17"
GetTaskTextFieldIndex = pjTaskText17
Case "TEXT18"
GetTaskTextFieldIndex = pjTaskText18
Case "TEXT19"
GetTaskTextFieldIndex = pjTaskText19
Case "TEXT20"
GetTaskTextFieldIndex = pjTaskText20
Case "TEXT21"
GetTaskTextFieldIndex = pjTaskText21
Case "TEXT22"
GetTaskTextFieldIndex = pjTaskText22
Case "TEXT23"
GetTaskTextFieldIndex = pjTaskText23
Case "TEXT24"
GetTaskTextFieldIndex = pjTaskText24
Case "TEXT25"
GetTaskTextFieldIndex = pjTaskText25
Case "TEXT26"
GetTaskTextFieldIndex = pjTaskText26
Case "TEXT27"
GetTaskTextFieldIndex = pjTaskText27
Case "TEXT28"
GetTaskTextFieldIndex = pjTaskText28
Case "TEXT29"
GetTaskTextFieldIndex = pjTaskText29
Case "TEXT30"
GetTaskTextFieldIndex = pjTaskText30
' search aliases
Case Is = CustomFieldGetName(pjTaskText1)
GetTaskTextFieldIndex = pjTaskText1
Case Is = CustomFieldGetName(pjTaskText2)
GetTaskTextFieldIndex = pjTaskText2
Case Is = CustomFieldGetName(pjTaskText3)
GetTaskTextFieldIndex = pjTaskText3
Case Is = CustomFieldGetName(pjTaskText4)
GetTaskTextFieldIndex = pjTaskText4
Case Is = CustomFieldGetName(pjTaskText5)
GetTaskTextFieldIndex = pjTaskText5
Case Is = CustomFieldGetName(pjTaskText6)
GetTaskTextFieldIndex = pjTaskText6
Case Is = CustomFieldGetName(pjTaskText7)
GetTaskTextFieldIndex = pjTaskText7
Case Is = CustomFieldGetName(pjTaskText8)
GetTaskTextFieldIndex = pjTaskText8
Case Is = CustomFieldGetName(pjTaskText9)
GetTaskTextFieldIndex = pjTaskText9
Case Is = CustomFieldGetName(pjTaskText10)
GetTaskTextFieldIndex = pjTaskText10
Case Is = CustomFieldGetName(pjTaskText11)
GetTaskTextFieldIndex = pjTaskText11
Case Is = CustomFieldGetName(pjTaskText12)
GetTaskTextFieldIndex = pjTaskText12
Case Is = CustomFieldGetName(pjTaskText13)
GetTaskTextFieldIndex = pjTaskText13
Case Is = CustomFieldGetName(pjTaskText14)
GetTaskTextFieldIndex = pjTaskText14
Case Is = CustomFieldGetName(pjTaskText15)
GetTaskTextFieldIndex = pjTaskText15
Case Is = CustomFieldGetName(pjTaskText16)
GetTaskTextFieldIndex = pjTaskText16
Case Is = CustomFieldGetName(pjTaskText17)
GetTaskTextFieldIndex = pjTaskText17
Case Is = CustomFieldGetName(pjTaskText18)
GetTaskTextFieldIndex = pjTaskText18
Case Is = CustomFieldGetName(pjTaskText19)
GetTaskTextFieldIndex = pjTaskText19
Case Is = CustomFieldGetName(pjTaskText20)
GetTaskTextFieldIndex = pjTaskText20
Case Is = CustomFieldGetName(pjTaskText21)
GetTaskTextFieldIndex = pjTaskText21
Case Is = CustomFieldGetName(pjTaskText22)
GetTaskTextFieldIndex = pjTaskText22
Case Is = CustomFieldGetName(pjTaskText23)
GetTaskTextFieldIndex = pjTaskText23
Case Is = CustomFieldGetName(pjTaskText24)
GetTaskTextFieldIndex = pjTaskText24
Case Is = CustomFieldGetName(pjTaskText25)
GetTaskTextFieldIndex = pjTaskText25
Case Is = CustomFieldGetName(pjTaskText26)
GetTaskTextFieldIndex = pjTaskText26
Case Is = CustomFieldGetName(pjTaskText27)
GetTaskTextFieldIndex = pjTaskText27
Case Is = CustomFieldGetName(pjTaskText28)
GetTaskTextFieldIndex = pjTaskText28
Case Is = CustomFieldGetName(pjTaskText29)
GetTaskTextFieldIndex = pjTaskText29
Case Is = CustomFieldGetName(pjTaskText30)
GetTaskTextFieldIndex = pjTaskText30
End Select

End Function
 
G

G Lykos

Jan, played with this some more, discovered it needed some more work, and
also I needed another lookup function to be able to feed it a custom field
alias and get back the standard field name to then feed to a filter - as
follows:

GetTaskFieldInfo.bas

Option Explicit

Private Sub TestGetTaskFieldIndex()

Dim FieldName As String
Dim Index As Long

FieldName = "EV Perf Basis"
Index = GetTaskTextFieldIndex(FieldName)
FieldName = GetTaskTextFieldName(FieldName)
FieldName = "Number2"
Index = GetTaskNumberFieldIndex(FieldName)

End Sub

Function GetTaskNumberFieldIndex(ByVal FieldName As String)
' returns index = 0 on no match

FieldName = Trim(LCase(FieldName))

Select Case FieldName
' search default names
Case "number1"
GetTaskNumberFieldIndex = pjTaskNumber1
Case "number2"
GetTaskNumberFieldIndex = pjTaskNumber2
Case "number3"
GetTaskNumberFieldIndex = pjTaskNumber3
Case "number4"
GetTaskNumberFieldIndex = pjTaskNumber4
Case "number5"
GetTaskNumberFieldIndex = pjTaskNumber5
Case "number6"
GetTaskNumberFieldIndex = pjTaskNumber6
Case "number7"
GetTaskNumberFieldIndex = pjTaskNumber7
Case "number8"
GetTaskNumberFieldIndex = pjTaskNumber8
Case "number9"
GetTaskNumberFieldIndex = pjTaskNumber9
Case "number10"
GetTaskNumberFieldIndex = pjTaskNumber10
Case "number11"
GetTaskNumberFieldIndex = pjTaskNumber11
Case "number12"
GetTaskNumberFieldIndex = pjTaskNumber12
Case "number13"
GetTaskNumberFieldIndex = pjTaskNumber13
Case "number14"
GetTaskNumberFieldIndex = pjTaskNumber14
Case "number15"
GetTaskNumberFieldIndex = pjTaskNumber15
Case "number16"
GetTaskNumberFieldIndex = pjTaskNumber16
Case "number17"
GetTaskNumberFieldIndex = pjTaskNumber17
Case "number18"
GetTaskNumberFieldIndex = pjTaskNumber18
Case "number19"
GetTaskNumberFieldIndex = pjTaskNumber19
Case "number20"
GetTaskNumberFieldIndex = pjTaskNumber20
' search aliases
Case Is = LCase(CustomFieldGetName(pjTaskNumber1))
GetTaskNumberFieldIndex = pjTaskNumber1
Case Is = LCase(CustomFieldGetName(pjTaskNumber2))
GetTaskNumberFieldIndex = pjTaskNumber2
Case Is = LCase(CustomFieldGetName(pjTaskNumber3))
GetTaskNumberFieldIndex = pjTaskNumber3
Case Is = LCase(CustomFieldGetName(pjTaskNumber4))
GetTaskNumberFieldIndex = pjTaskNumber4
Case Is = LCase(CustomFieldGetName(pjTaskNumber5))
GetTaskNumberFieldIndex = pjTaskNumber5
Case Is = LCase(CustomFieldGetName(pjTaskNumber6))
GetTaskNumberFieldIndex = pjTaskNumber6
Case Is = LCase(CustomFieldGetName(pjTaskNumber7))
GetTaskNumberFieldIndex = pjTaskNumber7
Case Is = LCase(CustomFieldGetName(pjTaskNumber8))
GetTaskNumberFieldIndex = pjTaskNumber8
Case Is = LCase(CustomFieldGetName(pjTaskNumber9))
GetTaskNumberFieldIndex = pjTaskNumber9
Case Is = LCase(CustomFieldGetName(pjTaskNumber10))
GetTaskNumberFieldIndex = pjTaskNumber10
Case Is = LCase(CustomFieldGetName(pjTaskNumber11))
GetTaskNumberFieldIndex = pjTaskNumber11
Case Is = LCase(CustomFieldGetName(pjTaskNumber12))
GetTaskNumberFieldIndex = pjTaskNumber12
Case Is = LCase(CustomFieldGetName(pjTaskNumber13))
GetTaskNumberFieldIndex = pjTaskNumber13
Case Is = LCase(CustomFieldGetName(pjTaskNumber14))
GetTaskNumberFieldIndex = pjTaskNumber14
Case Is = LCase(CustomFieldGetName(pjTaskNumber15))
GetTaskNumberFieldIndex = pjTaskNumber15
Case Is = LCase(CustomFieldGetName(pjTaskNumber16))
GetTaskNumberFieldIndex = pjTaskNumber16
Case Is = LCase(CustomFieldGetName(pjTaskNumber17))
GetTaskNumberFieldIndex = pjTaskNumber17
Case Is = LCase(CustomFieldGetName(pjTaskNumber18))
GetTaskNumberFieldIndex = pjTaskNumber18
Case Is = LCase(CustomFieldGetName(pjTaskNumber19))
GetTaskNumberFieldIndex = pjTaskNumber19
Case Is = LCase(CustomFieldGetName(pjTaskNumber20))
GetTaskNumberFieldIndex = pjTaskNumber20
End Select

End Function
Function GetTaskNumberFieldName(ByVal FieldName As String)
' returns name = "" on no match

FieldName = Trim(LCase(FieldName))

Select Case FieldName
' search aliases
Case Is = LCase(CustomFieldGetName(pjTaskNumber1))
GetTaskNumberFieldName = "Number1"
Case Is = LCase(CustomFieldGetName(pjTaskNumber2))
GetTaskNumberFieldName = "Number2"
Case Is = LCase(CustomFieldGetName(pjTaskNumber3))
GetTaskNumberFieldName = "Number3"
Case Is = LCase(CustomFieldGetName(pjTaskNumber4))
GetTaskNumberFieldName = "Number4"
Case Is = LCase(CustomFieldGetName(pjTaskNumber5))
GetTaskNumberFieldName = "Number5"
Case Is = LCase(CustomFieldGetName(pjTaskNumber6))
GetTaskNumberFieldName = "Number6"
Case Is = LCase(CustomFieldGetName(pjTaskNumber7))
GetTaskNumberFieldName = "Number7"
Case Is = LCase(CustomFieldGetName(pjTaskNumber8))
GetTaskNumberFieldName = "Number8"
Case Is = LCase(CustomFieldGetName(pjTaskNumber9))
GetTaskNumberFieldName = "Number9"
Case Is = LCase(CustomFieldGetName(pjTaskNumber10))
GetTaskNumberFieldName = "Number10"
Case Is = LCase(CustomFieldGetName(pjTaskNumber11))
GetTaskNumberFieldName = "Number11"
Case Is = LCase(CustomFieldGetName(pjTaskNumber12))
GetTaskNumberFieldName = "Number12"
Case Is = LCase(CustomFieldGetName(pjTaskNumber13))
GetTaskNumberFieldName = "Number13"
Case Is = LCase(CustomFieldGetName(pjTaskNumber14))
GetTaskNumberFieldName = "Number14"
Case Is = LCase(CustomFieldGetName(pjTaskNumber15))
GetTaskNumberFieldName = "Number15"
Case Is = LCase(CustomFieldGetName(pjTaskNumber16))
GetTaskNumberFieldName = "Number16"
Case Is = LCase(CustomFieldGetName(pjTaskNumber17))
GetTaskNumberFieldName = "Number17"
Case Is = LCase(CustomFieldGetName(pjTaskNumber18))
GetTaskNumberFieldName = "Number18"
Case Is = LCase(CustomFieldGetName(pjTaskNumber19))
GetTaskNumberFieldName = "Number19"
Case Is = LCase(CustomFieldGetName(pjTaskNumber20))
GetTaskNumberFieldName = "Number20"
End Select

End Function

Function GetTaskTextFieldIndex(ByVal FieldName As String)
' returns index = 0 on no match

FieldName = Trim(LCase(FieldName))

Select Case FieldName
' search default names
Case "text1"
GetTaskTextFieldIndex = pjTaskText1
Case "text2"
GetTaskTextFieldIndex = pjTaskText2
Case "text3"
GetTaskTextFieldIndex = pjTaskText3
Case "text4"
GetTaskTextFieldIndex = pjTaskText4
Case "text5"
GetTaskTextFieldIndex = pjTaskText5
Case "text6"
GetTaskTextFieldIndex = pjTaskText6
Case "text7"
GetTaskTextFieldIndex = pjTaskText7
Case "text8"
GetTaskTextFieldIndex = pjTaskText8
Case "text9"
GetTaskTextFieldIndex = pjTaskText9
Case "text10"
GetTaskTextFieldIndex = pjTaskText10
Case "text11"
GetTaskTextFieldIndex = pjTaskText11
Case "text12"
GetTaskTextFieldIndex = pjTaskText12
Case "text13"
GetTaskTextFieldIndex = pjTaskText13
Case "text14"
GetTaskTextFieldIndex = pjTaskText14
Case "text15"
GetTaskTextFieldIndex = pjTaskText15
Case "text16"
GetTaskTextFieldIndex = pjTaskText16
Case "text17"
GetTaskTextFieldIndex = pjTaskText17
Case "text18"
GetTaskTextFieldIndex = pjTaskText18
Case "text19"
GetTaskTextFieldIndex = pjTaskText19
Case "text20"
GetTaskTextFieldIndex = pjTaskText20
Case "text21"
GetTaskTextFieldIndex = pjTaskText21
Case "text22"
GetTaskTextFieldIndex = pjTaskText22
Case "text23"
GetTaskTextFieldIndex = pjTaskText23
Case "text24"
GetTaskTextFieldIndex = pjTaskText24
Case "text25"
GetTaskTextFieldIndex = pjTaskText25
Case "text26"
GetTaskTextFieldIndex = pjTaskText26
Case "text27"
GetTaskTextFieldIndex = pjTaskText27
Case "text28"
GetTaskTextFieldIndex = pjTaskText28
Case "text29"
GetTaskTextFieldIndex = pjTaskText29
Case "text30"
GetTaskTextFieldIndex = pjTaskText30
' search aliases
Case Is = LCase(CustomFieldGetName(pjTaskText1))
GetTaskTextFieldIndex = pjTaskText1
Case Is = LCase(CustomFieldGetName(pjTaskText2))
GetTaskTextFieldIndex = pjTaskText2
Case Is = LCase(CustomFieldGetName(pjTaskText3))
GetTaskTextFieldIndex = pjTaskText3
Case Is = LCase(CustomFieldGetName(pjTaskText4))
GetTaskTextFieldIndex = pjTaskText4
Case Is = LCase(CustomFieldGetName(pjTaskText5))
GetTaskTextFieldIndex = pjTaskText5
Case Is = LCase(CustomFieldGetName(pjTaskText6))
GetTaskTextFieldIndex = pjTaskText6
Case Is = LCase(CustomFieldGetName(pjTaskText7))
GetTaskTextFieldIndex = pjTaskText7
Case Is = LCase(CustomFieldGetName(pjTaskText8))
GetTaskTextFieldIndex = pjTaskText8
Case Is = LCase(CustomFieldGetName(pjTaskText9))
GetTaskTextFieldIndex = pjTaskText9
Case Is = LCase(CustomFieldGetName(pjTaskText10))
GetTaskTextFieldIndex = pjTaskText10
Case Is = LCase(CustomFieldGetName(pjTaskText11))
GetTaskTextFieldIndex = pjTaskText11
Case Is = LCase(CustomFieldGetName(pjTaskText12))
GetTaskTextFieldIndex = pjTaskText12
Case Is = LCase(CustomFieldGetName(pjTaskText13))
GetTaskTextFieldIndex = pjTaskText13
Case Is = LCase(CustomFieldGetName(pjTaskText14))
GetTaskTextFieldIndex = pjTaskText14
Case Is = LCase(CustomFieldGetName(pjTaskText15))
GetTaskTextFieldIndex = pjTaskText15
Case Is = LCase(CustomFieldGetName(pjTaskText16))
GetTaskTextFieldIndex = pjTaskText16
Case Is = LCase(CustomFieldGetName(pjTaskText17))
GetTaskTextFieldIndex = pjTaskText17
Case Is = LCase(CustomFieldGetName(pjTaskText18))
GetTaskTextFieldIndex = pjTaskText18
Case Is = LCase(CustomFieldGetName(pjTaskText19))
GetTaskTextFieldIndex = pjTaskText19
Case Is = LCase(CustomFieldGetName(pjTaskText20))
GetTaskTextFieldIndex = pjTaskText20
Case Is = LCase(CustomFieldGetName(pjTaskText21))
GetTaskTextFieldIndex = pjTaskText21
Case Is = LCase(CustomFieldGetName(pjTaskText22))
GetTaskTextFieldIndex = pjTaskText22
Case Is = LCase(CustomFieldGetName(pjTaskText23))
GetTaskTextFieldIndex = pjTaskText23
Case Is = LCase(CustomFieldGetName(pjTaskText24))
GetTaskTextFieldIndex = pjTaskText24
Case Is = LCase(CustomFieldGetName(pjTaskText25))
GetTaskTextFieldIndex = pjTaskText25
Case Is = LCase(CustomFieldGetName(pjTaskText26))
GetTaskTextFieldIndex = pjTaskText26
Case Is = LCase(CustomFieldGetName(pjTaskText27))
GetTaskTextFieldIndex = pjTaskText27
Case Is = LCase(CustomFieldGetName(pjTaskText28))
GetTaskTextFieldIndex = pjTaskText28
Case Is = LCase(CustomFieldGetName(pjTaskText29))
GetTaskTextFieldIndex = pjTaskText29
Case Is = LCase(CustomFieldGetName(pjTaskText30))
GetTaskTextFieldIndex = pjTaskText30
End Select

End Function

Function GetTaskTextFieldName(ByVal FieldName As String)
' returns name = "" on no match

FieldName = Trim(LCase(FieldName))

Select Case FieldName
' search aliases
Case Is = LCase(CustomFieldGetName(pjTaskText1))
GetTaskTextFieldName = "Text1"
Case Is = LCase(CustomFieldGetName(pjTaskText2))
GetTaskTextFieldName = "Text2"
Case Is = LCase(CustomFieldGetName(pjTaskText3))
GetTaskTextFieldName = "Text3"
Case Is = LCase(CustomFieldGetName(pjTaskText4))
GetTaskTextFieldName = "Text4"
Case Is = LCase(CustomFieldGetName(pjTaskText5))
GetTaskTextFieldName = "Text5"
Case Is = LCase(CustomFieldGetName(pjTaskText6))
GetTaskTextFieldName = "Text6"
Case Is = LCase(CustomFieldGetName(pjTaskText7))
GetTaskTextFieldName = "Text7"
Case Is = LCase(CustomFieldGetName(pjTaskText8))
GetTaskTextFieldName = "Text8"
Case Is = LCase(CustomFieldGetName(pjTaskText9))
GetTaskTextFieldName = "Text9"
Case Is = LCase(CustomFieldGetName(pjTaskText10))
GetTaskTextFieldName = "Text10"
Case Is = LCase(CustomFieldGetName(pjTaskText11))
GetTaskTextFieldName = "Text11"
Case Is = LCase(CustomFieldGetName(pjTaskText12))
GetTaskTextFieldName = "Text12"
Case Is = LCase(CustomFieldGetName(pjTaskText13))
GetTaskTextFieldName = "Text13"
Case Is = LCase(CustomFieldGetName(pjTaskText14))
GetTaskTextFieldName = "Text14"
Case Is = LCase(CustomFieldGetName(pjTaskText15))
GetTaskTextFieldName = "Text15"
Case Is = LCase(CustomFieldGetName(pjTaskText16))
GetTaskTextFieldName = "Text16"
Case Is = LCase(CustomFieldGetName(pjTaskText17))
GetTaskTextFieldName = "Text17"
Case Is = LCase(CustomFieldGetName(pjTaskText18))
GetTaskTextFieldName = "Text18"
Case Is = LCase(CustomFieldGetName(pjTaskText19))
GetTaskTextFieldName = "Text19"
Case Is = LCase(CustomFieldGetName(pjTaskText20))
GetTaskTextFieldName = "Text20"
Case Is = LCase(CustomFieldGetName(pjTaskText21))
GetTaskTextFieldName = "Text21"
Case Is = LCase(CustomFieldGetName(pjTaskText22))
GetTaskTextFieldName = "Text22"
Case Is = LCase(CustomFieldGetName(pjTaskText23))
GetTaskTextFieldName = "Text23"
Case Is = LCase(CustomFieldGetName(pjTaskText24))
GetTaskTextFieldName = "Text24"
Case Is = LCase(CustomFieldGetName(pjTaskText25))
GetTaskTextFieldName = "Text25"
Case Is = LCase(CustomFieldGetName(pjTaskText26))
GetTaskTextFieldName = "Text26"
Case Is = LCase(CustomFieldGetName(pjTaskText27))
GetTaskTextFieldName = "Text27"
Case Is = LCase(CustomFieldGetName(pjTaskText28))
GetTaskTextFieldName = "Text28"
Case Is = LCase(CustomFieldGetName(pjTaskText29))
GetTaskTextFieldName = "Text29"
Case Is = LCase(CustomFieldGetName(pjTaskText30))
GetTaskTextFieldName = "Text30"
End Select

End Function
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top