>I'm looking for some online resources regarding accessing ACT! (Symantec PIM) data from VFP. I'd rather not have to purchase CodeBase.
>
>In particular, I'm looking for:
>
>1) How they generate their UNIQUE_ID field. It is a base 62 number. I'm wondering if they just generate a unique_id and then check for a collision.
>
>2) Where/how to get to the Notes/History entries.
>I've got most of the other tables figured out.
There is a SDK available from Symantec that allows reading the notes/history records. Here is the code that I used:
IF type('dbName') = "U"
PUBLIC dbname
ENDIF
dbname = "client.DBF"
*!* *thisform.olecontrol2.printerSelect()
*!* IF file('I:\ACT\DATABASE\CLIENT.HDB')
*!* * wait window 'Loading from Server - Press a key to continue'
*!* ThisForm.Olecontrol1.object.reportfilename = 'C:\TAP\EXPORT1I.RPT'
*!* else
*!* ThisForm.Olecontrol1.object.reportfilename = 'C:\TAP\EXPORT1.RPT'
*!* ENDIF
*!* thisform.olecontrol1.printreport()
SET SAFETY OFF
objDatabase = CreateObject("ACTOLE.DATABASE")
objDatabase.Open(dbname)
*
* perform login validation
*
IF !thisform.Login()
WAIT window "Failed user validation process!!!"
ENDIF
*** 'Check if version of the ACTOLE.dll is 3.06 or greater (3.05 returns a 1 )'
IF objDatabase.MajorVersion = 1
=MsgBox("You have an ACTOLE.dll older than version 3.06." + ;
Chr(13) + "This function needs the new features. Please Update and Retry! ")
objDatabase.Close
RETURN .f.
ENDIF
create TABLE EXPORT1 ( A C(12), B C(20), D N(2), E C(100) )
**SUSPEND
objNoteHistory = objDatabase.NOTEHISTORY
objNoteHistory.MoveFirst
A = objNoteHistory.Data(1)
D = val(objNoteHistory.Data(25))
E = objNoteHistory.Data(26)
B = DTOC(objNoteHistory.Data(200))
insert into export1 from memvar
counter = 0
DO while .t.
objNoteHistory.Movenext
IF objNoteHistory.Iseof
exit
else
A = objNoteHistory.Data(1)
D = val(objNoteHistory.Data(25))
E = objNoteHistory.Data(26)
B = DTOC(objNoteHistory.Data(200))
insert into export1 from memvar
ENDIF
* ? fld1 + fld2 + fld3 + dtoc(fld4)
counter = counter + 1
if mod(counter,100) = 0
wait window nowait 'Loading data ' + alltrim(str(counter)) + ' records read.'
endif
ENDDO
wait clear
objDatabase.close
>
>TIA, Ben
>
>Ben Holton
>ACG Software, Inc.
>Dunwoody, GA
Previous
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only