2012-11-06 39 views
1

如何将计算值从文本框保存到表中? 我试图使我的计算作为默认值,它是储蓄,但如果我改变输入我的计算不会改变。如果我把它放到我的控制源中,我不能保存它。如何将计算值从文本框保存到表中

是否可以将计算保存到表中?

亲切的问候, Lukso

回答

4

在大多数情况下,你需要使用一个事件。控件的After Update事件通常是合适的。例如

Form 
--------------------------- 
Amount : 10 
Tax : 2 
Total : 12 'Amount + Tax 

通过上述形式,在更新事件税和金额后,您可以更新绑定控件以总金额+税收。

Private Sub Amount_AfterUpdate() 
    Me.Total = Me.Amount + Me.Tax 
End Sub 

像往常一样计算,你必须问自己是存储此计算还是可以从查询中获得?

最后,随着Access 2010来到data macroscalculated columns,这也可能适合。

1

INSERT INTO如果您创建新记录 或 UPDATE如果您正在更新现有记录。

您可能需要隐藏一个单独的未绑定文本框,这取决于您正在执行的操作。

这会将字段fieldName更新为值fieldNameTextBox,其中记录ID自动编号字段=表单上的自动编号字段。

Insert Into具有非常相似的语法。

Dim db As DAO.Database 
Dim RecordList As DAO.Recordset 
Set db = CurrentDb() 
Set RecordList = db.OpenRecordset("qryClientSearch") 
db.execute "UPDATE table1 SET table1.fieldName = """ & Me.fieldNameTextBox.Value & """ WHERE Table1.ID = " & Forms![FormName]![ID] & "" 
+0

如果你在窗体上运行这个VBA,你很可能会遇到更新窗体和代码上的记录的问题。这是几个错误的常见原因。 – Fionnuala

+0

如果你只是点击了按钮控件,添加一个查询,并且使用一个未绑定的文本框作为你正在使用的控件(设置等于一个隐藏的绑定控件的值),它是否仍然可能更新两次?所有的数据都会进入未绑定的控件,所以表单不应该更新它,只能是代码。 –

+0

更新控件和更新单独的实例有很大的区别。如果您添加更新按钮等,您会向用户询问很多。 – Fionnuala

相关问题