Как использовать выпадающее меню формы MS Access для загрузки данных в SQL Ячейка сервера - PullRequest
0 голосов
/ 03 февраля 2020

Я собираюсь сделать это максимально простым, у меня есть система заявок, которую я пытаюсь создать в MS Access.

У меня есть выпадающее меню с тремя опциями «Открыть, Назначено, Закрыто». В моей базе данных есть три строки в таблице: одна для openTime, assignTime и closedTime.

Мое раскрывающееся меню связано с строкой в ​​моей таблице с именем Status, которая переключается между тремя опциями "Открыть, Назначено, Закрыто". Когда билет создается на моем веб-сайте, он создает время открытия, поэтому мне не нужно об этом беспокоиться, но когда пользователь выбирает назначенное и закрытое, я бы хотел, чтобы при изменении отправлял данные в нужную ячейку.

Таким образом, если раскрывающийся список меняется с открытого на назначенный, он уже меняет ячейку состояния на «Назначено» в моей базе данных, но я также хотел бы изменить данные ячейки назначенного времени на точное время и дату. То же самое для закрытых.

Обычно я пишу свой код на C# и вообще не знаю VBA. это будет сделано в vba в форме Microsoft Access; как я могу это сделать? Может кто-нибудь дать предложения?

Я пробовал несколько разных методов, но когда я добавляю их в свой пост, это смешивает моды, поэтому я просто ищу ваши входные данные.

РЕДАКТИРОВАТЬ : Я думаю, что я знаю, как добавить дату с

vardtedate = CDate(Format(Me.dtedate.Value, "dd/mm/yyyy"))

, и я подумал об использовании оператора If и для, если он назначен или закрыт, чтобы указать, куда добавить данные

Я просто не знаю, как добавить его в мою таблицу. Должен ли я использовать me.requery и SQL код?

Как сделать, если операторы работают в vba, это как c#?

Можно ли сделать

If (dropDown.value == "Assigned")
    me.requery insert vardtedate into me_alert (assignedTime)

1 Ответ

1 голос
/ 03 февраля 2020

Не знаю, почему вы пытаетесь сделать это как можно более коротким, но ТОГДА включите целую кучу текста и всевозможную дополнительную информацию о некоторых "веб" материалах, так как это имеет почти нулевое отношение к доступу, и в На самом деле вопрос!

Ваш вопрос, как указано: У меня есть поле со списком в форме. Когда я изменяю значение, я хочу установить другое текстовое поле (или столбец) в форме на текущее время.

Вы бы использовали событие после обновления поля со списком, и код был бы:

me!MyDateTimeColumn = now()

И предполагая, что форма доступа привязана к рассматриваемой таблице? Тогда вы НЕ хотите форматировать значение даты, а просто используете:

me!MyDateTimeColumn = Date()     ' save the date - no time part

или

me!MyDateTimeColumn = Now()      ' save the date with time portion

Вы не упоминаете, подключена ли эта форма доступа к базе данных доступа, или a sql one?

Как и во всех случаях, редактирование данных в форме доступа не приводит к сохранению до тех пор, пока вы не закроете форму. Перейдите к другой записи. Принудительно сохранить данные с помощью VBA

. В данный момент времени с данной информацией достаточно одной строки кода.

Edit

Может показаться, что вопрос был неясен, и что есть 3 поля времени состояния.

Итак, вопрос должен был быть.

У меня есть поле со списком с 3 текстовыми значениями. Когда я выбираю одно из 3 значений, я хочу обновить соответствующий дополнительный набор из 3 столбцов до текущего времени + даты на основе 1 из 3 выбранных значений.

Итак, в событии после обновления В поле со списком мы могли бы использовать:

Private Sub Combo2_AfterUpdate()

   Select Case Me.Combo2

      Case "Open"
         Me!OpenTimeUpDate = Now()

     Case "Assigned"
        Me!AssignedTimeUpdate = Now()

     Case "Closed"
        Me!CloseTimeUPdate= Now()

  End Select

End Sub

Итак, выше мы предполагаем 3 значения (Open, Assigned, Closed) и 3 дополнительных столбца с именами OpenTimeUpdate, AssignedTimeUpdate и CloseTimeUpdate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...