Показывать код от кода до (в мс доступе) - PullRequest
1 голос
/ 18 июня 2009

создание базы данных Access (2003), которая в основном используется другими программистами и техническими специалистами для проверки данных. Я хочу поместить кнопку в части формы, которая выполняет код, чтобы показать код, который выполняется. Таким образом, программисты могут редактировать его на месте. Это для проекта проверки данных с частой сменой кода. Предположим, что код находится в модуле, поэтому форму не нужно сохранять или в режиме редактирования. Просто нажмите кнопку и вверх появится код в представлении кода.

Ответы [ 3 ]

1 голос
/ 18 июня 2009

Вы можете быть ограничены только кодом в модулях. Но в кнопке на форме вы можете установить событие клика:

DoCmd.OpenModule "имя_модуля", "the_name_of_some_function"

0 голосов
/ 18 июня 2009

Просмотр кода не так сложен, и на самом деле ни один не редактирует его. Но я должен предупредить вас от нескольких ловушек. Во-первых, обсуждаемый вами подход сводится к самоизменяющемуся коду, который отключит многие антивирусные программы. Во-вторых, коррупция - это постоянная опасность для Access, и самоизменяющийся код только усугубляет эту проблему. Любое решение, которое вы придумали, должно сводить к минимуму изменения, а также иметь очень надежный план резервного копирования и восстановления. В-третьих, самоизменяющийся код не позволит вам скомпилировать базу данных (используя mdes) или заблокировать проект. Это может привести к очень сложному контролю и поддержке исходного кода.
Вместо этого я бы предложил вам использовать Pure SQL для модификации ваших данных. Затем вы можете сохранить и изменить SQL в таблице, а затем просто использовать CurrentDB.Execute для его запуска.

0 голосов
/ 18 июня 2009

Будет ли это работать для вас?

Private Sub Command0_Click()
While True
Debug.Print "tt"
If pressed And debugmode Then
   Stop
   pressed = False
End If
DoEvents

Wend
End Sub

Private Sub Command1_Click()
    pressed = True
    ' You can just put here Stop 
End Sub

Редактировать: я имею в виду использовать DoEvents и Stop

...