0

このコードを実行すると、エラー 3601 が表示されます。パラメーターが少なすぎると表示されます。解決策はありますか?

Sub copySDback()
Dim db As DAO.Database

Dim rst As DAO.Recordset

Dim test As String

Dim sdSQL As String

Set db = CurrentDb()
moo = "SD12401064"

sdSQL = "SELECT [Test EUS BL].[Ticket Nbr], [Test EUS BL].[Current Assignment Group],              [Test EUS BL].[ELEVATION STATUS] FROM [Test EUS BL] WHERE ((([Test EUS BL].[Ticket     Nbr])=SD16818515));"
'CurrentDb.OpenRecordset sdSQL

Set rst = db.OpenRecordset(sdSQL, dbOpenDynaset, dbSeeChanges)
If rs.BOF And rs.EOF Then
    rs.Close
    MsgBox "name not found"
End If
Exit Sub

rs.Close
db.Close
4

1 に答える 1

1

クエリのこのセグメントで

WHERE ((([Test EUS BL].[Ticket     Nbr])=SD16818515))

TicketNbrの間に複数のスペースがあるように見えますが(これは書式設定の問題である可能性があります)、角括弧を使用する場合は正確である必要があります。また、パラメーターが必要な問題とは関係ありませんが、次のSD16818515ように一重引用符で囲む必要があります

'SD16818616'

文字列だからです。

于 2013-04-09T14:44:10.020 に答える