Access
 sql >> Baza danych >  >> RDS >> Access

Piękne bloki kotła

W moim artykule, The ArrowKeyNav Routine, przedstawiłem Sub, którego można użyć do zastąpienia domyślnej obsługi klawiszy strzałek w górę i w dół w formularzu ciągłym. Problem z procedurą, którą przedstawiłem, polega na tym, że musisz wywołać ją z każdej kontrolki, w której chcesz nadpisać funkcjonalność klawisza strzałki.

Oto jak to może wyglądać w module formularza:

Private Sub cbSupplierID_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub chkDiscontinued_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift 
End Sub

Private Sub tbID_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub tbListPrice_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub tbProductCode_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav vbKeyDown, Shift
End Sub

Private Sub tbProductName_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Istnieje kilka sposobów na zmniejszenie ilości kodu, którego potrzebujemy w tej sytuacji, ale na potrzeby tego artykułu odłożymy to na bok. Tak więc, ze względu na argument, załóżmy, że nie ma sposobu na zmniejszenie ilości kodu. Biorąc pod uwagę to ograniczenie, jak możemy zwiększyć czytelność powyższego kodu?

Łączenie wierszy kodu za pomocą znaku dwukropka

Możemy połączyć wiele wierszy kodu za pomocą znaku dwukropka (: ).

jest używany jako końcowy element gramatyki składniowej do nazwania tokena który działa jako znacznik końca instrukcji. Ogólnie rzecz biorąc, koniec instrukcji jest oznaczony jako lub znak dwukropka .

Poprawa czytelności poprzez łączenie wierszy

Ta technika jest czymś, czego należy używać ostrożnie. Ale jeśli jest używany rozważnie, może zwiększyć czytelność twojego kodu.

W powyższym przykładowym kodzie każdy Sub wywołuje dokładnie ten sam kod:

ArrowKeyNav KeyCode, Shift

Właściwie to nieprawda. Jeśli przyjrzysz się uważnie, zobaczysz, że tbProductCode_KeyDown() procedura przechodzi vbKeyDown zamiast KeyCode jako pierwszy argument.

Tę różnicę można jednak łatwo przeoczyć przy użyciu standardowego formatowania VBA:

Zła kod wygląda źle

Jeśli połączymy linie za pomocą dwukropków – i dostosujemy odstępy tak, aby wszystkie nasze wywołania ArrowKeyNav są wyrównane do lewej - wtedy niespójność, która wtapia się w powyższe, wyróżnia się jak ból kciuka w poniższym kodzie:

Patrząc w kontekście normalnych funkcji i podprogramów, nasz blok kodu standardowego wyraźnie się wyróżnia. To rozróżnienie pomaga zwiększyć stosunek sygnału do szumu naszego kodu:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest fragmentowanie bazy danych?

  2. Jak dodać nagłówek i stopkę do raportu w programie Microsoft Access

  3. Pytania, które należy zadać przed uruchomieniem bazy danych

  4. Partycjonowanie danych dla aplikacji na dużą skalę

  5. Używanie dużych parametrów dla procedury składowanej Microsoft SQL z DAO