soru 1 de benim yazdıklarım tam karşısına gelmiyor, soru2 de bende çalışmıyor,
yani benim istediğim soru1 de 3 satır yukarı doğru nasıl yok edilir bu sayede no ların karşısına tutarlar gelir,
soru 2 de ise olay exceldeki gibi a+b burada nasıl yapılır yani 2 hücreyi toplama işlemi
Soru 1
En kolayı tablonuz açıkken Araçlar/Ofis Bağlantıları/...Excel İle çözümle ile excel dosyasına dönüştürüp, excelin olanakları ile bilgileri eşleştirip access'yeni tablo olarak geri almanız.
Soru 2
Yukarda arkadaşın sorgu ile yaptığı çözüm Yine excele aktarıp geri alabilirsin.
Tabii yukarda anlattıklarım, bir defaya mahsus tabloyu düzenlemek için, yoksa pratik olmaz.
arkadaşlar öncelikle teşekkürler, fakat benim bunu excele atmam imkansız, çünkü yaklaşık 300 bin satır excele sığmıyor, anlamadığım accesde bi toplama işlemi bu kadar zor demek!!!!!
Sayın search77, sorduğunuz sorunun access de excel gibi kolay olmadığını anlatma babından size excel ile karıştırmayın demiştim. Yoksa başka bir amaçla değil. Çünkü accesin tablosu ile excell tablosu arasında pratik kullanım açısından çok fark var. Siz bir toplama işlemi için lütfen accesi yargılamayın. accesin günahlarını sayarken sevaplarından da bahsedelim. Access programcılık açısından excel'e fark atar, hem de büyük fark atar. Ben accesle ihtiyacımı karşılayacak bütün programları yapabiliyorsam benim için değerlidir. İyi çalışmalar.
Bu sorunun Access'tede bir çözümü var.
1. İlk önce soru1 tablosuna dayanan iki adet sorgu oluştur. Birinci sorgunun NO alanının Ölçüt kısmına Is Not Null yaz. İkinci sorgunun ise TUTAR alanının Ölçüt kısmına yine Is Not Null yaz.
2. Bu sorguları tasarım modunda iken "Sorgu/Tablo Yapma Sorgusu" menüsünden bu sorguları Tablo yapma sorgusuna dönüştir.
3. Bu sorgularla oluşturulan tablolara birer alan ekle bunların "Veri Türünü" otomatik sayı olarak belirt ve bunların birisini veya ikisini de Birinci Anahtar ayarla.
4. Bu iki tabloları yeni oluşturalan alanlar ile ilişki kurdur.
5. Yeni bir sorgu oluşturup, bu iki tablodan NO alanında veri olan (Boş olmayan) tablodan NO alanını, TUTAR alanınında veri olan tablodan da TUTAR alanını sorguya al .
İşin hallolur.
İlk Önce soru1 tablosundan bir kopya oluşturup, adını Yeni olarak değiştirdim ve içindeki kayıtları sildim.
Bir Form oluşturup bir düğme yaptım ve aşağıdaki kodu yazdım.
Private Sub Komut0_Click()
Dim ys1 As New ADODB.Recordset
Sec1 = "SELECT * FROM soru1 WHERE (((soru1.[NO]) Is Not Null));"
ys1.Open Sec1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dim ys2 As New ADODB.Recordset
Sec2 = "SELECT * FROM soru1 WHERE (((soru1.TUTAR) Is Not Null));"
ys2.Open Sec2, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
a = ys2.RecordCount
For i = 1 To a
Dim ys3 As New ADODB.Recordset
ys3.Open "Yeni", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
ys3.AddNew
ys3("NO") = ys1("NO")
ys3("TUTAR") = ys2("TUTAR")
ys3.Update
ys3.Close
ys1.MoveNext
ys2.MoveNext
Next
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.