「コンパイルエラー、ByRef引数の型が一致しません」というエラーがあります。誰でも私にこのエラーが発生する理由、またはこれを修正する方法を教えてもらえますか?エラー:コンパイルエラー、ByRef引数のタイプの不一致
答えて
あなたのサブの宣言は次のとおりです。
Private Sub AddtoWhere(FieldValue As Variant, FieldName As String, mycriteria As String, argcount As Integer)
あなたは(例えば)として、それを呼び出している:あなただけ(String
としてSearch
)他のすべてを一つの変数を宣言しているので
AddtoWhere cboProduct1, "Product", mycriteria, argcount
変数はデフォルトでVariant
と宣言されています。
これはあなたが合格しようとしている意味:
FieldValue
(
Variant
)へ
cboProduct1
(Variant
) -Variant
はVariant/Object
ことができるので、(cboProduct1
は、いくつかの並べ替えの対象となることがありますコンボボックス?)、これは正しく"Product"
(String
)FieldName
に処理されます(String
)mycriteria
myCriteria
とargCount
に渡された変数が同じデータ型を持っていないので(Variant
)mycriteria
(String
)argcount
(Variant
)へargcount
(Integer
)
に、あなたが得ますエラー。
問題を回避する最も良い方法は、問題がなければ実行するのが最善の方法です。すべての変数を宣言することです。
だからあなたcmdsearch1_Click
サブルーチンに次の文を(少なくとも)を追加:
Dim mycriteria As String
Dim argcount As Integer
私はcmdsearch1で宣言しましたが、今はsql statmentで定義されていないエラー変数を与えています。説明:cboProductは数を持つProductコンボボックスです。 – Beginner
@ABC私は 'Me!sfrmtblCapCrstab.Form.RecordSource = mysource'という行がエラーを出していると仮定します。そうですか? (私たちに推測させるのではなく、そのようなことを教えておけば助けになります)もしそうなら、 'mySource'の値は何ですか?それは有効なSQL文ではないようです。 – YowE3K
@ABCまた、SQL文で使用するすべてのフィールド名は、 '[tblCapCrstab]'テーブルに存在するフィールドの名前ですか? ( '' Source''は予約語ですか?[私はAccessやSQLを使いこなすのに十分ではありません]そうであれば、フィールド名を括弧で囲んでください。つまり、フィールド名として '[Source]'を使用してくださいとにかくそれを行うのは普通は良い考えです。) – YowE3K
あなたはそれはあなたが機能を渡すか、あなたは以前に持って同じ値をサブしている意味参照によって引数を渡します。 は同じを受け取ると予想しています。あなたの問題を迅速に解決するには、関数/サブ定義を変種が期待されるように変更するか、正しいタイプを渡しているかどうかを確認することができます。
これは役に立ちました。次回はいくつかのコードを残しておきます。
アタッチメントはコードです、申し訳ありませんが、あなたが言ったことを理解できませんでした。もう少し説明できますか? – Beginner
- 1. コンパイルエラーbyref引数のタイプの不一致
- 2. ByRef引数型不一致
- 3. ByRef引数型の不一致、Excel VBA
- 4. ByRef引数型不一致VBA
- 5. Excel VBA ByRef引数型不一致
- 6. VBA ByRef引数型不一致
- 7. コンパイルエラー:ByRef引数の型の不一致が新しいシートの作成
- 8. のByRef引数の型の不一致 - エクセルVBA
- 9. ExcelでのByRef引数の型の不一致VBA
- 10. Fortran90引数のタイプ/ランクの不一致
- 11. テンプレートテンプレート引数タイプ/値の不一致エラーここ
- 12. タイプの不一致エラー
- 13. 不一致の引数CPLEXエラーPython API
- 14. 引数の不一致エラーがC++コード
- 15. QueryTableのVBAタイプの不一致エラー
- 16. jbossでの例外のデプロイ:引数タイプの不一致
- 17. スレッド「JavaFX Application Thread」の例外java.lang.IllegalArgumentException:引数タイプの不一致
- 18. JavaFx DatePicker onHidingとonHiddenの引数タイプの不一致
- 19. タイプの不一致エラー - Excel VBA
- 20. Spark UDFタイプの不一致エラー
- 21. VBA(上位)タイプの不一致エラー
- 22. Excel VBAランタイムエラー '13'タイプの不一致エラー
- 23. ミステリーエラー#1063:引数の数の不一致
- 24. VBA ByRef引数型の不一致If関数内の関数の使用時に
- 25. Nodejs async.waterfallコールバックの引数の不一致?
- 26. タイプの不一致 - JavaScript
- 27. VBA - タイプの不一致 - コード?
- 28. VBAタイプの不一致(13)
- 29. タイプの不一致。 found:Long required:Int
- 30. ランタイムエラー13:タイプの不一致
が、私は強く[ 'オプションExplicit'](https://msdn.microsoft.com/en-us/を置くことを提案しますライブラリ/ bw9t3484%28v = vs.84%29.aspx)。 コンパイル時に、宣言されていない変数または定数のスペルミスを報告します。 これを新しいモジュールに自動的に追加するには、VBAエディタで[変数宣言が必要](http://www.fmsinc.com/microsoftaccess/modules/options/index.html)オプションを設定します。 – Andre
今、行 "argcount = 0"を指すことによって "変数が定義されていません"と表示されます – Beginner
はい、その点です。これらの問題を防ぐために、すべての変数を明確な変数型で宣言します。*実行時エラーではなくコンパイル時エラーを生成できることは、より良いコードを書くための基本的な部分です。* – Andre