Преобразовать в текстовый формат в Excel - PullRequest
0 голосов
/ 04 октября 2010

Я извлекаю некоторые данные из AS400 с помощью макроса Excel.В AS400 этот конкретный столбец (Ref) показывает 20100729000078154, но когда я извлек его в Excel, он будет 2.01007E + 16.Мне нужно hv 20100729000078154 как мой окончательный вывод.Это макрос, который я использовал для извлечения информации из AS400: -

Sub Extract()

Dim StrSQl As String

FromA = Format(Sheet1.Range("B3"))
FromB = Format(Sheet1.Range("B4"))
FromC = Format(Sheet1.Range("B5"))
FromD = Format(Sheet1.Range("B6"))

StrSQl = "select Cno,Itno,Ref from test "
StrSQl = StrSQl & " where Cno= " & FromA & " and Itno like " & FromB & " and "
StrSQl = StrSQl & " Ref >= " & FromC & " and  Ref <= " & FromD & " "
StrSQl = StrSQl & " order by Cno "

con = "Provider=IBMDA400;Data Source=xxx.xxx.xxx.xxx;User Id=yyyyy;Password=zzzzz"

Set Db = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.recordset")
Db.ConnectionString = con
Db.Open


rs.Open StrSQl, Db, 3, 3

Sheet2.Cells(1, 1).CopyFromRecordset rs

rs.Close

Set rs = Nothing
Set cn = Nothing

End Sub

1 Ответ

4 голосов
/ 04 октября 2010

Вы можете поставить префикс апострофу, если хотите, чтобы столбец отображался как текст, что-то вроде (при условии, что один литерал апострофа может быть выражен как '' в iSeries SQL) ...

StrSQl = "select Cno,Itno,CONCAT('''',Ref) as Ref from test "
...