Solved

# DTS Conversion Problem w/ActiveX Script

Posted on 2007-12-04
356 Views
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
``````
0
Question by:dbbishop
• 3
• 3

LVL 75

Expert Comment

ID: 20404861
Assuming this is a text file, please post some sample data that presents that problem.
0

LVL 15

Author Comment

ID: 20406107
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

LVL 15

Author Comment

ID: 20406113
btw, I am importing from a sheet in an Excel workbook.
0

LVL 75

Accepted Solution

Anthony Perkins earned 250 total points
ID: 20408370
Than this should help:
Excel Inserts Null Values
http://www.sqldts.com/254.aspx
0

LVL 15

Author Comment

ID: 20416073
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

LVL 75

Expert Comment

ID: 20416663
>>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

## Featured Post

### Suggested Solutions

In this article—a derivative of my DaytaBase.org blog post (http://daytabase.org/2011/06/18/what-week-is-it/)—I will explore a few different perspectives on which week today's date falls within using Microsoft SQL Server. First, to frame this stu…
Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
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