Access Form_Current()事件仅在按F5

时间:2016-04-26 12:07:00

标签: sql-server access

以下是代码:

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的情况下工作,没有重新查询......

1 个答案:

答案 0 :(得分:0)

现在我知道更好!!!解决方案是: 错误的我在想:

按F5 = Form.Requery

但那是错的。对是:

按F5 = Form.Refresh

使用.Refresh。

刷新最后一条记录

另外你应该知道,我正在尝试使用DoCmd.RefreshRecord,但这是最慢的,我在尝试!!!这需要超过两倍的时间!!!

格尔茨 Vegeta_77