2016-10-20 29 views
1

アクセスデータベースのユーザーログがあります。ただし、システムがクラッシュした場合、ログアウトしたユーザーは適切に記録されません。だから私は、レコードを作成する前にユーザーがログインしているかどうかを確認するコードを作成しようとしています。SQLのテーブルへの挿入問題

Function LogOn() 
    Dim sUser As String 
    Dim sSQL As String 

    DoCmd.SetWarnings False 
    sUser = Environ("username") 
    sSQL = "INSERT INTO tblUserLog (UserID)" _ 
    & "SELECT '" & sUser & "' AS [User] & WHERE tblUserLog.UserID='" & sUser & "' AND tblUserLog.LogOn Is Null & From tblUserLog;" 
    DoCmd.RunSQL sSQL 
    DoCmd.SetWarnings True 
End Function 

I "は、少なくとも1つの宛先表を持っている必要があります"

のエラーメッセージが出てい:

は、ここに私のコードです。

WHERE文を削除しても、エラーメッセージは表示されません。

ありがとうございました。 Sorin

+0

select * from table。あなたはあなたの質問にテーブル名を持っていません。 – rach

+0

'FROM'句がありません –

+0

@ソリン。 。 。 'sSQL'を出力してください。答えはおそらく明らかです。とにかくそれは明らかな次のステップではありませんか?スタックオーバーフローに関する質問を書くより簡単です。 –

答えて

0

FROM句が間違った位置に配置されています。更新されたクエリを試してください

sSQL = "INSERT INTO tblUserLog (UserID)" _ 
& "SELECT '" & sUser & "' AS [User] From tblUserLog WHERE tblUserLog.UserID='" & sUser & "' AND tblUserLog.LogOn Is Null ;" 
        -----------------^ 
関連する問題