Udostępnij za pośrednictwem


Przewodnik: wiązanie danych z kontrolkami w okienku akcji programu Excel

W tym przewodniku przedstawiono powiązanie danych z kontrolkami w okienku akcji w programie Microsoft Office Excel. Kontrolki przedstawiają relację wzorca/szczegółów między tabelami w bazie danych programu SQL Server.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu dla programu Excel. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

W instruktażu przedstawiono następujące zagadnienia:

  • Dodawanie kontrolek do arkusza.

  • Tworzenie kontrolki okienka akcji.

  • Dodawanie kontrolek Windows Forms powiązanych z danymi do kontrolki okienka akcji.

  • Wyświetlanie okienka akcji po otwarciu aplikacji.

Uwaga

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE programu Visual Studio.

Wymagania wstępne

Następujące składniki są wymagane do przeprowadzenia tego instruktażu:

  • Edycja programu Visual Studio, która oferuje narzędzia deweloperskie pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz Konfigurowanie komputera do tworzenia rozwiązań pakietu Office.

  • Excel 2013 lub Excel 2010 .

  • Dostęp do serwera za pomocą przykładowej bazy danych Northwind SQL Server.

  • Uprawnienia do odczytu i zapisu w bazie danych programu SQL Server.

Tworzenie projektu

Pierwszym krokiem jest utworzenie projektu skoroszytu programu Excel.

Aby utworzyć nowy projekt

  1. Utwórz projekt skoroszytu programu Excel o nazwie Moje okienko akcji programu Excel. W kreatorze wybierz pozycję Utwórz nowy dokument. Aby uzyskać więcej informacji, zobacz How to: Create Office projects in Visual Studio (Jak tworzyć projekty pakietu Office w programie Visual Studio).

    Program Visual Studio otwiera nowy skoroszyt programu Excel w projektancie i dodaje projekt Okienko akcji programu Excel do Eksplorator rozwiązań.

Dodawanie nowego źródła danych do projektu

Aby dodać nowe źródło danych do projektu

  1. Jeśli okno Źródła danych nie jest widoczne, wyświetl je według na pasku menu, wybierając pozycję Wyświetl>inne źródła danych systemu Windows.>

  2. Wybierz pozycję Dodaj nowe źródło danych, aby uruchomić Kreatora konfiguracji źródła danych.

  3. Wybierz pozycję Baza danych , a następnie kliknij przycisk Dalej.

  4. Wybierz połączenie danych z przykładową bazą danych programu SQL Server Northwind lub dodaj nowe połączenie przy użyciu przycisku Nowa Połączenie ion.

  5. Kliknij przycisk Dalej.

  6. Wyczyść opcję zapisania połączenia, jeśli jest zaznaczone, a następnie kliknij przycisk Dalej.

  7. Rozwiń węzeł Tabele w oknie Obiekty bazy danych.

  8. Zaznacz pole wyboru obok tabeli Dostawcy .

  9. Rozwiń tabelę Products i wybierz pozycję ProductName, SupplierID, QuantityPerUnit i UnitPrice.

  10. Kliknij przycisk Zakończ.

    Kreator dodaje tabelę Dostawcy i tabelę Products do okna Źródła danych. Dodaje również wpisany zestaw danych do projektu, który jest widoczny w Eksplorator rozwiązań.

Dodawanie kontrolek do arkusza

Następnie dodaj kontrolkę NamedRange i kontrolkę ListObject do pierwszego arkusza.

Aby dodać kontrolkę NamedRange i kontrolkę ListObject

  1. Sprawdź, czy skoroszyt My Excel Actions Pane.xlsx jest otwarty w projektancie programu Visual Studio z wyświetlonym Sheet1 .

  2. W oknie Źródła danych rozwiń tabelę Dostawcy.

  3. Kliknij strzałkę listy rozwijanej w węźle Nazwa firmy, a następnie kliknij pozycję NamedRange.

  4. Przeciągnij nazwę firmy z okna Źródła danych do komórki A2 w pliku Sheet1.

    Zostanie utworzona kontrolka NamedRange o nazwie CompanyNameNamedRange , a tekst <CompanyName> pojawi się w komórce A2. Jednocześnie do projektu dodawana jest nazwana BindingSourcesuppliersBindingSourcekarta tabeli i element DataSet . Kontrolka jest powiązana z elementem BindingSource, który z kolei jest powiązany z wystąpieniem DataSet .

  5. W oknie Źródła danych przewiń w dół do kolumn, które znajdują się w tabeli Suppliers. W dolnej części listy znajduje się tabela Products ( Produkty ), ponieważ jest to element podrzędny tabeli Suppliers . Wybierz tę tabelę Products , a nie tę, która znajduje się na tym samym poziomie co tabela Suppliers , a następnie kliknij wyświetloną strzałkę listy rozwijanej.

  6. Kliknij pozycję ListObject na liście rozwijanej, a następnie przeciągnij tabelę Products do komórki A6 w Sheet1pliku .

    Kontrolka ListObject o nazwie ProductNameListObject jest tworzona w komórce A6. BindingSource Jednocześnie do projektu zostanie dodana nazwana productsBindingSource karta tabeli i nazwana. Kontrolka jest powiązana z elementem BindingSource, który z kolei jest powiązany z wystąpieniem DataSet .

  7. W przypadku języka C# wybierz pozycję DostawcyBindingSource na pasku składników i zmień właściwość Modyfikatory na Wewnętrznaw oknie Właściwości.

Dodawanie kontrolek do okienka akcji

Następnie potrzebujesz kontrolki okienka akcji, która ma pole kombi.

Aby dodać kontrolkę okienka akcji

  1. Wybierz projekt Okienko Moje akcje programu Excel w Eksplorator rozwiązań.

  2. W menu Project (Projekt) kliknij pozycję Add New Item (Dodaj nowy element).

  3. W oknie dialogowym Dodawanie nowego elementu wybierz pozycję Kontrolka okienka akcji, nadaj jej nazwę ActionsControl i kliknij przycisk Dodaj.

Aby dodać kontrolki Windows Forms powiązane z danymi do kontrolki okienka akcji

  1. Na kartach Typowe kontrolkiprzybornika przeciągnij kontrolkę ComboBox do kontrolki okienka akcji.

  2. Zmień właściwość Size na 171, 21.

  3. Zmień rozmiar kontrolki użytkownika, aby dopasować pole kombi.

Wiązanie kontrolki w okienku akcji z danymi

W tej sekcji ustawisz źródło ComboBox danych na to samo źródło danych co kontrolka NamedRange w arkuszu.

Aby ustawić właściwości powiązania danych kontrolki

  1. Kliknij prawym przyciskiem myszy kontrolkę okienka akcji, a następnie kliknij polecenie Wyświetl kod.

  2. Dodaj następujący kod do Load zdarzenia kontrolki okienka akcji.

    private void ActionsControl_Load(object sender, EventArgs e)
    {
        this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource;
        this.comboBox1.DisplayMember = "CompanyName";
    }
    
  3. W języku C#należy utworzyć procedurę obsługi zdarzeń dla elementu ActionsControl. Ten kod można umieścić w konstruktorze ActionsControl . Aby uzyskać więcej informacji na temat tworzenia programów obsługi zdarzeń, zobacz How to: Create event handlers in Office projects (Instrukcje: tworzenie programów obsługi zdarzeń w projektach pakietu Office).

    public ActionsControl()
    {
        InitializeComponent();
        this.Load += new EventHandler(ActionsControl_Load);
    }
    

Pokaż okienko akcji

Okienko akcji nie jest widoczne do momentu dodania kontrolki w czasie wykonywania.

Aby wyświetlić okienko akcji

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję ThisWorkbook.vb lub ThisWorkbook.cs, a następnie kliknij polecenie Wyświetl kod.

  2. Utwórz nowe wystąpienie kontrolki użytkownika w ThisWorkbook klasie .

    ActionsControl actions = new ActionsControl();
    
  3. W procedurze obsługi ThisWorkbookzdarzeń Startup programu dodaj kontrolkę do okienka akcji.

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.ActionsPane.Controls.Add(actions);
    }
    

Testowanie aplikacji

Teraz możesz przetestować dokument, aby sprawdzić, czy okienko akcji zostanie otwarte po otwarciu dokumentu i czy kontrolki mają relację wzorca/szczegółów.

Aby przetestować dokument

  1. Naciśnij klawisz F5 , aby uruchomić projekt.

  2. Upewnij się, że okienko akcji jest widoczne.

  3. Wybierz firmę w polu listy. Sprawdź, czy nazwa firmy znajduje się w kontrolce NamedRange i czy szczegóły produktu są wymienione w kontrolce ListObject .

  4. Wybierz różne firmy, aby zweryfikować odpowiednią zmianę nazwy firmy i szczegółów produktu.

Następne kroki

Poniżej przedstawiono niektóre zadania, które mogą pojawić się w następnej kolejności: