| 
 | 
Hi John,
Thanks for the offer of taking it offline, but as I was composing the email
to send to you offline, I found the solution. Read on.
As I noted in the last email you replied to, I used this code
    Dim fld As ADODB.Field
    For Each fld In AS400rs.Fields
        Debug.Print fld.Name
        Debug.Print fld.ActualSize
        Debug.Print fld.DefinedSize
        Debug.Print fld.Type
    Next
to produce these results:
RTCODE
   2
   10
   200
RTDESC
  13
  50
  200
RTAMT
  16
 -1
  14
The suspicious thing is the defined size for RTAMT, -1. It's actually 11.2
packed. Which makes the actual size odd also, unless it's talking about the
actual size on the PC side. There it's simply defined as type Currency,
which does occupy 16 bytes as I recall. The type of 14 is adDecimal (I did
?adDecimal in the debug window to verify that).
I added debug.print fld.value and it gets the usual "Invalid procedure call
or argument" error when it gets to RTAMT.
The source of data is a table (i.e. physical file):
  AS400con.ConnectionString = "Provider=IBMDA400; Data
Source=NETSHARE_TS400D;"
  AS400con.CommandTimeout = 15
  AS400con.CursorLocation = adUseClient
  AS400con.Open
  AS400cmd.ActiveConnection = AS400con
  AS400cmd.CommandType = adCmdText
  AS400cmd.CommandText = "SELECT * FROM PDOWD.RATEP"
  AS400cmd.Prepared = True
At this point I tried specifying the fields in the SELECT stmt, i.e.
  AS400cmd.CommandText = "SELECT RTCODE,RTDESC,RTAMT FROM PDOWD.RATEP"
and it worked! So it looks like IBM's ADO provider doesn't handle * very
well. But at least I have a solution.
Thanks for all your efforts!
Peter Dow
Dow Software Services, Inc.
909 425-0194 voice
909 425-0196 fax
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.