W Accessie istnieje metoda dynamicznego dopisywania nowych pozycji na liście kombi oparta na zdarzeniu NotInList (Wykrywamy, że nie ma jeszcze takiego wpisu, otwieramy ekran do edycji nowych rekordow i odświeżamy listę kombi - dokładny opis w bazie Metody). Niestety nie jet to sposób wygodny w użyciu.
W wielu prostych przypadkach można ten sam efekt osiągnąć znacznie prościej, w sposób całkowicie automatyczny,
który nie wymaga żadnych nakładów pracy. Cała tajemnica tkwi w słowie DISTINCT,
które użyte w kwerendzie, jako źródło wierszy dla pola kombi, wybiera tylko unikalne wartości.
Cala metoda wygląda tak:
SELECT DISTINCT Pole1 FROM Tabela1;
Uzupełnienie:
Warto wiedzieć o tej prostej metodzie, niemniej jednak
jej możliwości są rownież 'proste'. Do bardziej zaawansowanych celów
służy zdarzenie NotInList oprogramowane np.
tak, jak proponuje Paweł P. Baran:
Private Sub Kombi2_NotInList(NewData As String, Response As Integer)
Dim rec As Recordset
If MsgBox("Dodać nową wartość?", vbOKCancel) = vbOK Then
Response = acDataErrAdded
Set rec = CurrentDb.OpenRecordset("Wykształcenie")
With rec
.AddNew
!Wykształcenie = NewData
'klucz Access sam doda
.Update
End With
Else
Response = acDataErrContinue
Kombi2.Undo
End If
End Sub