Access
 sql >> Teknologi Basis Data >  >> RDS >> Access

Cara Memperbaiki 'System Resource Exceeded' Saat Bermigrasi ke Windows 10

Cara Memperbaiki 'System Resource Exceeded' Saat Bermigrasi ke Windows 10

Pesan Kesalahan Sumber Daya Sistem Melebihi

Akhir-akhir ini kami telah melihat rentetan klien yang mendapatkan “System Resource Exceeded” saat bermigrasi ke Windows 10, meskipun sistem bekerja dengan baik di versi Windows sebelumnya. Dalam beberapa kasus, kami telah melacak masalah tersebut ke aplikasi yang menggunakan banyak subformulir di kontrol tab, jadi saya akan menjelaskan teknik yang akan mencegah masalah dalam kasus tersebut ketika setiap tab menghosting subformulir.

Tab Membuat UI Hebat – Sampai memori habis

Beberapa hari yang lalu saya bekerja dengan aplikasi klien yang tiga tingkat tab dalam:tab di dalam tab, yang semuanya dimuat dengan subformulir setiap kali formulir dibuka. Aplikasi ini bekerja dengan baik di Windows 7 tetapi menyebabkan pesan kesalahan “System Resource Exceeded” di Windows 10. Solusinya adalah hanya memuat subformulir saat pengguna mengklik tab dan membongkar subformulir saat mereka mengklik ke tab lain.

Private Sub TabTasks_Change()
10 Static LastSubform As Access.SubForm

12 Jika Bukan LastSubform Bukan Apa-apa Maka
14 Jika Len(LastSubform.SourceObject) Kemudian
16 LastSubform.SourceObject =vbNullString
18 Berakhir Jika
20 Berakhir Jika
22 Pilih Case Me.TabTasks.Value
24 Case Me.Orders.PageIndex
25 If Me.frmOrders.SourceObject =vbNullString Kemudian
26 Atur LastSubform =Me.frmOrders
28 LastSubform.SourceObject =“frmOrder_sub”
30 End If
32 Case Me.Invoices.PageIndex
34 If Me.frmInvoices.SourceObject =vbNullString Then
36 Set LastSubform =Me.frmInvoices
38 LastSubform.SourceObject =“frmInvoices_sub”
40 End If
42 Case Me.Payments.PageIndex
44 If Me.frmPayments.SourceObject =vbNullString Kemudian
46 Tetapkan LastSubform =Saya .frmPayments
48 LastSubform.SourceObject =“frmPayments_sub”
50 End If
52 End Select
End Sub

Ulasan Kode

Keajaiban terjadi pada acara Ubah tab, yang terjadi ketika pengguna mengklik setiap tab kontrol. Dalam contoh kode di atas saya hanya tertarik pada tab yang memiliki subformulir, dalam hal ini tiga tab. (Teknik ini tidak berguna untuk tab tanpa subformulir).

Objek LastSubForm statis, (baris 10), melacak subformulir terakhir yang digunakan dan menyetel nilai SourceObject-nya ke null pada baris 16. Ini akan mengosongkan formulir tab sebelumnya dari memori dan menjaga penggunaan memori seminimal mungkin saat pengguna mematikan ke tab lain.

Pernyataan pilih pada baris 22 digunakan untuk mengidentifikasi tab mana yang diklik, lalu atur objek LastSubForm ke subformulir yang ada di tab dan terakhir atur SourceObject dari subformulir pada baris 28. Melakukannya akan segera memuat subformulir ke dalam memori. Pemrosesan diulang untuk dua tab lain dari kontrol dengan subformulir.

Perhatikan

Untuk meminimalkan penggunaan memori, Anda perlu menyetel properti SourceObject dari setiap tab yang bersangkutan ke string kosong dalam tampilan desain, jika tidak, semua subformulir akan dimuat, yang mengalahkan tujuan teknik.

Tab pertama kontrol Anda harus dimuat karena itulah yang akan dilihat pengguna Anda saat mereka membuka formulir Anda.

Cukup tambahkan lebih banyak pernyataan pilihan sesuai kebutuhan jika Anda perlu menggunakan teknik ini dengan lebih banyak tab, saya telah menggunakannya untuk kontrol tab yang memiliki 8 tab.

Jika Anda memiliki tab bersarang, Anda perlu mengulangi pendekatan untuk setiap kontrol tab.

Jika nama subformulir Anda sama dengan properti SourceObject, Anda dapat lebih mengoptimalkan kode dengan menggunakan variabel string dalam kode.

Jika Anda menyukai postingan ini, bagikan!

Silakan bagikan posting ini di LinkedIn, Twitter dan Facebook, itu akan sangat dihargai!

Bergabunglah dengan saya pada pertemuan Access with SQL Server berikutnya pada 8 Mei, pukul 18:30 CST, untuk detail lebih lanjut, silakan klik di sini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memadat dan Memperbaiki Database Secara Otomatis di Access 2016

  2. Menggunakan Tampilan SQL untuk Menambahkan/Mengedit Data di Microsoft Access

  3. Cara Membuat Tabel dalam Tampilan Lembar Data di Access 2016

  4. Menggunakan OASIS-SVN dan git untuk kontrol kode sumber Access

  5. 5 Alasan Microsoft Access Sangat Bagus untuk Startup