Arkadaşlar ms Access içinde gantt çhart oluşturmak biraz karmaşık bir konu olduğu için görsel olarak aktiviteleri ve aktivite üzerinde yapılacak işlemleri yani Html sayfasını ms Access formu üstünden kontrol ederek veritabanınızda bulunan bilgileri json formatına dönüştürmek ve Html olarak explorer ile göstermek ve uygulama üstünde güncelleme yapmak için tamamen Html sayfasındaki tıklama olaylarını yakalayan ve buna göre işlem yapan bir örnek uygulamadır. daha farklı geliştirilebilir.
Access Html Gantt Chart
Sayın @eyildiz52
Katkınız için teşekkür ederiz.
Çok detaylı inceleme fırsatım olmamasına rağmen işinizi kolaylaştırması temennisi ile yapıcı bir kaç not paylaşmak isterim:
Uygulamanızda Tim Hall'un VBA-JSON v2.3.1 MIT lisanslı ticari kullanımı sebest olan kod kitaplığını kullanmakta olduğunuz görülmekte. Bu çalışma Access çevrelerinde oldukça popüler olsa da teknik anlamda fallbackler ve early/late binding açısından düzeltmeler yapılması gereken detaylara sahip. İlerideki çalışmalarınızda ve versiyon güncellemelerinizde bu hususları gözönünde bulundurmanız yerinde olacaktır.
Path işlemlerinde "/" kullanıyorsunuz yük altında sorun çıkartır "\" kullanın.
Tarih ve zaman için "dd-mm-yyyy 00:00" formatı kullanımı hatalı hele json kütüphaneleri ile işlem yapıyorsanız güvenli değil. ISO "yyyy-mm-dd HH:nn" formatını kullanmayı alışkanlık haline getirseniz hem sorun yaşama ihtimaliniz minimize edilir hemde proje büyüklüğüne göre başka veritabanlarına entegrasyon düşündüğünüzde sorun yaşamazsınız.
Null olabilecek alanlara karşı denetim ve kontrolleriniz çalışmanızın yapısına göre çok az. NZ ve/veya IsNull gibi kontrolleri daha çok kulanmalısınız.
Hedef klasör yapılarınızda da ufak tefek sorunlar var. Örneğin Open *** For Output gibi işlemlerinizde klasör varsa ok ancak yoksa/erişim hatası/sehven silme vb gibi durumlarda hata verir. Klasör yoksa oluştur, hata denetimi yap gibi fallbackler planlamanız gerekmekte.
strOutput = strOutput & " ""text"": """ & Replace(rsTasks!TaskName, """", """""") & """," & vbCrLf tarzı kodlar sadece çift tırnakları iki tane yapıyor script için yeterli değil. Genel geçer
json hakimiyetiniz güzel bu ufak notları dikkate alırsanız şahsen çok daha iyi işlevler ortaya koyabileceğinize şüphem yok. Gnatt Chart, jsona hakimseniz Access içinde en kolay yönetilen grafik modelidir. Diğer kompleks graifk modelleri gibi çok boyutlu veri, hesaplamalar, pivot, seri-seri karşılaştırmaları vs içermez; id-text-start-end-duration-progress-parent/link yapısı sayesinde tablo yapısını kurmak, güncellemek ve yeniden render etmek daha az karmaşıktır. Ama işin içine json girdiğinden bir çok kullanıcıyı ürküten çalışmayı doğru uygulayış tarzınız ile daha kompleks yapıları da yönetebileceğiniz inancı yaratıyorsunuz. Elinize sağlık, keşke daha çok zamanım olsa ve daha detaylı inceleme fırsatım olsaydı. İlerleyen zamanda çalışmalarınıza yeniden dönmek dileğiyle, iyi çalışmalar.
Katkınız için teşekkür ederiz.
Çok detaylı inceleme fırsatım olmamasına rağmen işinizi kolaylaştırması temennisi ile yapıcı bir kaç not paylaşmak isterim:
Uygulamanızda Tim Hall'un VBA-JSON v2.3.1 MIT lisanslı ticari kullanımı sebest olan kod kitaplığını kullanmakta olduğunuz görülmekte. Bu çalışma Access çevrelerinde oldukça popüler olsa da teknik anlamda fallbackler ve early/late binding açısından düzeltmeler yapılması gereken detaylara sahip. İlerideki çalışmalarınızda ve versiyon güncellemelerinizde bu hususları gözönünde bulundurmanız yerinde olacaktır.
Path işlemlerinde "/" kullanıyorsunuz yük altında sorun çıkartır "\" kullanın.
Tarih ve zaman için "dd-mm-yyyy 00:00" formatı kullanımı hatalı hele json kütüphaneleri ile işlem yapıyorsanız güvenli değil. ISO "yyyy-mm-dd HH:nn" formatını kullanmayı alışkanlık haline getirseniz hem sorun yaşama ihtimaliniz minimize edilir hemde proje büyüklüğüne göre başka veritabanlarına entegrasyon düşündüğünüzde sorun yaşamazsınız.
Null olabilecek alanlara karşı denetim ve kontrolleriniz çalışmanızın yapısına göre çok az. NZ ve/veya IsNull gibi kontrolleri daha çok kulanmalısınız.
Hedef klasör yapılarınızda da ufak tefek sorunlar var. Örneğin Open *** For Output gibi işlemlerinizde klasör varsa ok ancak yoksa/erişim hatası/sehven silme vb gibi durumlarda hata verir. Klasör yoksa oluştur, hata denetimi yap gibi fallbackler planlamanız gerekmekte.
strOutput = strOutput & " ""text"": """ & Replace(rsTasks!TaskName, """", """""") & """," & vbCrLf tarzı kodlar sadece çift tırnakları iki tane yapıyor script için yeterli değil. Genel geçer
Private Function JsEscape(ByVal s As String) As String
If s Is Nothing Then JS_Escape = "" : Exit Function
s = Replace(s, "\", "\\")
s = Replace(s, """", "\""")
s = Replace(s, vbCrLf, "\n")
s = Replace(s, vbCr, "\n")
s = Replace(s, vbLf, "\n")
JS_Escape = s
End Function
fonksiyonu json escape için yapacağınız ufacık bir araştırmada hemen her yerde karşınıza çıkar bunu kullanmayı tercih etmeniz daha doğru olur.json hakimiyetiniz güzel bu ufak notları dikkate alırsanız şahsen çok daha iyi işlevler ortaya koyabileceğinize şüphem yok. Gnatt Chart, jsona hakimseniz Access içinde en kolay yönetilen grafik modelidir. Diğer kompleks graifk modelleri gibi çok boyutlu veri, hesaplamalar, pivot, seri-seri karşılaştırmaları vs içermez; id-text-start-end-duration-progress-parent/link yapısı sayesinde tablo yapısını kurmak, güncellemek ve yeniden render etmek daha az karmaşıktır. Ama işin içine json girdiğinden bir çok kullanıcıyı ürküten çalışmayı doğru uygulayış tarzınız ile daha kompleks yapıları da yönetebileceğiniz inancı yaratıyorsunuz. Elinize sağlık, keşke daha çok zamanım olsa ve daha detaylı inceleme fırsatım olsaydı. İlerleyen zamanda çalışmalarınıza yeniden dönmek dileğiyle, iyi çalışmalar.
Konuyu Okuyanlar: 1 Ziyaretçi