1

Access 2010 のバインドされていないフォームにバインドされていないフィールドを設定する次の VBA コードがあります。

Private Sub Combo0_AfterUpdate()

Dim D As Database
Dim rsExp As Recordset
Dim Criteria As String

Set D = CurrentDb
Set rsExp = D.OpenRecordset("ExpAsset", DB_OPEN_DYNASET)

Criteria = "[serial_number]=" & [Combo0]

rsExp.FindFirst Criteria

Me!Name = rsExp("User")
Me!Type = rsExp("Type")
Me!MODEL = rsExp("Model")
Me!Notes = rsExp("Notes")
Me!Department = rsExp("Department")
Me!Status = rsExp("Status")

rsExp.Close

End Sub

この行でエラーが発生しています rsExp.FindFirst Criteria ランタイム エラー 3077 式の構文エラー (演算子がありません)。

コードを Criteria = "[serial_number]=" & Str([Combo0]) に変更しましたが、ランタイム エラー 13 型の不一致が発生します。

4

1 に答える 1

1

使用を求めている基準を検討する機会を自分自身に与えてください.FindFirst。それはあなたが期待するものではないかもしれません。

Dim strCriteria As String
'strCriteria = "[serial_number]=" & Me.Combo0
' since serial_number is text, enclose the Combo0 value in quotes
' when you build strCriteria
strCriteria = "[serial_number]='" & Me.Combo0 & "'"
Debug.Print strCriteria
' or MsgBox strCriteria if you prefer

Debug.Printイミディエイト ウィンドウで出力を確認できます。Ctrl+でそこに行くg

[serial_number]がテキスト データ型で、これらのいずれかのようなものが得られる場合Debug.Printは、問題があります。

[serial_number]=A0123
[serial_number]=

それでも解決しない場合は、エラーが発生したときの のデータ型[serial_number]と の値を教えてください。Me.Combo0

于 2013-04-04T23:58:23.853 に答える