以下是代码:
Dim cmd As New ADODB.Command
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
With cn
.ConnectionString = "Provider=SQLOLEDB.1;Data Source=xxx;Initial Catalog=KalkDB_V1;User Id=xxx;Password=xxx"
.CursorLocation = adUseClient
.Open
End With
Set cmd = New ADODB.Command
With cmd
Set .ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "qspSuperliste_Update"
.Execute , , adExecuteNoRecords
End With
我有一个子表单。它的来源是一个链接的SQL Server表。选择*来自链接表。子表单只是一个数据视图。如果用户正在更改explicite列,则必须更新表。当用户跳到下一行时,这应该工作。但它没有用。什么都没发生。但是当我跳到下一行然后按F5然后它就可以了。这意味着将执行Storend过程并更新表。但为什么它只适用于按F5 ???当我在代码中写一个.Requery时,它可以工作,但是那个requery确实需要5秒!按F5时,它比Flash快; - )
如何有想法!?
THX
Greetz Vegeta_77
P.S。 在Form.Current是另外两个调用的例子,它们在没有F5的情况下工作,没有重新查询......
答案 0 :(得分:0)
现在我知道更好!!!解决方案是: 错误的我在想:
按F5 = Form.Requery
但那是错的。对是:
按F5 = Form.Refresh
使用.Refresh。
刷新最后一条记录另外你应该知道,我正在尝试使用DoCmd.RefreshRecord,但这是最慢的,我在尝试!!!这需要超过两倍的时间!!!
格尔茨 Vegeta_77