Solved

ActivexX InputBox

Posted on 2004-09-08
11
445 Views
Last Modified: 2008-03-17
Hi,

In ActiveX, is there a way to take imput from user and then do some validation.  User can click on eithere OK or CANCEL to proceed or quit DTS?  Thx
0
Comment
Question by:mcrmg
  • 5
  • 4
  • 2
11 Comments
 
LVL 12

Expert Comment

by:patrikt
Comment Utility
Who do you suppose is user? DTS package is running on server in server service context. It has no user interface and no user to ask.

Patrik
0
 

Author Comment

by:mcrmg
Comment Utility
lol............

You are right........ I meant the person who use this DTS.... (in this case, it would be me........)

Sorry for the confusion...
0
 
LVL 75

Expert Comment

by:Anthony Perkins
Comment Utility
Add an ActiveX script and use something like this:

Function Main()
Dim Value
Dim IsValid

Value = InputBox("Enter value here", "")
'  Do validation here and set the IsValid variable appropriately

If IsValid Then
      Main = DTSTaskExecResult_Success
Else
      Main = DTSTaskExecResult_Failure
End If

End Function

Then set your Workflow to only proceed if the previous task is successful.

And finally, don't even attempt to schedule this DTS package :)
0
 

Author Comment

by:mcrmg
Comment Utility
This is what I try to do, something like this:

When I enter a value, say, 9

it will take that 9 and show in msgbox, say, September

If I click on OK, DTS will proceed, if I clcik on CANCEL, DTS will quit. possible?  Thx

0
 
LVL 12

Accepted Solution

by:
patrikt earned 170 total points
Comment Utility
Code sample:

First ActiveX script.It takes value and validates it. If valid it goes to next step.

Function Main()
      Value=InputBox("Give me value", 0  )
      If Value>12 or Value<1 Then
            Main=DTSTaskExecResult_Failure
      else
            DTSGlobalVariables("Month").Value=Value
            Main = DTSTaskExecResult_Success
      end if
            
End Function

Secon ActiveX script. It displays value and by user response it results as Success or failure.

Function Main()
      OK=MsgBox( "This is correct value:" + DTSGlobalVariables("Month").Value,  vbYesNo)
      If OK=vbYes Then
            Main = DTSTaskExecResult_Success
      ELSE
            Main =DTSTaskExecResult_Failure
      end if
End Function

For value storrage it uses Global variable "Month". You define global variables in package properties.

Patrik
0
Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

 
LVL 75

Assisted Solution

by:Anthony Perkins
Anthony Perkins earned 150 total points
Comment Utility
>>If I click on OK, DTS will proceed, if I clcik on CANCEL, DTS will quit. possible? <<
Yes.  Something like this:

Function Main()
Dim Value
Dim IsValid

IsValid = False

Value = Trim(InputBox("Enter value here", ""))
If IsNumeric(Value) Then
   If Len(Value) <= 2 Then
      If Value >= 1 And Value <= 12 Then
         If MsgBox("Did you really want " & MonthName(Value) & "?", vbYesNo) = vbYes Then
            IsValid = True
         End If
      End If
   End If
End If

If IsValid Then
     Main = DTSTaskExecResult_Success
Else
     Main = DTSTaskExecResult_Failure
End If

End Function
0
 

Author Comment

by:mcrmg
Comment Utility
Hi,

I was trying the code, then for some reason that I can not find the panel that I can put in the code.  When double click on Activex in dts, it pops up ActiveX Script Task Properties, How can I open the panel that I can write the code?  Thx
0
 

Author Comment

by:mcrmg
Comment Utility
usually, there is "language" on left hand side, and a panel for coding on right hand side, the one on right hand side disappeared.......
0
 
LVL 75

Expert Comment

by:Anthony Perkins
Comment Utility
>>When double click on Activex in dts, it pops up ActiveX Script Task Properties, How can I open the panel that I can write the code?<<
No idea what could be happening.  I just created a new package and single clicked on the ActiveX Script Task icon on the left and the new window opened to enter the code.
0
 

Author Comment

by:mcrmg
Comment Utility
very strange, if I work on the server directly, it is fine.  But if I open it on client, I do not have edit area.......
0
 
LVL 75

Assisted Solution

by:Anthony Perkins
Anthony Perkins earned 150 total points
Comment Utility
Not sure.  Perhaps it is time to re-install the client components.
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Ranking Based On Value 3 28
Distinct values from two tables 14 16
SQL Script to find duplicates 16 17
Report Builder 9 22
When you hear the word proxy, you may become apprehensive. This article will help you to understand Proxy and when it is useful. Let's talk Proxy for SQL Server. (Not in terms of Internet access.) Typically, you'll run into this type of problem w…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now