Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 376
  • Last Modified:

DTS Conversion Problem w/ActiveX Script

I have the following code. The problem is that the source cell (BTN) can be either empty (NULL), be a number formatted as text, or be stored as a number. When I run the transformation, it sees any row that has a number, stored as a number, as NULL and will not import it. I have tried using CStr() around the source value, but that does not seem to help. Any ideas?
Function Main()
	If IsNull(DTSSource("BTN")) Then
	    Main = DTSTransformStat_SkipRow
	    Exit Function
	ElseIf IsNumeric(DTSSource("BTN")) Then
	    DTSDestination("BTN") = CDbl(DTSSource("BTN"))
	End If
	DTSDestination("RequestID") = DTSSource("RqstID")
	Main = DTSTransformStat_OK
End Function

Open in new window

0
dbbishop
Asked:
dbbishop
  • 3
  • 3
1 Solution
 
Anthony PerkinsCommented:
Assuming this is a text file, please post some sample data that presents that problem.
0
 
dbbishopAuthor Commented:
I am importing two columns on the worksheet. The column represented as BTN is either a 10 or 13-digit number. On the worksheet, some of the colums are represented as number formatted as text, some are text (e.g. preceeded by an apostrophe "'") which is ignored by DTS, and some are actually sotred as numbers in a numeric format.

I have one file that only had about 40 rows, so I put a msgbox ahead of the If...Then...Else statement to show the value. With those that had the data in the cell in a numeric format, then MsgBox(DTSSource("BTN")) showed a value of NULL.
0
 
dbbishopAuthor Commented:
btw, I am importing from a sheet in an Excel workbook.
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
Anthony PerkinsCommented:
Than this should help:
Excel Inserts Null Values
http://www.sqldts.com/254.aspx
0
 
dbbishopAuthor Commented:
acperkins: I tried the example they showed by using an ActiveX script and that does not appear to help with the problem. One thing is that there can be a datatype change within the first eight rows.

The user sends me data that i copy/paste into a template spreadsheet and then run a DTS package that does a return-trip process (imports the data, runs an EXECUTE SQL task to pull data from other tables, then exports the data back to another sheet in the workbook.

I've advised the user to make sure all data is formatted as text, and I've started eyeballing it before running the package (which is basically fix #1 of the article), so I will just continue to go that route, although it would be nice if the script handled the problem.

Doug
0
 
Anthony PerkinsCommented:
>>I tried the example they showed by using an ActiveX script and that does not appear to help with the problem. <<
This is exactly what we use.  So if it does not work for you, than I am afraid I have no idea.

Good luck.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now