Öncelikle herkese kolay gelsin. Kayıt girişi esnasında form üzerindeki alanların boş geçilip geçilemeyeceğini kontrol etmek istiyorum. Örneğin bir stok kartı tanımlama giriş ekranı olduğunu düşünürsek form üzerinde tanımlı alanlarımız STOK_NO ve STOK_ADI olduğunu düşünelim ve bunlar editbox olsun. Aynı isimler ile bu alanları bir kontrol tablosuna kaydediyorum. Form kaydet butonuna bastığımda kontrol tablosuna bakacak ve tabloya girilmiş olan kayıtların alan isimleriyle form üzerinde eşleşen editbox içeriklerini kontrol edecek.
Kontrol tabloda STOK_ADI var olduğunu düşünelim, kaydet düğmesine bastığımda bu alanın ekrandaki editbox'ı olan STOK_ADI.Text değerine ulaşabilmek istiyorum fakat bunu yüzlerce alan olarak düşünmeliyiz. Bu kontrolü makro kullanarak nasıl yapabileceğim konusunda yardımınızı rica ediyorum.
Yapmak istediğim kısaca şöyle özetleyebilirim. Kullanıcı stok kartı açıyor ise boş geçilemeyecek stok kartı alanlarını bir kontrol tablosuna kaydetmek istiyorum. Yukarıda ki örnekte STOK_ADI olarak bu alanı belirttim. Kaydet düğmesine bastığımda kontrol tablosu açılacak ve tabloda ki alan isimleri ile eşleşen ilgili form üzerindeki nesnelere bakarak kontrol tablosunda tanımlı olan alana bilgi girişi yapılıp yapılmadığını tespit etmek istiyorum. Yardımlarınız için teşekkür ediyorum.
Kod: Tümünü seç
if STOK_NO.TEXT<> '' then
if STOK_ADI.TEXT<> '' then
şeklinde ekrandaki her bir nesneyi ayrı ayrı kontrol etmek istemiyorum. Aşağıda ki gibi bir kod yazarak tabloda tanımlı nesne adlarını tablodan okuyarak bu işlemi otomatik yapmak istiyorum, bunu yapabilir miyim ? Tabi bunu makro kullanarak yapmalıyız diye düşünüyorum fakat kullanmayı bilmiyorum.
KONTROLTABLOSU.OPEN;
while not KONTROLTABLOSU.Eof do
begin
IF KONTROLTABLOSUALAN_ADI.VALUE = '' THEN -->BU İFADE BÖYLE YAZILMAYACAK TABİİ Kİ, İHTİYACIM OLAN BURANIN YAZILIMI NASIL OLMALI ?
SHOWMESSAGE('STOK NO ALANI BOŞ GEÇİLEMEZ.');
(
KONTROL TABLOSUNDA SONRAKİ KAYDIN STOK ADI OLDUĞUNU DÜŞÜNELİM.
IF KONTROLTABLOSUALAN_ADI.VALUE = '' THEN
SHOWMESSAGE('STOK ADI ALANI BOŞ GEÇİLEMEZ.');
)
KONTROLTABLOSU.Next;
end;
Şeklinde bir kullanım yapabilir miyim ? Umarım yapmak istediğimi ifade edebilmişimdir.