• 締切済み

【急いでます】コンボボックスのデータ型のエラー

リストボックスにテーブルAのフィールド名を表示させフィールドを選択、オプショングループで演算子(=、>など)を選択、コンボボックスにそのフィールドのソースが表示されリストから値を選択し検索をかけたいと思っています。 リストボックスで数値型のフィールドを選択し、コンボボックスから値を選択するまではいいのですが、 その後リストボックスでテキスト型のフィールドに変更すると、コンボボックスにソースは表示されるのですが選択しようとすると、 このフィールドに入力した値が正しくありません。 たとえば、数値型のフィールドに文字列を入力しました。 とエラーが出てしまいます。 コンボボックスに前に選択したデータ型が残ってしまっているようなのです。 WEBでも検索し、色々試したのですがどれもうまくいきません。 これを回避する方法はないでしょうか? ---<現在のソース>---------------------------------------------------------------- リストボックス:listfield 演算子オプショングループ:opgEnzan コンボボックス:cboJoken Private Sub Form_Open(Cancel As Integer) strTable = lstfield.RowSource End Sub Private Sub lstfield_Click() opgEnzan = False End Sub Private Sub opgEnzan_Click() cboJoken.RowSource = "" cboJoken.RowSource = "SELECT DISTINCT " & lstfield & " FROM " & strTable & ";" cboJoken = Null cboJoken.ColumnWidths = "0cm" cboJoken.ColumnWidths = "4.5cm" cboJoken.SetFocus SendKeys "{F4}" End Sub

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

根本的な解決方法ではないかもしれませんが、 最初に作ったコンボボックスのカラムのデータ型に合わせるとか? cboJoken.RowSource = "SELECT DISTINCT Cstr(" & lstfield & ") as 新 FROM " & strTable & ";" cboJoken.RowSource = "SELECT DISTINCT Cdbl(" & lstfield & ") as 新 FROM " & strTable & ";" のような感じで。

関連するQ&A