簡體   English   中英

插入問題(access / vb)

[英]Issue with insert (access/vb)

我已經嘗試解決此問題已有兩天了,對此我不再贅述。

我的訪問應用程序中有兩個表:其中一個表名為tabDerroga ,其中保存了一些文檔的數據(主要是其協議號或“ Protocolo”)。 另一個名為tabLog ,它用於存儲日志。 我還有一個查詢,用於檢查是否有與Derroga相關的Derroga 如果是這樣,則不再需要使用它。 但是,如果沒有,則需要對其進行處理,然后保存日志條目,詳細說明我的操作。 tabLog表具有一個指向tabDerroga 。[Protocolo]的[Protocolo Derroga]外鍵/字段。 完全沒有問題。

在創建表和查詢時,我已經手動對所有內容進行了廣泛的測試,並且可以完美地工作。 如果我在tabLog中創建了任何條目,其中“外部字段”引用了tabDerroga條目,則該條目將在查詢中被忽略。

當我通過VBA向tabLog添加一行時,我的問題就開始了。 如果在表之后手動檢查表,則可以確認已成功添加該表。 但是查詢看不到它

我可以運行該代碼數百次,使用相同的數據創建數百行,但是在某種程度上,它似乎對數據庫的其余部分“不同”或“不可見”。 如果我復制這些行中的任何行並粘貼到新條目上,則手動添加的該行將立即對查詢“可見”,而其他所有行則不可見。 他們都有相同的數據

這是我嘗試完成任務的方法之一:

MyRS.MoveFirst

MyRS.AddNew
    MyRS![Descrição] = "10 dias antes de vencer"
    MyRS![Protocolo derroga] = Protocolo
MyRS.Update

MyRS.Close

這給了我完全相同的結果

DoCmd.RunSQL "INSERT INTO tabLog ([Protocolo derroga],[Descrição]) VALUES ('" & Protocolo & "','10 dias antes de vencer')"

這樣:

CurrentDb.Execute "INSERT INTO tabLog ([Protocolo derroga],[Descrição]) VALUES ('" & Protocolo & "','10 dias antes de vencer')"

順便說一句,我已經通過首先組裝整個字符串來檢查問題是否與任何sql注入問題有關。 得到了相同的結果。

我想念什么? 在准備使用數據之前,我需要“更新”任何內容嗎? 如果是這樣,為什么它正常顯示在表格中?

任何幫助將不勝感激!

我真笨 我完全忘記了處理計算機的第一個也是唯一的通用規則:如果不起作用,請重新啟動所有程序。

昨天回到家,今天一切都按預期進行。 無需更改代碼。

感謝@ TimLentine,@ JohnnyBones,@ MurDeR和@ MP24!

暫無
暫無

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

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