Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7447 / 9994 ←次へ | 前へ→

【5739】Re:最終項目の最後の移動
回答  小僧  - 05/8/3(水) 13:55 -

引用なし
パスワード
   ▼安久 さん:
こんにちは。

>しかし、エラーはでないのですが凄く重くてデータの移動を確認できません。
> (30分ぐらいしても無理でした)

DLookup関数でクエリ(ですよね?)を開いているため、
クエリを開く時間 + 検索の時間 なのでしょうかね…。

レコード件数やPCの環境によっても違うと思いますが、
クエリで処理されてみてはいかがでしょうか。

検査コード = 010092 が 「TG」
       020010 が 「WBC」

のような形でしたら、

Private Sub 実行_Click()
'※要参照 DAO x.x Object Library
Dim SQLCode As String
Dim RS As DAO.Recordset
Dim KCode As Variant
Dim KName As Variant
Dim I As Long
  KCode = Array("010092", "020010")
  KName = Array("TG", "WBC")

  For I = 0 To UBound(KCode)
    SQLCode = "SELECT Ka検査q.検査結果 " _
        & "FROM Ka検査q " _
        & "WHERE Ka検査q.検査コード = '" & KCode(I) & "' " _
        & "ORDER BY Ka検査q.[検査日] DESC;"
  
    Set RS = CurrentDb.OpenRecordset(SQLCode, dbOpenSnapshot)
      If Not (RS.NoMatch) Then
        Forms![患者名].Controls(KName(I)) = RS![検査結果]
      End If
    RS.Close
  Next
End Sub

ただこの場合も「Ka検査q」を開いているので、
できれば元テーブルから「SELECT」した方が早い処理になると思います。
807 hits

【5707】最終項目の最後の移動 安久 05/7/30(土) 16:19 質問
【5710】Re:最終項目の最後の移動 小僧 05/8/1(月) 10:33 発言
【5738】Re:最終項目の最後の移動 安久 05/8/3(水) 12:40 質問
【5739】Re:最終項目の最後の移動 小僧 05/8/3(水) 13:55 回答
【5772】Re:最終項目の最後の移動 安久 05/8/5(金) 16:15 質問
【5778】Re:最終項目の最後の移動 小僧 05/8/8(月) 9:30 発言
【5842】Re:最終項目の最後の移動 安久 05/8/11(木) 18:08 質問
【5844】Re:最終項目の最後の移動 小僧 05/8/12(金) 10:07 発言
【5847】Re:最終項目の最後の移動 小僧 05/8/12(金) 10:45 回答
【5876】Re:最終項目の最後の移動 hikaru 05/8/17(水) 14:58 質問
【5882】Re:最終項目の最後の移動 小僧 05/8/17(水) 16:47 発言

7447 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078263
(SS)C-BOARD v3.8 is Free