То, что будет делать ваш код, он будет отображать диалоговое окно прогресса и начнет выполнять свою работу по вызове {{x0}}. В то же время обработчик откроет диалоговое окно прогресса.

Column 1  | Column 2
---------   ---------
Member 1  | Vendor 1;
Member 2  | Vendor 1;
Member 3  | Vendor 2;
Member 4  | Vendor 3;

Я хотел бы следующее:

Таблица 1:

Member 1
Member 2

Таблица 2:

Member 3

Таблица 3:

Member 4

Мы очень ценим любую помощь, которая может быть предоставлена. Я попытался найти ответ в Google, но ничего не нашел. Я знаю, что это должен быть какой-то цикл, просто не знаю, как этого добиться, поскольку я не очень знаком с VBA.

Спасибо всем заранее!

-1
Alex J Jimenez 31 Дек 2015 в 22:40

2 ответа

Лучший ответ

Должен признаться, я не совсем уверен, зачем вам это нужно ... но при этом никогда не знаешь. Вот пример функции VBA, которая выполнит это:

Sub CreateTables()

  Dim rs As Recordset
  Dim sql As String
  Dim vendor As String

  sql = "select distinct [Vendor] from [Vendor Members]"

  Set rs = CurrentDb.OpenRecordset(sql)

  Do While Not rs.EOF
    vendor = rs!vendor

    sql = "select [Member] into [" & vendor & _
        "] from [Vendor Members] where [Vendor] = """ & vendor & """;"
    CurrentDb.Execute sql
    rs.MoveNext
  Loop


End Sub

Это предполагает ваше имя таблицы {{x0}}, но такие вещи достаточно легко, чтобы изменить на лету.

0
Hambone 31 Дек 2015 в 20:12

Почему именно вы пытаетесь сгруппировать значения по таблицам? Вы не используете полное преимущество реляционной базы данных или для этого, базы данных.

Обязательно подойдет простой запрос:

SELECT * FROM TableName WHERE Column2 = 'Vendor 1' решит бы это, если вы пытаетесь получить результат.

1
Jabberbyter 31 Дек 2015 в 19:49