непосредственно в сводной таблице, это невозможно, поэтому вам нужно использовать некоторую формулу для ее обрезки, а затем использовать оттуда сводную таблицу:
=QUERY(A:B, "where month(A)+1 matches '"&MONTH(TODAY())&"'
and A <= date '"&TEXT(TODAY(), "yyyy-MM-dd")&"'")
На самом деле я создаю нечто очень похожее на о чем ты думаешь Я решил (пока что), чтобы все мои «сервисы» (хотя это и не сервисы, а «контроллер») реализовали определенный интерфейс (с помощью операций init () и execute ()). как перечисление FREQUENCY).
Контроллер - это служба Windows, которая читает список программ / dll из файла настроек xml во время выполнения, загружает их в список и вызывает их метод execute () (если это применимо) в любом случае. частоту, которую они определили.
В моем случае каждая программа также содержит пользовательский элемент управления, который загружается на вкладку контроллера, что позволяет пользователю контролировать / изменять его. Я' Я напишу код, если вам интересно.
Не уверен, что это было понятно. Я действительно получил идею от другого SO-пользователя, который реализовал нечто подобное, но сейчас я не могу найти этот пост.
Сегодня у меня была похожая проблема, и мне удалось ее решить.
Во-первых, я убедился, что у каждой из служб есть значимое и уникальное свойство ServiceName. Генератор дал обеим службам одно и то же имя, что не помогло бы.
Затем я удалил и регенерировал класс ProjectInstaller и добавил установщики для каждого из классов. Я убедился, что они оба были созданы в статическом методе Main.
Теперь я могу установить две службы с одной dll, но, к сожалению, когда я запускаю одну из служб, кажется, что она выполняет функции и самой, и другой службы. . То есть обе службы работают (даже если только одна из служб отображается как «Запущена» в Диспетчере компьютеров). Я все еще пытаюсь понять это ...
Сегодня у меня была такая же проблема, и мне удалось ее исправить. В моем случае мне просто нужно было открыть файлы * .designer.cs моих служб и убедиться, что имя службы указано правильно. Что еще более важно, то же имя следует использовать в * Installer.Designer.cs, и если у вас есть код в * Installer.cs.
Я думаю, что эта ошибка возникает только из-за несоответствия имени.
Надеюсь, это поможет
Думаю, вы, ребята, уже решили эту проблему, но в случае, если это понадобится кому-то еще, я отправлю ответ на этот вопрос, на который сегодня у меня ушло несколько часов. Решение состоит не в добавлении другого установщика проекта, а в установщике службы, которая является компонентом установщика проекта. Для этого вновь добавленного установщика службы необходимо настроить второе имя службы.
Я понял, как иметь один исполняемый файл, но две службы. Каждая служба устанавливается в диспетчер служб со своим именем и возможностью запуска / остановки. Я думаю, это то, что вы хотите, верно? Вот что я сделал:
Вы можете найти демонстрационный код здесь:
http://code.google.com/p/multi-service-install/
Installing 2 distinct and unrelated services in one executable has a funny smell to me. While it's possible to get it to work, it doesn't make it right.
From what it sounds like, you need to perform some different tasks at various intervals and your tasks may or may not be related. Have you looked into Quartz.NET? It sounds like a good fit for your needs.