Ekteki örnek veritabanında alt formda (Form2) yer alan SIRA NO alanının Form1'deki her kayıt için 1'den başlayıp, alt formdaki bir sonraki her kayıt için 1'er artmasını nasıl sağlayabilirim?
İlgilenebilecek arkadaşlara şimdiden çok teşekkür ederim.
Sn abahceci;
1. Tablo2'de ki SIRA_NO alanini silin.
2. Tablo2 formu Kayit Kaynagi SQL'ni
SELECT Tablo2.*, DCount("*","Tablo2","[NO]=" & [NO] & " And [TETKIK_NO]<=" & [TETKIK_NO]) AS SIRA_NO FROM Tablo2 ile degistirebilirsiniz.
veya Yuruyen bakiye gibi de dusunulebilir.
SELECT Tablo2.*, (Select Count("*") From Tablo2 As b Where (((b.[NO])=Tablo2.[NO]) And ((b.[TETKIK_NO])<=Tablo2.[TETKIK_NO]))) AS SIRA_NO FROM Tablo2 ORDER BY Tablo2.[NO], Tablo2.TETKIK_NO;
NOT: Nesnelerin adlandirilmasinda NO, NOT, vb.. tanimlamalardan kacinmak gerekir.
Sayın dsezgin83260 hocam, ilginize gerçekten çok teşekkür ederim.
Normalde NO, NOT gibi isimlendirme kullanmamaya dikkat ediyorum, uyarınız - hatırlatmanız - için çok teşekkür ederim.
Bu örnek bir veritabanı olduğu için oluştururken açıkçası çok düşünmedim.
Önerinizdeki ilk sorguyu kullandım, ancak
SELECT Tablo2.*, (Select Count("*") From Tablo2 As b Where ((b.[TETKIK_NO])<=Tablo2.[TETKIK_NO]))) AS SIRA_NO FROM Tablo2 Order b Tablo2.[NO], Tablo2.[TETKIK_NO]
sorgusunu nerede kullanacağımı mesajınızdan tam anlayamadım.
Bu sorguyu kullanmadığımdan olsa gerek, Form1'deki 1. kayıt için Sıra No 1'den başlayıp 1'er artarken, 2. kayıt için ilk kayıt hangi sırada bitmişse, ondan başladı.
Ben ise Form1'deki her kayıt için SıraNo'nun 1'den başlamasını istiyorum.
NO sutunu (tanimlama sebebi) eklemeyi unutmusum. Cevap mesajimdaki SQL'i degistirdim. Ikinci Select alternatif onerimdi ve ilki gibi formun kayit kaynagina yerlestirilebilir.