![]() |
Alt Tablolarda İşlemler - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html) +--- Konu Başlığı: Alt Tablolarda İşlemler (/konu-alt-tablolarda-islemler--87849.html) |
Alt Tablolarda İşlemler - fenerli6774 - 19/11/2020 Daha önceden böyle bir konu açmıştım. Aldığım yardıma göre başka bir çalışma yaptım. Ama kodları çalıştıramadım. Nerde hata yapıyorum? Bakabilir misiniz. Ben defalarca inceledim ama bişey göremedim. Örnek ektedir. Teşekkür ederim. RE: Alt Tablolarda İşlemler - ozanakkaya - 19/11/2020 Merhaba, Kod içerisine Exit Sub yazarsanız, bu koddan itibaren durur, sonraki kodlar çalışmaz
Bu kod hatalı, " tblFaturayillar" şeklinde yazarsanız kod çalışmaz, çift tırnaklar arasında boşluk olmamalıdır.
Kodun en sonunda tek tırnak var. Kod bloğu içerisinde başka hiç tek tırnak yok, tek tırnak ile açıldıysa yine tek tırnak ile kapatılmalıdır.
INSERT INTO KODUNDA, tablodaki alanlar yazıldıktan sonra parantez kapatılır. Parantez kapatılmadan önce virgül eklenmemez.
En sondaki virgül hatalı. ekleme sorgusunda, tablodaki alanlar kadar, alanlar için atanan (values) değeri sayısı aynı olmalıdır. İlk kısımda 5 tane tablo alanı, ikinci kısımda (values) bu alanlar için belirlenen 4 veya 6 değer olmamalı, values kısmı da 5 olmalı. Koddaki ilk ekleme sorgusunda tablo için Faturatarihi alanı eklenmiş ancak bu alan içi değer içeren denetim eklenmemiş. Kodun tamamı aşağıdaki gibi olmalı
RE: Alt Tablolarda İşlemler - fenerli6774 - 22/11/2020 '" & Me.akAyadi & "'" ifadesinin sağında ve solunda & işareti ne anlama geliyor? rsSQL1.Open strSQL1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic Araştırdığımda "Varsayılan olarak, ADO kayıt kümeleri eklemeler ve silmelere izin vermeyen bir adLockReadOnly kilit türüyle açılır. Bu nedenle adLockOptimistic kullanıyoruz. " bilgisini öğrendim. Fakat "adLockPessimistic" kodu da kullanılabilir diyor. İkisinin arasındaki fark nedir? Bir de neden adOpenkeyset var? Bunların dışında eklemiş olduğum kod dizinindeki açıklamlarınızı incledim ve hatalarımı gördüm. Teşekkür ederim. iyi çalışmalar. RE: Alt Tablolarda İşlemler - fenerli6774 - 29/11/2020 Yukarıda yazmış olduğunuz kod ile ilgili olarak; (Bu nedenle yeni konu açmadım. Yine de gerekiyorsa yeni konu açarım) tblFaturayillar tablosuna sonradan "Yillikbedel" alanı ekledim. Aylık fatura işlendiğinde fatura tutarının "txtFaturatutari" , Faturayıillar tablosundaki Yillikbedel alanına eklenmesini istedim. Bunun için 3. sıradaki kod satırını değiştirerek Toplamtutar değişkeni ekledim. Şu şekilde: Dim Varmi, YilDegeri, Toplamtutar As Integer 25. Satırdaki if Varmi=0 then komutundan sonraki komutu şu şekil değiştirdim. DoCmd.RunSQL "INSERT INTO tblFaturayillar (FirmaID, Yil,Yillikbedel) VALUES (" & rsSQL1.Fields("FirmaID") & ", '" & Me.akYil & "', '" & Me.txtFaturatutari & "')" 36. Satırdaki if Yildegeri>0 then satırından sonraki satırda Toplamtutar değerini tanımladım: Yilliktoplam = Application.DLookup("Yillikbedel", "tblFaturayillar", "[FirmaID] = " & rsSQL1.Fields("FirmaID") & " And [Yil] = '" & Me.akYil & "'") Yıllıktoplam ile form üzerindeki txtFaturatutarını nasıl toplatacağım? Şu şekil yaptım Application.DLookup("Yillikbedel", "tblFaturayillar", "[FirmaID] = " & rsSQL1.Fields("FirmaID") & " And [Yil] = '" & Me.akYil & "') = Yilliktoplam + Me.txtFaturatutari Bütün noktalama işaretlerini denedim. Ama Syntax error hatası veriyor. Yardımcı olursanız memnun olurum. Kolay gelsin. Re: Alt Tablolarda İşlemler - ozanakkaya - 30/11/2020 Kodu deneme imkanım maalesef olmadı Application.DLookup("Yillikbedel", "tblFaturayillar", "[FirmaID] = " & rsSQL1.Fields("FirmaID") & " And [Yil] = '" & Me.akYil & "') = Yilliktoplam + Me.txtFaturatutari Bu şekilde kod olmaz. Dlookup a böyle kod atayamazsınız. Yilliktoplam = Dsum ("Yillikbedel", "tblFaturayillar", "[FirmaID] = " & rsSQL1.Fields("FirmaID") & " And [Yil] = '" & Me.akYil & "') Üstteki kod tablodaki Yillikbedel alanının toplamıdır. Toplam = Yilliktoplam + Me.txtFaturatutari Bu şekilde de Yilliktoplam ile formdaki fatura tutarı toplanabilir. RE: Alt Tablolarda İşlemler - fenerli6774 - 30/11/2020 Yilliktoplam = Dsum ("Yillikbedel", "tblFaturayillar", "[FirmaID] = " & rsSQL1.Fields("FirmaID") & " And [Yil] = '" & Me.akYil & "') kodunu ya da Toplam = Yilliktoplam + Me.txtFaturatutari nereye yazmalıyım desem gülünç olurmu ki : ![]() |