簡體   English   中英

在 MSAccess Function 和 SQL 中使用變量

[英]Using Variables in a MSAccess Function with SQL

我正在努力在所有表格上輸入自定義 ID 號以將所有記錄鏈接在一起,嘗試標准化。

我有一個EmployeeDetails表和一個LoginDetails表。 我的理解是我需要一個名為EmployeeID的字段,並且我可以使用 SQL Select 代碼我必須像其他 forms 一樣提取數據。 Username也是LoginDetails表中的字段名稱, txt_Username是登錄頁面上的用戶名文本框。

現在我只是把它放在登錄屏幕上進行故障排除,但是當創建新員工時它最終會被調用。 唯一的問題是我對如何在 SQL 行中包含變量的知識,即:

Function newID(frm As Form)

    Dim db As DAO.Database
    Set db = CurrentDb

    index = 12345
         
    db.Execute "UPDATE LoginDetails " & "SET EmployeeID = index " & "WHERE Username = frm.txt_username.Value;"

End Function

我已經嘗試了大約 2-3 天,也許在這里和那里幾個小時才能讓它工作,但我開始失去動力。 我設法寫了一行 SQL ,其中有一個 static 值作為 EmployeeID,但是一旦你在混合中添加 VB 變量,它就不喜歡它。

任何人都可以幫助我嗎?

將 SQL 行視為包含 SQL 命令的字符串。

SQL 部分(表名、列名)是 static,您需要連接從訪問它獲得的變量。 所以你的行將是:

db.Execute "UPDATE LoginDetails SET EmployeeID = " & index & " WHERE Username = '" & frm.txt_username.Value & "';"

此外,在連接時最好在 SQL 關鍵字之前留一個空格(防止執行時出現問題)。

db.Execute "UPDATE LoginDetails " & "SET EmployeeID = " & index & " WHERE Username = '" & frm.txt_username.Value &"'; "

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM