0

AccessでSQLを使用して、別のテーブルからユーザー名を使用してテーブルを「更新」しようとしています。以下の3行目(SQLnm2 ...)は、エラー-2465がフィールド'|'を見つけることができないことを示しています。いろいろな方法で表現を変えてみましたが、うまくいきませんでした。どんな援助でも大歓迎です。

Dim SQLnm As String  
Dim SQLnm2 As String  
SQLnm2 = SQLnm2 & "', '" & [Employees]![NBK] & "');"  
SQLnm = " Update tbl_DateTracking SET NBK = "  
SQLnm = SQLnm & "'" & SQLnm2 & "' WHERE "  
SQLnm = SQLnm & "CaseId = '" & CaseId & "' AND OCC_Scenario = '" & OCC_Scenario & "';"  
DoCmd.RunSQL SQLnm 
4

2 に答える 2

0

3行目で開かれていない閉じ括弧があります。

SQLnm2 = SQLnm2& "'、'"&[従業員]![名前]& "');"

また、更新する列を指定していません。2つの列を更新するようです。最初の列は空の値のNBKです。2つ目は、Nameという列を更新するか、別の列をemployee.nameの値に更新するため、注意が必要です。

あなたのコードはに連結します

tbl_DateTrackingを更新しますSETNBK=''、'従業員名'WHERE

コードには、従業員名の列を指定する必要があります。

例えば

tbl_DateTrackingを更新SETNBK=''、EnterColumnNameHere ='Employee.Name' WHERE

または多分あなたは意味しました

tbl_DateTrackingを更新しますSETNBK='Employee.Name' WHERE

入力しようとしている列の数(およびその値)がわかるまで、SQLコードを提供できません。

コンテキストのガイドとして:

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'
WHERE LastName='Tjessem' AND FirstName='Jakob'
于 2012-09-06T13:30:59.850 に答える
0
Dim SQLnm2 As String

SQLnm2空の文字列として初期化する必要があるため、

SQLnm2 = SQLnm2 & "', '" & [Employees]![name] & "');"

文字列を生成します', '...');

SQLnm = " Update tbl_DateTracking SET NBK = "  
SQLnm = SQLnm & "'" & SQLnm2 & "' WHERE "

次に、その文字列をに挿入してSQLnm、クエリを生成します

Update tbl_DateTracking SET NBK = '', '...');' WHERE ...

おそらくどちらかといえば

Update tbl_DateTracking SET NBK = '...' WHERE ...
于 2012-09-06T13:40:53.610 に答える