Access Cookbook, 2nd Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Access Cookbook, 2nd Edition [Electronic resources] - نسخه متنی

Ken Getz; Paul Litwin; Andy Baron

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










Recipe 16.4 Execute a Smart Tag Action Without Displaying the Smart Tag



16.4.1 Problem


In my application I would like to use the Financial Symbol smart tag so that users
will be directed to the Stock Quote on MSN MoneyCentral. I
don't want to display the smart tag, which also
presents two additional actionsthis might confuse the user.
How can I configure a combo box control so that when the user selects
a symbol, the Stock Quote on MSN MoneyCentral is
automatically displayed in a browser window?


16.4.2 Solution


The built-in smart tags that ship with Access are somewhat limited in
that they do not allow you to configure them by adding or removing
actions. The Financial Symbol smart tag looks up
information about a financial symbol on MSN MoneyCentral, allowing
you to take the following actions:

  • Obtain a stock quote on MSN MoneyCentral.

  • Obtain a report about the company on MSN MoneyCentral.

  • Obtain recent news about the company on MSN MoneyCentral.


In Access, you enable the Financial Symbol smart tag on a field or
control that contains a financial symbolthe familiar
abbreviations seen on stock tickers.

To execute only a single actionobtaining a stock
quoteyou need to enable smart tags in code by setting a
control's
SmartTags property. Once
you've enabled the smart tag in your code, you can
then execute a smart tag action. Once the action executes, you can
then disable the smart tag so that it is never displayed to the user.

Follow these steps to configure a combo box to use the Financial
Symbol smart tag to display a stock quote when the user selects an
item:

  1. Create a combo box control on a form. In the sample application, the
    Row Source property is set to a query that selects the ticker symbol
    and company name from the Companies table. The Bound Column is set to
    the ticker symbol since that is the value that will be used for the
    Financial Symbol smart tag.

  2. Create an event procedure for the AfterUpdate event. This event runs
    after the user selects an item in the combo box. The code turns off
    screen painting so that setting the smart tag property will not cause
    screen flashing:

    Private Sub cboTickers_AfterUpdate( )
    On Error GoTo HandleErr
    Me.Painting = False
  3. The code then sets the financial symbol smart tag for the control:

        Me.cboTickers.Properties("SmartTags").Value = _
    "urn:schemas-microsoft-com:office:smarttags#stockticker"
  4. The code then executes the first action of the smart tag. The
    SmartTags collection represents the smart tags assigned to the
    control, and SmartTagActions is the collection of available actions.
    You refer to them by their ordinal position in the list:

        Me.cboTickers.SmartTags(0).SmartTagActions(0).Execute
  5. Once the action has executed, remove the smart tag control so that it
    will never be displayed to the user:

        Me.cboTickers.Properties("SmartTags").Value = "
  6. Whenever you turn off painting on the form, you should implement an
    error handler and exit label to ensure that painting gets turned back
    on again, even if an error occurs:

    ExitHere:
    Me.Painting = True
    Exit Sub
    HandleErr:
    MsgBox Err.Number & " " & Err.Description
    Resume ExitHere
    End Sub

    Here is the complete code listing:

    Private Sub cboTickers_AfterUpdate( )
    On Error GoTo HandleErr
    Me.Painting = False
    ' Set the financial symbol smart tag
    Me.cboTickers.Properties("SmartTags").Value = _
    "urn:schemas-microsoft-com:office:smarttags#stockticker"
    ' Execute the first action listed
    Me.cboTickers.SmartTags(0).SmartTagActions(0).Execute
    ' Remove the financial symbol smart tag
    Me.cboTickers.Properties("SmartTags").Value = "
    ExitHere:
    Me.Painting = True
    Exit Sub
    HandleErr:
    MsgBox Err.Number & " " & Err.Description
    Resume ExitHere
    End Sub


16.4.3 Discussion


The SmartTags collection contains one or more
SmartTag
objects. You can refer to a single SmartTag object in the collection
by using the Item method or the index. The collection is zero-based,
so the following code fragment refers to the first SmartTag for the
ctl control:

ctl.SmartTags(0)


Unlike in Access, the SmartTags collections in Microsoft Excel and
Microsoft Word are one-based.

The SmartTag object has several properties, such as Application,
IsMissing, Name and Property. The SmartTagActions property represents
a collection of actions for an individual smart tag. These actions
are processes that are programmed into a smart tag as individual
SmartTagAction objects. The SmartTagAction object has several
properties and a single method, Execute. In this example, the first
SmartTagAction in the SmartTagActions collection is executed:

SmartTagActions(0).Execute

By dynamically assigning a smart tag in code, executing an action,
and then removing the smart tag, you can take advantage of built-in
smart tag functionality without presenting unnecessary options to the
user.


/ 232