Så här skapar du en kombinationsruta i Word som har mer än 25 element från en Microsoft Access-databas


En version av denna artikel för Microsoft Word 97 för att se 253552 .

Sammanfattning


Den här artikeln beskrivs hur du skapar och använder en UserForm kombinationsrutan som ett makro för transaktionen för en textruta för att visa information från en Microsoft Access-databas. Det här makrot kan användas som en lösning för artikel 25 begränsningar i nedrullningsbara formulärfält.

Mer information om hur du gör detta när du inte använder en Microsoft Access-databas, klickar du på följande artikelnummer och läser artiklarna i Microsoft Knowledge Base:

198561 hur du skapar en kombinationsruta som innehåller mer än 25 artiklar

306258 hur du skapar en kombinationsruta som innehåller mer än 25 objekt i Word 2002

Mer Information


Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till med att förklara funktionen hos en viss procedur, men kan inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.
För mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

212536 hur du kör exempelkod från Knowledge Base-artiklar i Office 2000

Gör på följande sätt i din mall.

Anmärkning: Om du vill stänga ett fönster (till exempel en kod-fönstret eller fönstret Egenskaper ) klickar du på X i det övre högra hörnet i fönstret.

Skapa UserForm kombinationsrutan

  1. Peka på makroVerktyg -menyn och klicka sedan på Visual Basic Editori Microsoft Office Word 2003 och tidigare versioner.

    I Word 2007 klickar du på fliken utvecklare och klicka sedan på Visual Basic Editor
  2. Välj din TemplateProject i fönstret projekt .

    Anmärkning: om projekt -fönstret inte visas klickar du på ProjektutforskarenVisa -menyn.
  3. UserFormInfoga -menyn. En ny UserForm och Verktygslådan Kontroller ska visas. Högerklicka inuti UserFormoch klicka sedan på Visa kod . Lägg till följande kod i händelsen initiera :
    Option Explicit
    'Define Variables

    Private Sub UserForm_Initialize()

    Dim dbDatabase As Database
    Dim rsNorthwind As Recordset
    Dim i As Integer
    Dim aResults()

    ' This code activates the Database connection. Change
    ' the path to reflect your database.
    Set dbDatabase = OpenDatabase("C:\My Documents\NorthWind.mdb")

    ' This code opens the Customers table. Change the Table
    ' to reflect the desired table.
    Set rsNorthwind = dbDatabase.OpenRecordset("Customers", dbOpenSnapshot)

    i = 0

    With rsNorthwind
    ' This code populates the combo box with the values
    ' in the CompanyName field.

    Do Until .EOF
    ComboBox1.AddItem (i)
    ComboBox1.Column(0, i) = .Fields("CompanyName")
    .MoveNext
    i = i + 1
    Loop

    End With
    End Sub
  4. Klicka på referenserVerktyg -menyn.
  5. Klicka på Microsoft DAO 3.6 Object Library.
  6. Klicka på OK för att stänga dialogrutan referenser .
  7. Stäng kodfönstret.
  8. Högerklicka på UserFormoch klicka sedan på Egenskaper på snabbmenyn. Byt namn (namn) till frmcombopå fliken Bokstavsordnat och Byt sedan bildtexten till Microsoft Word. Stäng fönstret UserForm egenskaper .
  9. Välj ComboBox och placera den på din UserForm på fliken kontroller i verktygslådan. Högerklicka på ComboBox -kontrollen och klicka sedan på Visa kod . Ändra koden i ComboBox:

    Private Sub ComboBox1_Change()
    ActiveDocument.FormFields("Text1").Result = ComboBox1.Value
    End Sub
    Anmärkning: Text1 är namnet på bokmärket i den textruta som du infogar i din mall i steg 2 i ”Skapa i formuläret textfältet” förfarandet i denna artikel.
  10. Stäng kodfönstret.
  11. Välj CommandButton och placera den i användarformuläret som en Stäng -knapp på fliken kontroller i verktygslådan. Högerklicka på CommandButtonoch klicka sedan på Visa kod . Ändra CommandButton-koden till:
    Private Sub Cmdclose_Click()
    End
    End Sub
  12. Stäng kodfönstret.
  13. Högerklicka på CommandButtonoch klicka sedan på Egenskaper på snabbmenyn. Byt namn (namn) till Cmdclosepå fliken Bokstavsordnat och Byt sedan bildtexten till nära. Stäng fönstret Egenskaper för kommandoknapp .
UserForm kombinationsrutan är nu klar. Fortsätt i proceduren ”skapa post-Macro”.

Skapa post-makro

  1. Välj din TemplateProject i fönstret projekt.
  2. Klicka på modulInfoga -menyn. Ett tomt modulblad kod visas.
  3. Skriv följande kod:
    Sub gocombobox()
    frmcombo.Show
    End Sub
Makrot transaktionen har nu slutförts. Klicka på Stäng och återgå till Microsoft WordArkiv -menyn.

Skapa textformulärfält

  1. I mallen på Visa -menyn, peka på verktygsfältoch klicka sedan på formulär.
  2. Placera insättningspunkten där du vill att resultatet av den nedrullningsbara listan infogas. Klicka på Textruta (den första knappen till vänster) i verktygsfältet formulär . Textruta infogas i mallen som grå skuggning.

    Anmärkning: om FORMTEXT} fältet {visas trycker du på ALT + F9 så att fältkoderna inaktivera.
  3. Högerklicka på Textrutaoch klicka sedan på Egenskaper på snabbmenyn.
  4. I dialogrutan Textrutealternativ under avsnittet Kör makro markerar du makrot gocombobox från den post: heter kombinationsruta.


    Obs: Kontrollera att namnet på bokmärket i din textruta är samma som den du angav i steg 9 i proceduren ”skapa den UserForm kombinationsrutan” tidigare i den här artikeln.
  5. Klicka på Skydda formuläri verktygsfältet formulär .
  6. Spara och Stäng mallen.
Om du vill använda mallen i Word 2003 och tidigare versioner, klickar du på NyttArkiv -menyn. Markera mallen och klicka sedan på OK.

Om du vill använda mallen i Word 2007 klickar du på Microsoft Office-knappen, klicka på Nytt, Markera mallen och klicka sedan på Skapa.

Ett nytt dokument baserat på mallen visas. UserForm som innehåller ComboBox med dina objekt visas när du använder TAB för att flytta till textfältet.