Skip to main content

AccessTr.neT


Word Dot Şablonunu Açtırarak Veri Göndermek

Word Dot Şablonunu Açtırarak Veri Göndermek

#17
Notlarımı buldum tespitlerimi de ileteyim.
  1. DoCmd.RunSQL "DELETE * FROM Veri_girişi WHERE isnull([Evrak_Geliş_Sayısı])" gibi Sql işlemlerinizi DAO ile daha kararlı ve tutarlı çalışacak şekilde revize edin. Örneğin
    Dim db As DAO.Database
    Set db = CurrentDb
    db.Execute "DELETE FROM Veri_girişi WHERE [Evrak_Geliş_Sayısı] IS NULL", dbFailOnError
    Set db = Nothing
    gibi.
  2. For Each ctl In Me.Form.Controls 
    If ctl.Tag = "KBL_KMT" Then ctl.Enabled = True
    If ctl.Tag = "KMT" And ctl.Enabled = False Then ctl.Enabled = True
    If ctl.Tag = "WRD_KMT" Then ctl.Enabled = True
    Next
    gibi döngüleri her denetim ve şart için if/else değerlendirmesi ile tekrar tekrar döngüye sokmak yerine doğrudan koşula odaklı Select Case kullanıp performans arttırmaya odaklanın. Örneğin
    For Each ctl In Me.Controls
    Select Case ctl.Tag
    Case "KBL_KMT", "KMT", "WRD_KMT"
    ctl.Enabled = True
    End Select
    Next
    bu durumda if değerlendirmesine gerek kalmadan doğrudan case durumuna ilerleyerek performansı iyileştirirsiniz. Ayrıca .Tag kullanmakta çok sağlıklı değil bunun yerine daha belirgin ve tutarlı olacak şekilde denetimlere ilişkin bir değerlendirme yapmak daha doğru olur.
  3. If Len(Kişi_Adı) <= 0 Then Kişi_Adı.Enabled = False gibi gereksiz tekrarlayan denetimler yerine Kişi_Adı.Enabled = Len(Kişi_Adı) > 0 kullanmak daha tutarlı ve performanslıdır.
  4. Evrak_Türü_AfterUpdate ve Evrak_yazışma_Türü_Onay_Click olaylarında aynı kontrol ve işlemler tekrar ediyor. Bu işlemleri neden bir fonksiyona çekmiyorsunuz?
  5. Benzer şekilde tarih formatlamarı, ASCII denetimleri tekrar tekrar yazılmış bunları neden bir fonksiyona çekip hem kodu daha işlevsel hem performansı daha üst seviyeye çıkartmıyorsunuz?
  6. Hata denetimi mekanizmanız zaten yok. On Error Resume Next bir hata denetimi değildir hata varsa yoksay demektir.
    On Error GoTo ErrorHandler
    ' Kodlarınız burada
    Exit Sub
    ErrorHandler:
    MsgBox "Hata oluştu: " & Err.Description, vbCritical, "Hata"
    Resume Next
    şeklinde yazılacak kod bir hata denetimidir ve size hatanın ne olduğunu bidirdiğinden nereye nasıl müdahale etmeniz gerektiği ile ilgili bilgi sahibi olursunuz. Örneğin çok net olarak bu yapı kurgulanmadığı için mevcut sorunuzdaki hatanın nerede ve ne açıklama ile meydana geldiğini ancak debug ederek adım adım ilerleyerek tespit edebiliyorsunuz.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Word Dot Şablonunu Açtırarak Veri Göndermek - Yazar: atoykan - 15/01/2025, 16:15
Task