Hello Green4Ever,
Your statement is generating the same value for the second InStr that it did for the first InStr. You are ending up with help = Mid$(DTSSOURCE("VARIABLES"),N,-3). You need to change Instr(InStr( 1 , DTSSource("VARIABLES") , "&PN=" , 1 ), DTSSource("VARIABLES"),"&",1) to Instr(InStr( 1 , DTSSource("VARIABLES") , "&PN=" , 1 )+1, DTSSource("VARIABLES"),"&",1) to correct this.
You could also try setting a variable = InStr(1,DTSSOURCE("VARIABLES"),"&PN=",1) outside the expression to make it easier to read and faster to execute as follows.
lclSplit = InStr( 1 , DTSSource("VARIABLES") , "&PN=" , 1 )
help = mid( DTSSource("VARIABLES") , lclSplit+3, Instr(lclSplit+1, DTSSource("VARIABLES"),"&",1) - lclSplit+3)
Good Luck with your strings,