基本的な MVC (実験的プロジェクト) で関数を作成しようとしています。この関数は、次のように (またはそれに近い形で) 呼び出す必要があります。
datastore = myTable.FetchData({{column1, constraint1},
{column2, constraint2}, ...
{colN, conN}})
関数の目的- 渡された制約を使用してテーブルをクエリします。例えば、
FetchData({{Me.Fields("Price"), "<100"}, {Me.Fields("Type"), "=Component"}})
最終的にクエリを生成します
SELECT * FROM table a WHERE Price < 100 AND Type = "Component"
(クエリの生成はそれよりも複雑で、定義された関係などが含まれますが、それはこの質問の範囲外です)
これらのパラメータを取得するには、関数定義をどのように記述すればよいですか?
`Public Function FetchData( ??? ) As foobar
基本的には、値のペアのリストであるため、ディクショナリに似たものになります。ただし、一意ではないcol1 > 1 AND col1 < 5
必要があります (たとえば、生成するために呼び出すことができます)。2 次元の配列リストも考慮されていますが、ペアの各半分は特定の型である必要があります。「キー」はColumnDefinition
オブジェクト型または文字列である必要があり、「値」は常に文字列である必要があります。
これを処理する最良の方法は何ですか?
おまけの質問: 演算子を制約 ( "=component"
) とマージするのは見苦しく思えます。演算子を分離して関数 def を記述する方法について何か考えはありますか? 列挙型を試してみましたが、冗長になりすぎました。これをかなり使いやすいライブラリにしたいと考えています。