我在Microsoft Access中的链接表突然开始返回值为#DELETED的每个字段。我决定改为导入表,只是安排一个任务来定期执行,而不是处理查询在旧链接表运行时导致的密钥违规(奇怪的是,重新链接表会暂时修复其中的一些。导入似乎把它固定好。)
但是,代码仍然存在。奇怪的是,这个VB代码现在返回一个错误。它很简短,但如下:
Private Sub Form_Open(Cancel As Integer)
If IsLoaded("consumer_info") Then
Me.Text0.Value = Forms!Consumer_Info.contract_name
Else
Me.Text0.Value = Forms!frmAllentownMasterGeneration.cboContract
End If
End Sub
在SQL查询中,这里引用的信息相同:
WHERE (((billing_days_allentown.Month)=[Forms]![frmBillingAllentownSelection]![cboMonth]) AND ((billing_days_allentown.Year)=[Forms]![frmBillingAllentownSelection]![cboYear]) AND ((billing_days_allentown.contract_name)=[Forms]![frmBillingAllentownSelection]![cboContract]) AND ((location_info.primary_address)="-1"));
有什么明显的东西似乎打破了我的代码吗?我很感激任何帮助!
答案 0 :(得分:0)
引用字段名称时,您可能需要一个爆炸(!)而不是一个pop(。)。如:
Me.Text0.Value = Forms!Consumer_Info!contract_name
而不是
Me.Text0.Value = Forms!Consumer_Info.contract_name
或者您甚至可能需要拼写出来:
Me.Text0.Value = Forms!Consumer_Info!contract_name.Value
一个好的经验法则是; 如果你创建了它,那就打发它。这就解释了为什么你的表单和字段名称(用你创建的单词命名,比如" Consumer_Info")需要先发出爆炸声,然后像" text"和"价值" (这是语言固有的)前面有一个pop。