[AccessD] From a reader

Jim Dettman jimdettman at verizon.net
Wed Aug 27 15:03:48 CDT 2008


  DDE?  Yikes.  DDE was never very reliable.  It was a serial
command/response setup and any number of things can go wrong giving you a
timeout.

  I certainly would not call myself an Expert on it, but I do have some
suggestions they can try:

1. Place a DoEvents in a loop after each command or use something like the
wait function shown below.  IF I remember correctly, DDE messages are passed
through a queue.  If there a lot of commands quickly and the OS starts to
fall behind, timeouts will occur.

2. If they have not already done so, increase the DDE timeout
(tools/options/advanced).

3. Leave the retry loops in and try decreasing the DDE refresh interval.  I
would think this would be the least desirable choice though as it may
compound any timeout problem that is occurring.

HTH,
Jim.

Function Wait(intSeconds As Integer) As Integer

    Dim datCurDateTime As Date
    datCurDateTime = Now
    
    Do Until DateDiff("s", datCurDateTime, Now) > intSeconds
      DoEvents
    Loop
    
End Function



-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins
Sent: Tuesday, August 26, 2008 5:46 PM
To: AccessD at databaseadvisors.com
Subject: [AccessD] From a reader

RE: Know a DDE expert?Okay, this is from a reader -- on DDE and I haven't a 
clue... my first suggestion is to check the actual data, but you know how 
helpful that is...

Hi Susan,

The server at issue is a broker www.thinkorswim.com.
The following, placed in an Excel cell, works 100% of the time:

=TOS|BID!'.DIAHI' (TOS=server name, BID = datafield, .DIAHI=option symbol

aka OPRA symbol)

Trying to obtain the same data in Access VBA (below) works about 95% of the

time.

I've tried adding extra loops, putting a time delay in and it didn't fix it.

The broker (barely) supports the spreadsheet interface and won't help with

this code problem - I asked.

I'm using 3 DDE functions: DDEInitiate, DDERequest and DDETerminate.

I *think* doing it the Excel way is equivilent to doing it in VB with the

DDE function in a ControlSource property. But that has to be done at design

time only. The ControlSource property becomes read only.

I need to retrieve this data for dozens of symbols that are always changing.

The way the server works, if data is not available it returns a "N/A",

otherwise it returns a number.

I've been trying to solve this for several days and doing a lot of testing.

I might have data on 20 symbols I'm trying to retrieve and Access will

return data on 17. Excel will do all 20.

On the 3 that don't work in Access, Excel will sometimes return a "N/A", but

then a split second later change it to a valid number. The DDE

communication in Excel is continuous.

When Access fails, I tried making the loop try 100 or 200 times, but once it

fails, Access just can't retrieve the value.

Another interesting observation. If Access fails on a symbol, then I do it

in Excel and it succeeds, Access will then also succeed. It seems the data

is being cached(?) and then becomes available to Access.

I might be able to create a workaround if I understood better what is

happening. I don't really understand why Access fails for only certain

symbols but Excel works for all.

Brooks

  -----Original Message-----
  From: Susan Harkins [mailto:ssharkins at gmail.com]
  Sent: Tuesday, August 26, 2008 3:07 PM
  To: brooks at rimesrv.net
  Subject: Re: Know a DDE expert?


  Dear Brooks;

      I don't know whether I can help you or not, but you can certainly ask.

  Regards,
  Susan Harkins



----------------------------------------------------------------------------
    From: Brooks Rimes [mailto:brooks at rimesrv.net]
    Sent: Tuesday, August 26, 2008 9:55 AM
    To: Jody Gilbert
    Subject: RE: Know a DDE expert?


    Hi Jody,

    DDE is the only data interface that my broker supports 
(www.thinkorswim.com).

    http://www.thinkorswim.com/notices/Release_083006.html

    The problem is that it work great in Excel but less reliably in Access 
with VBA code.  I have code and examples.

    Could I try writing to Susan?

    Thanks,

    Brooks
      -----Original Message-----
      From: Jody Gilbert [mailto:jody.gilbert at cnet.com]
      Sent: Tuesday, August 26, 2008 9:03 AM
      To: Brooks Rimes
      Subject: RE: Know a DDE expert?


      Brooks,

      I checked with Susan Harkins, my Office/VBA expert, and she replied:



      Wow... that's a really old technology (Windows 3). You might want to 
ask if they're looking for information on the following -- or something 
else.

      Dynamic Data Exchange - (DDE, originally Dynamic Data Linking, DDL) A 
Microsoft Windows 3 hotlink protocol that allows application programs to 
communicate using a client-server model. Whenever the server (or 
"publisher") modifies part of a document which is being shared via DDE, one 
or more clients ("subscribers") are informed and include the modification in

the copy of the data on which they are working.

      If it's the above, they can ask me, but I doubt I'll remember and I'm 
not running any Windows 3 systems to check. If they don't need DDE, but are 
just using an older term, anybody with some Office development experience 
can probably help.



      Are you working on an older system? I guess we need to know what 
you're working on before figuring out what or who to suggest!

      Best,
      j



      -----Original Message----- 
      From: Brooks Rimes [mailto:brooks at rimesrv.net]
      Sent: Monday, August 25, 2008 6:21 PM
      To: Jody Gilbert
      Subject: RE: Know a DDE expert?

      Thank you, it's appreciated.

      Brooks

      -----Original Message----- 
      From: Jody Gilbert [mailto:jody.gilbert at cnet.com]
      Sent: Monday, August 25, 2008 2:46 PM
      To: brooks at rimesrv.net
      Subject: RE: Know a DDE expert?



      Not off the top of my head... Let me check around.
      j

      -----Original Message----- 
      From: brooks at rimesrv.net [mailto:brooks at rimesrv.net]
      Sent: Saturday, August 23, 2008 3:03 PM
      To: Jody Gilbert
      Subject: Know a DDE expert?

      Hi Jody,

      Do you know anyone who might be able to answer an advanced DDE 
question?

      Thank you.

      Brooks Rimes
      Access MCP
      Internal Virus Database is out of date.
      Checked by AVG - http://www.avg.com
      Version: 8.0.138 / Virus Database: 270.5.5/1569 - Release Date: 
7/23/2008
      1:31 PM

-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list