Kbase 21840: ACTIVEX -- How To Create Records In MS Access Using Forms
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  27/02/2002 |
|
SUMMARY:
This Solution shows you a way you can create records through existing Microsoft Access forms. In the sample code below, a record is inserted into a MS Access database via a Form called "customer", containing 2 fields: CustNum and Name.
SOLUTION:
/* Data Mode */
&GLOBAL-DEFINE acFormAdd 0.
&GLOBAL-DEFINE acFormEdit 1.
/* View */
&GLOBAL-DEFINE acNormal 0.
&GLOBAL-DEFINE acFormDS 3.
/* Object type */
&GLOBAL-DEFINE acForm 2 .
/* Save */
&GLOBAL-DEFINE acSavePrompt 0.
&GLOBAL-DEFINE acSaveYes 1.
&GLOBAL-DEFINE acSaveNo 2.
DEFINE VARIABLE hAccess AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE hForm AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE iView AS INTEGER NO-UNDO.
DEFINE VARIABLE iObjType AS INTEGER NO-UNDO.
DEFINE VARIABLE iDataMode AS INTEGER NO-UNDO.
DEFINE VARIABLE iSave AS INTEGER NO-UNDO.
DEFINE VARIABLE iQuit AS INTEGER NO-UNDO.
iDataMode = {&acFormAdd}
iView = {&acNormal}
iObjType = {&acForm}
iSave = {&acSaveYes}
iQuit = {&acSaveYes}
CREATE "Access.Application" hAccess.
/* Open athe MS Access database */
hAccess:OpenCurrentDatabase("C:\work\91c\sports.mdb", NO).
/* Open the Form named "Customer" in "Add" mode */
hAccess:DoCmd:OpenForm("customer",iView,,,iDataMode,).
hAccess:Visible = TRUE.
hForm = hAccess:Forms:Item(0).
/* Assign each field of the form */
hForm:Controls("CustNum") = 85.
hForm:Controls("Name") = "PSC".
/* Close the Form */
hAccess:DoCmd:Close(iObjType, "customer", iSave ) .
/* Close the MS Access Database */
hAccess:CloseCurrentDatabase.
/* Quit MS Access */
hAccess:Quit(iQuit).
/* Release COM objects */
RELEASE OBJECT hForm.
RELEASE OBJECT hAccess.