Access
 sql >> база данни >  >> RDS >> Access

Отстраняване на грешки в частни процедури

Едно от предимствата на VBA като интерпретиран език е, че можем да изпълняваме отделни процедури, без да се налага да компилираме цялото приложение. Нека да проучим как точно правим това.

Обществени процедури

Обществени процедури без аргументи

В стандартен модул можете да поставите курсора вътре в публична рутина, която няма аргументи, да натиснете [F5] и тази процедура ще се изпълни незабавно.

Ако искате да преминете през рутината, можете или да зададете точка на прекъсване на един от редовете, преди да натиснете [F5], или просто да натиснете [F8] („Step Into“) и веднага да започнете да преминавате през кода за процедурата.

Обществени функции без аргументи

Това също работи с публични функции в стандартни кодови модули. Ключът е, че функцията не може да приеме никакви аргументи, дори и незадължителни.

Обществени процедури с аргументи

Какво се случва, ако се опитате да изпълните публична процедура, която приема един или повече аргументи (дори и незадължителни)? Командата "Run> Run Macro" изпълнява:

Частни процедури

Частни процедури без аргументи

Не мога да си взема заслуга за откриването на това. Специални благодарности изказваме на Тери Чапман за това, че предаде факта, че можете да натиснете F5, за да отстраните грешки Частно процедури, а не само публични процедури.

Подобно на Тери, аз временно променях личните си процедури на публични, докато отстранявах грешки. Оказа се, че изобщо не ми се е налагало да правя това.

Частни процедури С Аргументи

След като Тери ме накара да се съмнявам в моите предположения, реших да видя колко много мога да се размина. Много повече, отколкото очаквах, се оказа!

Вярвате или не, можете да отстраните грешки в частни процедури, които приемат аргументи без временно ги сменя на публични процедури. За да направите това, просто трябва да извикате напълно квалифицираното име на процедурата от прозореца Immediate. Под „пълно квалифицирано име“ имам предвид името във формата на {ModuleName}.{ProcedureName} .

Вижте този пример:

Но не ми вярвайте на думата. Опитайте!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Присъединете се към мен за сесия на Microsoft Access със SQL Server Academy

  2. Как да получите достъп до вградения CRM шаблон в Microsoft Access

  3. Достъп до мнението на експертите за срещата на върха за MVP 2020

  4. Как да преименувате таблица в Microsoft Access

  5. 5 неща, които трябва да знаете за „Windows 10 S“