我在 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"));
有什么明显的事情破坏了我的代码吗?如果有任何帮助,我将不胜感激!
最佳答案
引用字段名称时,您可能需要一个感叹号 (!),而不是一个弹出符号 (.)。如:
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”和“value”这样的单词(这是该语言固有的)前面需要一个流行。
关于mysql - 这段VB代码突然崩溃了。这是对的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27000481/