<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Access SQL - BASİT ÖRNEKLER VE UYGULAMALAR]]></title>
		<link>https://www.access-sql.com/</link>
		<description><![CDATA[Access SQL - https://www.access-sql.com]]></description>
		<pubDate>Fri, 17 Apr 2026 08:04:25 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Sesli Mesaj Uygulaması]]></title>
			<link>https://www.access-sql.com/Konu-Sesli-Mesaj-Uygulamasi</link>
			<pubDate>Sun, 23 Jul 2023 18:30:17 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Sesli-Mesaj-Uygulamasi</guid>
			<description><![CDATA[Arkadaşlar Merhaba, bahsetmiş olduğum küçük uygulamayı yaptım ve ekliyorum.<br />
Uygulamada 4 Adet Buton var. Mesaj1, Mesaj2, Mesaj3, ve Mesaj4 adında. Bu butonların hepsine ben sizin görmeniz için aynı ses dosyasını yerleştirdim. Sizle bunu geliştirebilirsiniz. Uygulama altında bulunan <span style="font-weight: bold;" class="mycode_b">sesler </span>klasörünün içerisine isterseniz kendi ses kayıtlarınızı yapın, isterseniz farklı ses dosyaları bulup onları kullanın. Ses dosyalarına verdiğiniz isimleri bağladığınız komut düğmesinin olayında geçen koda da eklemeyi unutmayın, Aksi takdirde çalmaz. <br />
Kolay gelsin...<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=25807" target="_blank" title="">SesliMesaj.rar</a> (Boyut: 468,92 KB / İndirilme: 23)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Arkadaşlar Merhaba, bahsetmiş olduğum küçük uygulamayı yaptım ve ekliyorum.<br />
Uygulamada 4 Adet Buton var. Mesaj1, Mesaj2, Mesaj3, ve Mesaj4 adında. Bu butonların hepsine ben sizin görmeniz için aynı ses dosyasını yerleştirdim. Sizle bunu geliştirebilirsiniz. Uygulama altında bulunan <span style="font-weight: bold;" class="mycode_b">sesler </span>klasörünün içerisine isterseniz kendi ses kayıtlarınızı yapın, isterseniz farklı ses dosyaları bulup onları kullanın. Ses dosyalarına verdiğiniz isimleri bağladığınız komut düğmesinin olayında geçen koda da eklemeyi unutmayın, Aksi takdirde çalmaz. <br />
Kolay gelsin...<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=25807" target="_blank" title="">SesliMesaj.rar</a> (Boyut: 468,92 KB / İndirilme: 23)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Haftabaşı Ve Haftasonu Gününü Bulan Uygulama]]></title>
			<link>https://www.access-sql.com/Konu-Haftabasi-Ve-Haftasonu-Gununu-Bulan-Uygulama</link>
			<pubDate>Wed, 21 Jun 2023 08:33:03 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Haftabasi-Ve-Haftasonu-Gununu-Bulan-Uygulama</guid>
			<description><![CDATA[Arkadaşlar Merhaba,<br />
Girilen bir tarihe ait o tarihin haftabaşı(Pazartesi) ve Haftasonu(Pazar) günlerini bulan bir uygulama ekliyorum.<br />
Faydalı olması dileğiyle...<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=25778" target="_blank" title="">Haftabaşı ve Sonu.rar</a> (Boyut: 22,98 KB / İndirilme: 22)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Arkadaşlar Merhaba,<br />
Girilen bir tarihe ait o tarihin haftabaşı(Pazartesi) ve Haftasonu(Pazar) günlerini bulan bir uygulama ekliyorum.<br />
Faydalı olması dileğiyle...<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=25778" target="_blank" title="">Haftabaşı ve Sonu.rar</a> (Boyut: 22,98 KB / İndirilme: 22)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Dişçi Hasta Takip]]></title>
			<link>https://www.access-sql.com/Konu-Disci-Hasta-Takip</link>
			<pubDate>Fri, 11 Nov 2022 20:46:55 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Disci-Hasta-Takip</guid>
			<description><![CDATA[Merhaba arkadaşlar, bu Diş Hekimine hazırlamış olduğum haftalık Hasta Takip programımdır, daha önce paylaşmışım, bir arkadaş prg mın 64bit ini yüklememi istedi, bende o arkadaşın isteği üzerine 64bit çevirerek ekliyorum,<br />
Kullanıcı adı: akd<br />
Parola : 1<br />
Sitemi yeni alan adı ile yeniden yayınlıyorum, <br />
<a href="https://www.akdyazilim.com.tr/" target="_blank" rel="noopener" class="mycode_url">https://www.akdyazilim.com.tr/</a><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=25435" target="_blank" title="">HASTA RANDEVUSU.rar</a> (Boyut: 284,35 KB / İndirilme: 121)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba arkadaşlar, bu Diş Hekimine hazırlamış olduğum haftalık Hasta Takip programımdır, daha önce paylaşmışım, bir arkadaş prg mın 64bit ini yüklememi istedi, bende o arkadaşın isteği üzerine 64bit çevirerek ekliyorum,<br />
Kullanıcı adı: akd<br />
Parola : 1<br />
Sitemi yeni alan adı ile yeniden yayınlıyorum, <br />
<a href="https://www.akdyazilim.com.tr/" target="_blank" rel="noopener" class="mycode_url">https://www.akdyazilim.com.tr/</a><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=25435" target="_blank" title="">HASTA RANDEVUSU.rar</a> (Boyut: 284,35 KB / İndirilme: 121)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Web De ön Muhasebe çalışmam]]></title>
			<link>https://www.access-sql.com/Konu-Web-De-on-Muhasebe-calismam</link>
			<pubDate>Wed, 10 Mar 2021 14:28:11 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Web-De-on-Muhasebe-calismam</guid>
			<description><![CDATA[Merhaba arkadaşlar,<br />
çoktan beri yapmak istediğim bir türlü fırsat bulamadığım Web üzerinden Ön Muhasebe çalışmamı çok şükür bitirdim, veri tabanı access dir,<br />
Kullanıcı adı: Kadir   Parola : 123  lütfen denemeler yapıp bana görüşlerinizi yazarsanız çok sevinirim...<br />
Sitenin görüntüsünü ekte ekledim , <br />
linki : <a href="http://cari.akdyazilim.com/Giris.aspx" target="_blank" rel="noopener" class="mycode_url">http://cari.akdyazilim.com/Giris.aspx</a><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/image.gif" title="JPEG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=24122" target="_blank" title="">cari.jpg</a> (Boyut: 71,12 KB / İndirilme: 106)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba arkadaşlar,<br />
çoktan beri yapmak istediğim bir türlü fırsat bulamadığım Web üzerinden Ön Muhasebe çalışmamı çok şükür bitirdim, veri tabanı access dir,<br />
Kullanıcı adı: Kadir   Parola : 123  lütfen denemeler yapıp bana görüşlerinizi yazarsanız çok sevinirim...<br />
Sitenin görüntüsünü ekte ekledim , <br />
linki : <a href="http://cari.akdyazilim.com/Giris.aspx" target="_blank" rel="noopener" class="mycode_url">http://cari.akdyazilim.com/Giris.aspx</a><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/image.gif" title="JPEG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=24122" target="_blank" title="">cari.jpg</a> (Boyut: 71,12 KB / İndirilme: 106)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Access Vba üzerinden Dosya Kopyalama]]></title>
			<link>https://www.access-sql.com/Konu-Access-Vba-uzerinden-Dosya-Kopyalama</link>
			<pubDate>Sat, 17 Oct 2020 23:15:03 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Access-Vba-uzerinden-Dosya-Kopyalama</guid>
			<description><![CDATA[Merhaba Can Dostlar,<br />
Belki bir yerlerde kullanırsınız diye VBA üzerinden basit bir <span style="font-weight: bold;" class="mycode_b">Dosya Kopyalama Örneği</span> hazırladım.<br />
Umarım işinize yarar.<br />
Faydalı olması dileğiyle...  <img src="https://www.access-sql.com/images/smilies/trz2/cute.gif" alt="Cute" title="Cute" class="smilie smilie_96" /> <br />
<br />
Not: Programın hata vermemesi için, <span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Microsoft Office Object XX Library</span></span> referansını eklemeniz gerekir<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=23740" target="_blank" title="">DosyaKopyalamaÖrneği.rar</a> (Boyut: 37,84 KB / İndirilme: 36)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba Can Dostlar,<br />
Belki bir yerlerde kullanırsınız diye VBA üzerinden basit bir <span style="font-weight: bold;" class="mycode_b">Dosya Kopyalama Örneği</span> hazırladım.<br />
Umarım işinize yarar.<br />
Faydalı olması dileğiyle...  <img src="https://www.access-sql.com/images/smilies/trz2/cute.gif" alt="Cute" title="Cute" class="smilie smilie_96" /> <br />
<br />
Not: Programın hata vermemesi için, <span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Microsoft Office Object XX Library</span></span> referansını eklemeniz gerekir<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=23740" target="_blank" title="">DosyaKopyalamaÖrneği.rar</a> (Boyut: 37,84 KB / İndirilme: 36)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[YAŞMATİK ("DateDiff" Fonksiyonu Anlatımı Amaçlı)]]></title>
			<link>https://www.access-sql.com/Konu-YASMATIK-DateDiff-Fonksiyonu-Anlatimi-Amacli-16566</link>
			<pubDate>Fri, 02 Dec 2016 09:38:59 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-YASMATIK-DateDiff-Fonksiyonu-Anlatimi-Amacli-16566</guid>
			<description><![CDATA[yaş hesaplamada sadece yıla göre hesap yaptırmak istiyorum .bunun için ne yapmalıyım doğum tarihini gün ay yıl değil sadece yıl girmek istiyorum..teşekkürler]]></description>
			<content:encoded><![CDATA[yaş hesaplamada sadece yıla göre hesap yaptırmak istiyorum .bunun için ne yapmalıyım doğum tarihini gün ay yıl değil sadece yıl girmek istiyorum..teşekkürler]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Araç Yakıt Takip Uygulaması]]></title>
			<link>https://www.access-sql.com/Konu-Arac-Yakit-Takip-Uygulamasi</link>
			<pubDate>Thu, 27 Aug 2015 09:48:24 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Arac-Yakit-Takip-Uygulamasi</guid>
			<description><![CDATA[Merhaba Arkadaşlar,<img src="https://www.access-sql.com/images/smilies/trz2/spinny.gif" alt="Spinny" title="Spinny" class="smilie smilie_69" /><br />
Aracınıza aldığınız yakıt miktarını ve ödediğiniz tutarları kaydedebileceğiniz, sorgulama yapıp rapor alacağınız basit bir program ekliyorum. Farklı fikirleriniz varsa değerlendirebilirim. Sorularınız olursa cevaplayabilirim. <br />
<span style="font-weight: bold;" class="mycode_b">Ayrıca uygulama hakkında yukarıdaki ankette oy kullanırsanız memnun olurum.</span><br />
İyi çalışmalar...<br />
<br />
<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=17642" target="_blank" title="">ARCCan.rar</a> (Boyut: 244,97 KB / İndirilme: 1034)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba Arkadaşlar,<img src="https://www.access-sql.com/images/smilies/trz2/spinny.gif" alt="Spinny" title="Spinny" class="smilie smilie_69" /><br />
Aracınıza aldığınız yakıt miktarını ve ödediğiniz tutarları kaydedebileceğiniz, sorgulama yapıp rapor alacağınız basit bir program ekliyorum. Farklı fikirleriniz varsa değerlendirebilirim. Sorularınız olursa cevaplayabilirim. <br />
<span style="font-weight: bold;" class="mycode_b">Ayrıca uygulama hakkında yukarıdaki ankette oy kullanırsanız memnun olurum.</span><br />
İyi çalışmalar...<br />
<br />
<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=17642" target="_blank" title="">ARCCan.rar</a> (Boyut: 244,97 KB / İndirilme: 1034)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Virüs Programı ]]></title>
			<link>https://www.access-sql.com/Konu-Virus-Programi</link>
			<pubDate>Tue, 27 Mar 2012 17:55:00 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Virus-Programi</guid>
			<description><![CDATA[Merhaba Arkadaşlar;<br />
 Şu anda aklımda olan projeyi sizlerle paylaşmak ve bir konuda yardım almak istiyorum.<br />
Bildiğimiz üzere virüsler,gereksiz dosyalar bilgisayarımızın çalışmasını yavaşlatır.<br />
       Bunun için bir çok virüs tarayıcısı mevcut. <br />
Fakat ben .pf uzantılı (C:\Windows\Prefetch) deki dosyaları silen virüs tarayıcısı görmedim. Taki Dracula'yı keşfedene kadar...<br />
      Dracula C:\Windows\Prefetch deki ".pf " uzantılı dosyaları siliyor. <br />
Bu ".pf" uzantılı dosyalar <a href="http://forum.donanimhaber.com/m_16665358/tm.htm" target="_blank" rel="noopener" class="mycode_url">.pf uzantısı için bilgi</a> yanda vermiş olduğum linkten anladığım üzere bilgisayarın çalışma hızını azaltıyor. Ayda sadece 1 kere temizlenmesi yeterliymiş.<br />
<br />
 Bende şimdi size soruyorum : Böyle Bir tarayıcı ACCESS ile yapmak mümkün mü?<br />
      Mümkün ise nasıl yapılacağını biri anlatabilir mi?<br />
<span style="font-weight: bold;" class="mycode_b"><div style="text-align: center;" class="mycode_align"><span style="color: #0000CD;" class="mycode_color"><span style="font-size: large;" class="mycode_size">  HERKESE İYİ GÜNLER.. İYİ ÇALIŞMALAR....</span></span></div></span>]]></description>
			<content:encoded><![CDATA[Merhaba Arkadaşlar;<br />
 Şu anda aklımda olan projeyi sizlerle paylaşmak ve bir konuda yardım almak istiyorum.<br />
Bildiğimiz üzere virüsler,gereksiz dosyalar bilgisayarımızın çalışmasını yavaşlatır.<br />
       Bunun için bir çok virüs tarayıcısı mevcut. <br />
Fakat ben .pf uzantılı (C:\Windows\Prefetch) deki dosyaları silen virüs tarayıcısı görmedim. Taki Dracula'yı keşfedene kadar...<br />
      Dracula C:\Windows\Prefetch deki ".pf " uzantılı dosyaları siliyor. <br />
Bu ".pf" uzantılı dosyalar <a href="http://forum.donanimhaber.com/m_16665358/tm.htm" target="_blank" rel="noopener" class="mycode_url">.pf uzantısı için bilgi</a> yanda vermiş olduğum linkten anladığım üzere bilgisayarın çalışma hızını azaltıyor. Ayda sadece 1 kere temizlenmesi yeterliymiş.<br />
<br />
 Bende şimdi size soruyorum : Böyle Bir tarayıcı ACCESS ile yapmak mümkün mü?<br />
      Mümkün ise nasıl yapılacağını biri anlatabilir mi?<br />
<span style="font-weight: bold;" class="mycode_b"><div style="text-align: center;" class="mycode_align"><span style="color: #0000CD;" class="mycode_color"><span style="font-size: large;" class="mycode_size">  HERKESE İYİ GÜNLER.. İYİ ÇALIŞMALAR....</span></span></div></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[BASİT SU FATURASI ÖRNEĞİ - (Sorgu, hesaplamalar ve IIf fonksiyonu anlatımı amaçlı)]]></title>
			<link>https://www.access-sql.com/Konu-BASIT-SU-FATURASI-ORNEGI-Sorgu-hesaplamalar-ve-IIf-fonksiyonu-anlatimi-amacli</link>
			<pubDate>Wed, 14 May 2008 19:52:08 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-BASIT-SU-FATURASI-ORNEGI-Sorgu-hesaplamalar-ve-IIf-fonksiyonu-anlatimi-amacli</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="http://img170.imageshack.us/img170/6818/susayacbz1.gif" alt="[Resim: susayacbz1.gif]" class="mycode_img" /></div>
<br />
<div style="text-align: justify;" class="mycode_align">Merhaba;<br />
<br />
Bilindiği gibi Access&#8217;te veritabanının bütün yükünü sırtlanan nesneler tablolardır ve iyi yapılmış bir tablo tasarımı ve tabloda gereksiz fazlalıkların olmaması, yapacağımız uygulamanın performansını artırır... Yine hesaplanmış alanların veya hesaplamaların da tablolarda tutulmaması gerekir. Zira bu alanlar tabloların (dolayısıyla veritabanının) gereksiz yere şişmesine, performansının düşmesine ve diğer aksaklık ve hatalara neden olacaktır... Bu nedenle hesaplamalar formlar, raporlar ve daha çok (özellikle) sorgular üzerinde yapılır. <br />
<br />
İşte ben de bugün tablomuzda tutulmaması gereken hesaplamaların sorgularla nasıl oluşturulacağı, form üzerinde nasıl gösterileceği, formdan rapora form üzerindeki kaydın nasıl aktarılacağı, basit şekilde Iif fonksiyonunun kullanımı gibi konuları basit şekilde anlatabilmek amacıyla kendime göre bir Su Faturası Çalışması hazırladım...<br />
<br />
Elbette, benim yaptığım örnekteki hesaplamalar ve yerleşimler, kodlarla, SQL ile veya farklı şekillerde de yapılabilir. Amacım sadece basit bir örnekle (hiçbir fazla ayrıntıya girmeden) form ve sorgu üzerinde hesaplamaların nasıl ve ne şekilde yapılabileceğini göstermek...<br />
<br />
Şimdi gelelim örneği hazırlarken hangi aşamaları takip ettiğime:<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">TABLO TASARIMI:</span></span><br />
<br />
Öncelikle tasarım görünümünde tablomu açarak alan isimlerini ve veri türlerini girdim. <br />
<br />
Burada amacım; su sayacının son okuma tarihinden 15 gün sonra son ödeme tarihi olacak şekilde; ilk endeks ile son endeks arasındaki sarfiyat miktarını bulup, bunu suyun birim (m3) fiyatı olan 1,35 ile çarparak su bedelini bulmak, %8 KDV&#8217;sini hesaplamak ve su bedeli ile KDV&#8217;yi toplayarak toplam tutarı bulmak olduğu için tablomda şu alanları oluşturdum:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">aboneno</span> (her abonenin farklı bir numarası olmasını ve sırayla artarak gitmesini istediğimden, bu alanın veri türünü &#8220;Otomatik Sayı&#8221; yaptım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">adsoyad</span> <br />
<br />
<span style="font-weight: bold;" class="mycode_b">adres</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">turu</span> (burada &#8220;mesken&#8221; veya &#8220;işyeri&#8221;nin birim fiyatının farklı olacağını düşündüğümden, &#8220;Veri Türü&#8221; bölümünde arama sihirbazıyla bir değerler listesi oluşturdum ve varsayılan değerini =&#8221;MESKEN&#8221; yaptım. Formumda burası açılan kutu şeklinde gözükecek ve kutu içinde varsayılan değer olarak &#8220;MESKEN&#8221; ifadesi yer alacak).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">okumatarihi</span> (burada veri türünü &#8220;Tarih/Saat&#8221; yaparak giriş maskesi ile bir tarih biçimi oluşturdum ve (forma bilgileri girdiğim gün sayacı okuduğumu farz ederek) varsayılan değeri (bugünün tarihini göstermesi için) =Date() yaptım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ilkendeks</span> (&#8220;Sayı&#8221; veri türünde oluşturduğum bu alan, sayacın ilk endeksini gösterecek)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">sonendeks</span> (&#8220;Sayı&#8221; veri türünde oluşturduğum bu alan, sayacın son endeksini gösterecek)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">sarfiyat</span> (sonendeks ile ilkendeks arasındaki farkı alacağımız bu alandaki fark hesaplamasını sorguyla yapacağız).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">birimfiyat</span> (&#8220;Parabirimi&#8221; veri türünde oluşturduğum bu alan bize sarfiyat miktarını hangi birimfiyatla çarpacağımızı gösterecek. Meskenler için su birimfiyatı 1,35 YTL olduğundan buranın varsayılan değerini 1,35 yaptım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">subedeli</span> (sarfiyatla birimfiyatı çarpınca bulunacak bedel için oluşturduğum &#8220;Parabirimi&#8221; veri türündeki bu alandaki hesaplamayı da yine sorguda ve form üzerinde göstereceğiz).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">kdv</span> (&#8220;Parabirimi&#8221; veri türünde oluşturduğum bu alan, subedelinin %8&#8217;ini hesaplayarak bize KDV miktarını verecek. Buradaki hesaplamayı da sorguda ve form üzerinde göstereceğiz).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">toplamtutar</span> (subedeli ile kdv&#8217;yi topladığımız zaman bulacağımız toplam tutar için oluşturduğum bu alandaki hesaplamayı da sorgu ve form üzerinde yapacağız).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">sonodemetarihi</span> (&#8220;Tarih/Saat&#8221; veri türünde oluşturduğum bu alanda sonokumatarihi&#8217;nden 15 gün sonra son ödeme tarihi olmasını istediğimden varsayılan değerini =Date()+15 yaptım).<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">NOT:</span></span> Burada önemle şunu söylemek isterim, yukarıda oluşturmuş olduğumuz sarfiyat, birimfiyat, subedeli ve kdv alanların veri türünü &#8220;Metin&#8221; olarak bırakabileceğimiz gibi hatta (bu alanlar tabloda bir işleme girmeyeceğinden ve bu alanların hesaplamaları tabloya kaydedilmeyeceğinden) tablomuzda göstermemize de gerek yoktur.  Zira bu alanları sorgu veya form üzerinde formüllerle tanımlayacağız ve hesaplamalarımızı orada yapacağız. Ancak yine de, ben kolaylık olması, gelişimin görünmesi ve tablodan sihirbazla form oluştururken basit olması nedeniyle bu alanları da tabloma dahil ettim.<br />
<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">FORM TASARIMI:</span></span><br />
<br />
Form oluşturma sihirbazıyla tablomdaki alanları form üzerine aktardım ve formun şeklini şemalini verdikten sonra form üzerinde hesap yapacağım metin kutuları üzerinde formülleri yazmaya başladım. (Burada yapacağımız işlemler, formüller bizim örneğimizde sadece form üzerinde gözükecek, daha doğrusu formumuz için geçerli. Raporda görebilmek için sorgu oluşturup, sorgu üzerinde ayrıca işlem yapacağız)...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SARFİYAT (M3):</span> Buradaki metin kutusunun Veri sekmesinin Denetim Kaynağı satırına =[sonendeks]-[ilkendeks] yazdım. (Amacım sonendeks alanındaki değerden ilkendeks alanındaki değeri çıkarıp sarfedilen su miktarını m3 cinsinden bu metin kutusunda göstermek).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">BİRİMFİYAT:</span> Hatırlanacağı üzere yukarıda sarfiyatla çarpılacak olan birimfiyatın meskenler için farklı, işyerleri için farklı olduğunu söylemiştik. Meskenler için 1,35 YTL olan birimi de varsayılan değer olarak atamıştık. (O yüzden formumuzda yeni bir kayıt açtığımız zaman BİRİM FİYAT alanında 1,35 YTL gözükmekte). İşte TÜRÜ açılan kutusundan İŞYERİ seçeneğini seçtiğim zaman BİRİM FİYAT alanındaki bu değerin 1,35 YTL değil de, (örneğin) 2,00 YTL gözükmesini ve işyeriyle ilgili hesaplamaları bu birimfiyat üzerinden yapmasını istiyorum... (İşyerlerinin birim fiyatını bilmediğim için ben örnek olması bakımından 2 YTL dedim). Bunun için Iif fonksiyonundan faydalandım ve birimfiyat metin kutusunun özelliklerinden Veri sekmesinin Denetim Kaynağına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">=IIf([turu]="MESKEN";1,35;2)</span> yazdım.<br />
<br />
Burada şunu demek istedim: Eğer &#8220;turu&#8221; alanındaki değer &#8220;MESKEN&#8221; e eşitse 1,35 olarak değilse 2 olarak göster). (Bu işlemi yaptıktan sonra formu form görünümünde açarak TÜRÜ alanındaki açılan kutunun seçeneklerini değiştirirseniz farkı görebilirsiniz).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SU BEDELİ:</span> Burada sarfiyatla birimfiyatı çarparak su bedelini bulmayı amaçladığımdan, Veri sekmesinin Denetim Kaynağı satırına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">=[sarfiyat]*[birimfiyat]</span> yazdım.<br />
<br />
(Sarfiyat adı verilen metin kutusuyla birimfiyat adı verilen &#8211;ve her ikisi içinde formül yazdığımız- metin kutularındaki değerin birbiriyle çarpılarak su bedelinin ne kadar olacağını hesaplatmaktı amacım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">KDV (%8):</span> Burada da, su bedelinin %8&#8217;ini hesaplayarak YTL cinsinden fiyatı göstermesi için metin kutusunun Veri sekmesinin Denetim Kaynağı satırına <br />
<br />
<span style="color: #FF0000;" class="mycode_color">=[subedeli]*0,08</span> yazdım.<br />
<br />
 <br />
<span style="font-weight: bold;" class="mycode_b">TOPLAM TUTAR:</span> Son olarak su bedeli ile kdv miktarını toplayarak toplam tutarı bulmak amacıyla metin kutusunun Veri sekmesinin Denetim Kaynağı satırına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">=[subedeli]+[kdv]</span> yazdım.<br />
<br />
<br />
Formumuzu normal görünümde açtığımız ve ilk endeks ile son endeks alanlarına değerleri girdiğimiz zaman hesaplamaların form üzerinde otomatik olarak yapıldığını görebiliriz.<br />
<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">SORGU TASARIMI:</span></span><br />
<br />
Sorgular bölümünü açarak, &#8220;Tasarım görünümde sorgu oluştur&#8221; dedikten sonra, Tbl_Sayac tablomu Sorgu kılavuzuna ekledim. Daha sonra kılavuza eklenen bu tablodan bütün alanları (tablonun başlık çubuğunu çift tıklayarak ve bütün alanlar seçili hale gelince tasarım kılavuzunun alttaki satırlarına sürükleyerek) sorguya ekledim. <br />
<br />
Form tasarımında uzun uzun anlattığım için burada anlatmayacağım ancak örneği ve sorguyu incelediğiniz zaman göreceğiniz gibi; sorgunun alan satırında hesaplama yapacağım alanları formül yazarak tanımladım. Burada form üzerinde yukarıda yaptığım formülleri bu alanlara da yazdım. Ancak burada şöyle bir fark var: Örneğin sarfiyat alanı satırında sorguya hesaplama yaptırabilmek için <br />
<br />
<span style="color: #FF0000;" class="mycode_color">sarfiyat: [sonendeks]-[ilkendeks]</span> yazdım. <br />
<br />
Diğer alan satırlarını da şu şekilde tanımladım:<br />
<br />
<span style="color: #FF0000;" class="mycode_color">birimfiyat: IIf([turu]="MESKEN";1,35;2)</span><br />
<br />
<span style="color: #FF0000;" class="mycode_color">subedeli: [sarfiyat]*[birimfiyat]</span><br />
<br />
<span style="color: #FF0000;" class="mycode_color">kdv: [subedeli]*0,08</span><br />
<br />
<span style="color: #FF0000;" class="mycode_color">toplamtutar: [subedeli]+[kdv]</span><br />
<br />
Burada yukarıda değindiğim gibi aslında tablomuzda olmasa bile örneğin [sonendeks]-[ilkendeks] formülünü gerçekleştiren &#8220;sarfiyat&#8221; isimli bir alan tanımlamış oldum. <br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">RAPOR TASARIMI:</span></span><br />
<br />
Yukarıda sorgumuzu oluşturduk ama, bu sorguyu güzel şekilde bir raporda görüntülemek ve yazıcıdan çıktısını da alabilmek  gayet güzel olur herhalde.<br />
<br />
Bunun için Raporlar bölümünde &#8220;Sihirbazı kullanarak rapor oluştur&#8221; dedikten sonra yukarıda oluşturduğumuz Srg_Sayac sorgusunu kaynak alan bir rapor oluşturdum. Sorgudaki bütün alanlar rapora yerleşmiş oldu. (Artık sorgunun yaptığı bütün hesaplamaları bu raporda görebiliriz). Raporun şekliyle şemaliyle (biçim menüsüyle oynayarak) biraz uğraştıktan sonra, rapora son şeklini verdim.<br />
<br />
Artık form üzerine bir buton yerleştirerek ve bu butona tıkladığımda raporu önizlemede göstermesi için komut düğmesi sihirbazından faydalanabilirim.<br />
<br />
Ancak aklıma şöyle bir şey geldi: Ben form üzerinde bu butona tıkladığım zaman, ne kadar abonenin kaydı varsa raporda hepsini gösterecek&#8230; Bense sadece form üzerinde hangi kayıttaysam raporda da o abonenin bilgilerini göstermesini istiyorum. O halde sorguya öyle bir ölçüt yazayım ki; form üzerinde hangi kayıttaysam formdaki butona tıklayınca sorgu sadece o kaydın bilgilerini görüntülesin ve raporda da bunu göstersin.<br />
<br />
Bunun için Srg_Sayac sorgumu tasarım görünümünde açtım ve &#8220;aboneno&#8221; alanının &#8220;Ölçüt&#8221; satırına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">[Formlar]![Frm_Sayac]![aboneno]</span> yazdım.<br />
<br />
Bunun anlamı şudur: Sorgumda, ben Frm_Sayac formu üzerindeyken hangi kaydın aboneno alanı gözüküyorsa o kaydı sorgula&#8230; <br />
<br />
Bunu örneğin;<br />
<br />
<span style="color: #FF0000;" class="mycode_color">[Formlar]![Frm_Sayac]![adsoyad]</span> olarak da yazabilirdik. O zaman da form üzerinde hangi adsoyad değeri varsa ona göre o kaydı sorgulatmış olurduk.<br />
<br />
Sorguma bu ölçütü yazdıktan sonra formumu tasarım görünümde açıp, sihirbaz yardımıyla &#8220;Raporu Önizlemek&#8221; için bir komut düğmesi oluşturdum ve adına &#8220;FATURAYI GÖR&#8221; dedim. Bu butona tıkladığım zaman, rapor açılacak ve form üzerinde hangi abonenin kaydındaysam (sorgudaki  ölçüt nedeniyle o ölçüt sorgulanarak) raporda (kayıt kaynağını sorgumuzdan aldığı için) o abonenin fatura bilgileri görüntülenecektir&#8230;<br />
<br />
<br />
Daha sonra raporumun özellikler penceresinden faydalanarak önde ve ortada açılacak şekilde ayarladım.<br />
<br />
Son olarak uygulamam açıldığı zaman doğrudan oluşturduğum form gözüksün diye Araçlar&gt;Başlangıç yoluyla Form/Sayfa Görüntüle kısmında Frm_Sayac formunu seçtim&#8230; Yine veritabanının şişmemesi ve uygulama kendini her kapattığında veritabanının sıkıştırılıp onarılması ve boyutunun küçülmesi için Araçlar&gt;Seçenekler&gt;Genel yoluyla &#8220;Kapatırken Düzenle&#8221; onay kutusunu aktif hale getirdim&#8230;<br />
<br />
Örneğimi bu şekilde bitirmiş oldum. <br />
<br />
Yukarıda da bahsettiğim gibi, bütün bunları oluşturmanın tek yolu benim izlediğim bu yöntem değil elbette. Ancak çabuk olması, pratik olması, Access&#8217;e yeni başlayanlara bir fikir vermesi açılarından ben bu yolu tercih ettim.<br />
<br />
Örnek ektedir.<br />
<br />
Saygılarımla&#8230;</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=330" target="_blank" title="">SuFatura.rar</a> (Boyut: 29,38 KB / İndirilme: 4631)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="http://img170.imageshack.us/img170/6818/susayacbz1.gif" alt="[Resim: susayacbz1.gif]" class="mycode_img" /></div>
<br />
<div style="text-align: justify;" class="mycode_align">Merhaba;<br />
<br />
Bilindiği gibi Access&#8217;te veritabanının bütün yükünü sırtlanan nesneler tablolardır ve iyi yapılmış bir tablo tasarımı ve tabloda gereksiz fazlalıkların olmaması, yapacağımız uygulamanın performansını artırır... Yine hesaplanmış alanların veya hesaplamaların da tablolarda tutulmaması gerekir. Zira bu alanlar tabloların (dolayısıyla veritabanının) gereksiz yere şişmesine, performansının düşmesine ve diğer aksaklık ve hatalara neden olacaktır... Bu nedenle hesaplamalar formlar, raporlar ve daha çok (özellikle) sorgular üzerinde yapılır. <br />
<br />
İşte ben de bugün tablomuzda tutulmaması gereken hesaplamaların sorgularla nasıl oluşturulacağı, form üzerinde nasıl gösterileceği, formdan rapora form üzerindeki kaydın nasıl aktarılacağı, basit şekilde Iif fonksiyonunun kullanımı gibi konuları basit şekilde anlatabilmek amacıyla kendime göre bir Su Faturası Çalışması hazırladım...<br />
<br />
Elbette, benim yaptığım örnekteki hesaplamalar ve yerleşimler, kodlarla, SQL ile veya farklı şekillerde de yapılabilir. Amacım sadece basit bir örnekle (hiçbir fazla ayrıntıya girmeden) form ve sorgu üzerinde hesaplamaların nasıl ve ne şekilde yapılabileceğini göstermek...<br />
<br />
Şimdi gelelim örneği hazırlarken hangi aşamaları takip ettiğime:<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">TABLO TASARIMI:</span></span><br />
<br />
Öncelikle tasarım görünümünde tablomu açarak alan isimlerini ve veri türlerini girdim. <br />
<br />
Burada amacım; su sayacının son okuma tarihinden 15 gün sonra son ödeme tarihi olacak şekilde; ilk endeks ile son endeks arasındaki sarfiyat miktarını bulup, bunu suyun birim (m3) fiyatı olan 1,35 ile çarparak su bedelini bulmak, %8 KDV&#8217;sini hesaplamak ve su bedeli ile KDV&#8217;yi toplayarak toplam tutarı bulmak olduğu için tablomda şu alanları oluşturdum:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">aboneno</span> (her abonenin farklı bir numarası olmasını ve sırayla artarak gitmesini istediğimden, bu alanın veri türünü &#8220;Otomatik Sayı&#8221; yaptım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">adsoyad</span> <br />
<br />
<span style="font-weight: bold;" class="mycode_b">adres</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">turu</span> (burada &#8220;mesken&#8221; veya &#8220;işyeri&#8221;nin birim fiyatının farklı olacağını düşündüğümden, &#8220;Veri Türü&#8221; bölümünde arama sihirbazıyla bir değerler listesi oluşturdum ve varsayılan değerini =&#8221;MESKEN&#8221; yaptım. Formumda burası açılan kutu şeklinde gözükecek ve kutu içinde varsayılan değer olarak &#8220;MESKEN&#8221; ifadesi yer alacak).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">okumatarihi</span> (burada veri türünü &#8220;Tarih/Saat&#8221; yaparak giriş maskesi ile bir tarih biçimi oluşturdum ve (forma bilgileri girdiğim gün sayacı okuduğumu farz ederek) varsayılan değeri (bugünün tarihini göstermesi için) =Date() yaptım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ilkendeks</span> (&#8220;Sayı&#8221; veri türünde oluşturduğum bu alan, sayacın ilk endeksini gösterecek)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">sonendeks</span> (&#8220;Sayı&#8221; veri türünde oluşturduğum bu alan, sayacın son endeksini gösterecek)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">sarfiyat</span> (sonendeks ile ilkendeks arasındaki farkı alacağımız bu alandaki fark hesaplamasını sorguyla yapacağız).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">birimfiyat</span> (&#8220;Parabirimi&#8221; veri türünde oluşturduğum bu alan bize sarfiyat miktarını hangi birimfiyatla çarpacağımızı gösterecek. Meskenler için su birimfiyatı 1,35 YTL olduğundan buranın varsayılan değerini 1,35 yaptım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">subedeli</span> (sarfiyatla birimfiyatı çarpınca bulunacak bedel için oluşturduğum &#8220;Parabirimi&#8221; veri türündeki bu alandaki hesaplamayı da yine sorguda ve form üzerinde göstereceğiz).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">kdv</span> (&#8220;Parabirimi&#8221; veri türünde oluşturduğum bu alan, subedelinin %8&#8217;ini hesaplayarak bize KDV miktarını verecek. Buradaki hesaplamayı da sorguda ve form üzerinde göstereceğiz).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">toplamtutar</span> (subedeli ile kdv&#8217;yi topladığımız zaman bulacağımız toplam tutar için oluşturduğum bu alandaki hesaplamayı da sorgu ve form üzerinde yapacağız).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">sonodemetarihi</span> (&#8220;Tarih/Saat&#8221; veri türünde oluşturduğum bu alanda sonokumatarihi&#8217;nden 15 gün sonra son ödeme tarihi olmasını istediğimden varsayılan değerini =Date()+15 yaptım).<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">NOT:</span></span> Burada önemle şunu söylemek isterim, yukarıda oluşturmuş olduğumuz sarfiyat, birimfiyat, subedeli ve kdv alanların veri türünü &#8220;Metin&#8221; olarak bırakabileceğimiz gibi hatta (bu alanlar tabloda bir işleme girmeyeceğinden ve bu alanların hesaplamaları tabloya kaydedilmeyeceğinden) tablomuzda göstermemize de gerek yoktur.  Zira bu alanları sorgu veya form üzerinde formüllerle tanımlayacağız ve hesaplamalarımızı orada yapacağız. Ancak yine de, ben kolaylık olması, gelişimin görünmesi ve tablodan sihirbazla form oluştururken basit olması nedeniyle bu alanları da tabloma dahil ettim.<br />
<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">FORM TASARIMI:</span></span><br />
<br />
Form oluşturma sihirbazıyla tablomdaki alanları form üzerine aktardım ve formun şeklini şemalini verdikten sonra form üzerinde hesap yapacağım metin kutuları üzerinde formülleri yazmaya başladım. (Burada yapacağımız işlemler, formüller bizim örneğimizde sadece form üzerinde gözükecek, daha doğrusu formumuz için geçerli. Raporda görebilmek için sorgu oluşturup, sorgu üzerinde ayrıca işlem yapacağız)...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SARFİYAT (M3):</span> Buradaki metin kutusunun Veri sekmesinin Denetim Kaynağı satırına =[sonendeks]-[ilkendeks] yazdım. (Amacım sonendeks alanındaki değerden ilkendeks alanındaki değeri çıkarıp sarfedilen su miktarını m3 cinsinden bu metin kutusunda göstermek).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">BİRİMFİYAT:</span> Hatırlanacağı üzere yukarıda sarfiyatla çarpılacak olan birimfiyatın meskenler için farklı, işyerleri için farklı olduğunu söylemiştik. Meskenler için 1,35 YTL olan birimi de varsayılan değer olarak atamıştık. (O yüzden formumuzda yeni bir kayıt açtığımız zaman BİRİM FİYAT alanında 1,35 YTL gözükmekte). İşte TÜRÜ açılan kutusundan İŞYERİ seçeneğini seçtiğim zaman BİRİM FİYAT alanındaki bu değerin 1,35 YTL değil de, (örneğin) 2,00 YTL gözükmesini ve işyeriyle ilgili hesaplamaları bu birimfiyat üzerinden yapmasını istiyorum... (İşyerlerinin birim fiyatını bilmediğim için ben örnek olması bakımından 2 YTL dedim). Bunun için Iif fonksiyonundan faydalandım ve birimfiyat metin kutusunun özelliklerinden Veri sekmesinin Denetim Kaynağına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">=IIf([turu]="MESKEN";1,35;2)</span> yazdım.<br />
<br />
Burada şunu demek istedim: Eğer &#8220;turu&#8221; alanındaki değer &#8220;MESKEN&#8221; e eşitse 1,35 olarak değilse 2 olarak göster). (Bu işlemi yaptıktan sonra formu form görünümünde açarak TÜRÜ alanındaki açılan kutunun seçeneklerini değiştirirseniz farkı görebilirsiniz).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SU BEDELİ:</span> Burada sarfiyatla birimfiyatı çarparak su bedelini bulmayı amaçladığımdan, Veri sekmesinin Denetim Kaynağı satırına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">=[sarfiyat]*[birimfiyat]</span> yazdım.<br />
<br />
(Sarfiyat adı verilen metin kutusuyla birimfiyat adı verilen &#8211;ve her ikisi içinde formül yazdığımız- metin kutularındaki değerin birbiriyle çarpılarak su bedelinin ne kadar olacağını hesaplatmaktı amacım).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">KDV (%8):</span> Burada da, su bedelinin %8&#8217;ini hesaplayarak YTL cinsinden fiyatı göstermesi için metin kutusunun Veri sekmesinin Denetim Kaynağı satırına <br />
<br />
<span style="color: #FF0000;" class="mycode_color">=[subedeli]*0,08</span> yazdım.<br />
<br />
 <br />
<span style="font-weight: bold;" class="mycode_b">TOPLAM TUTAR:</span> Son olarak su bedeli ile kdv miktarını toplayarak toplam tutarı bulmak amacıyla metin kutusunun Veri sekmesinin Denetim Kaynağı satırına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">=[subedeli]+[kdv]</span> yazdım.<br />
<br />
<br />
Formumuzu normal görünümde açtığımız ve ilk endeks ile son endeks alanlarına değerleri girdiğimiz zaman hesaplamaların form üzerinde otomatik olarak yapıldığını görebiliriz.<br />
<br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">SORGU TASARIMI:</span></span><br />
<br />
Sorgular bölümünü açarak, &#8220;Tasarım görünümde sorgu oluştur&#8221; dedikten sonra, Tbl_Sayac tablomu Sorgu kılavuzuna ekledim. Daha sonra kılavuza eklenen bu tablodan bütün alanları (tablonun başlık çubuğunu çift tıklayarak ve bütün alanlar seçili hale gelince tasarım kılavuzunun alttaki satırlarına sürükleyerek) sorguya ekledim. <br />
<br />
Form tasarımında uzun uzun anlattığım için burada anlatmayacağım ancak örneği ve sorguyu incelediğiniz zaman göreceğiniz gibi; sorgunun alan satırında hesaplama yapacağım alanları formül yazarak tanımladım. Burada form üzerinde yukarıda yaptığım formülleri bu alanlara da yazdım. Ancak burada şöyle bir fark var: Örneğin sarfiyat alanı satırında sorguya hesaplama yaptırabilmek için <br />
<br />
<span style="color: #FF0000;" class="mycode_color">sarfiyat: [sonendeks]-[ilkendeks]</span> yazdım. <br />
<br />
Diğer alan satırlarını da şu şekilde tanımladım:<br />
<br />
<span style="color: #FF0000;" class="mycode_color">birimfiyat: IIf([turu]="MESKEN";1,35;2)</span><br />
<br />
<span style="color: #FF0000;" class="mycode_color">subedeli: [sarfiyat]*[birimfiyat]</span><br />
<br />
<span style="color: #FF0000;" class="mycode_color">kdv: [subedeli]*0,08</span><br />
<br />
<span style="color: #FF0000;" class="mycode_color">toplamtutar: [subedeli]+[kdv]</span><br />
<br />
Burada yukarıda değindiğim gibi aslında tablomuzda olmasa bile örneğin [sonendeks]-[ilkendeks] formülünü gerçekleştiren &#8220;sarfiyat&#8221; isimli bir alan tanımlamış oldum. <br />
<br />
<span style="color: #008000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">RAPOR TASARIMI:</span></span><br />
<br />
Yukarıda sorgumuzu oluşturduk ama, bu sorguyu güzel şekilde bir raporda görüntülemek ve yazıcıdan çıktısını da alabilmek  gayet güzel olur herhalde.<br />
<br />
Bunun için Raporlar bölümünde &#8220;Sihirbazı kullanarak rapor oluştur&#8221; dedikten sonra yukarıda oluşturduğumuz Srg_Sayac sorgusunu kaynak alan bir rapor oluşturdum. Sorgudaki bütün alanlar rapora yerleşmiş oldu. (Artık sorgunun yaptığı bütün hesaplamaları bu raporda görebiliriz). Raporun şekliyle şemaliyle (biçim menüsüyle oynayarak) biraz uğraştıktan sonra, rapora son şeklini verdim.<br />
<br />
Artık form üzerine bir buton yerleştirerek ve bu butona tıkladığımda raporu önizlemede göstermesi için komut düğmesi sihirbazından faydalanabilirim.<br />
<br />
Ancak aklıma şöyle bir şey geldi: Ben form üzerinde bu butona tıkladığım zaman, ne kadar abonenin kaydı varsa raporda hepsini gösterecek&#8230; Bense sadece form üzerinde hangi kayıttaysam raporda da o abonenin bilgilerini göstermesini istiyorum. O halde sorguya öyle bir ölçüt yazayım ki; form üzerinde hangi kayıttaysam formdaki butona tıklayınca sorgu sadece o kaydın bilgilerini görüntülesin ve raporda da bunu göstersin.<br />
<br />
Bunun için Srg_Sayac sorgumu tasarım görünümünde açtım ve &#8220;aboneno&#8221; alanının &#8220;Ölçüt&#8221; satırına<br />
<br />
<span style="color: #FF0000;" class="mycode_color">[Formlar]![Frm_Sayac]![aboneno]</span> yazdım.<br />
<br />
Bunun anlamı şudur: Sorgumda, ben Frm_Sayac formu üzerindeyken hangi kaydın aboneno alanı gözüküyorsa o kaydı sorgula&#8230; <br />
<br />
Bunu örneğin;<br />
<br />
<span style="color: #FF0000;" class="mycode_color">[Formlar]![Frm_Sayac]![adsoyad]</span> olarak da yazabilirdik. O zaman da form üzerinde hangi adsoyad değeri varsa ona göre o kaydı sorgulatmış olurduk.<br />
<br />
Sorguma bu ölçütü yazdıktan sonra formumu tasarım görünümde açıp, sihirbaz yardımıyla &#8220;Raporu Önizlemek&#8221; için bir komut düğmesi oluşturdum ve adına &#8220;FATURAYI GÖR&#8221; dedim. Bu butona tıkladığım zaman, rapor açılacak ve form üzerinde hangi abonenin kaydındaysam (sorgudaki  ölçüt nedeniyle o ölçüt sorgulanarak) raporda (kayıt kaynağını sorgumuzdan aldığı için) o abonenin fatura bilgileri görüntülenecektir&#8230;<br />
<br />
<br />
Daha sonra raporumun özellikler penceresinden faydalanarak önde ve ortada açılacak şekilde ayarladım.<br />
<br />
Son olarak uygulamam açıldığı zaman doğrudan oluşturduğum form gözüksün diye Araçlar&gt;Başlangıç yoluyla Form/Sayfa Görüntüle kısmında Frm_Sayac formunu seçtim&#8230; Yine veritabanının şişmemesi ve uygulama kendini her kapattığında veritabanının sıkıştırılıp onarılması ve boyutunun küçülmesi için Araçlar&gt;Seçenekler&gt;Genel yoluyla &#8220;Kapatırken Düzenle&#8221; onay kutusunu aktif hale getirdim&#8230;<br />
<br />
Örneğimi bu şekilde bitirmiş oldum. <br />
<br />
Yukarıda da bahsettiğim gibi, bütün bunları oluşturmanın tek yolu benim izlediğim bu yöntem değil elbette. Ancak çabuk olması, pratik olması, Access&#8217;e yeni başlayanlara bir fikir vermesi açılarından ben bu yolu tercih ettim.<br />
<br />
Örnek ektedir.<br />
<br />
Saygılarımla&#8230;</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=330" target="_blank" title="">SuFatura.rar</a> (Boyut: 29,38 KB / İndirilme: 4631)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[YAŞMATİK ("DateDiff" Fonksiyonu Anlatımı Amaçlı)]]></title>
			<link>https://www.access-sql.com/Konu-YASMATIK-DateDiff-Fonksiyonu-Anlatimi-Amacli</link>
			<pubDate>Thu, 24 Apr 2008 20:17:51 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-YASMATIK-DateDiff-Fonksiyonu-Anlatimi-Amacli</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="http://img241.imageshack.us/img241/5159/yasvk8.jpg" alt="[Resim: yasvk8.jpg]" class="mycode_img" /></div>
<br />
<div style="text-align: justify;" class="mycode_align">Merhaba;<br />
<br />
Aşağıdaki örneği "DateDiff" fonksiyonuna ve formu boşaltarak temizlemeye basit bir örnek olması amacıyla hazırladım.<br />
<br />
Bilindiği gibi "DateDiff", tarih aralığını veren bir fonksiyondur ve iki tarih arasındaki farkı gün, ay, yıl, saat, saniye, hafta v.s. cinslerinden gösterebiliriz. Bu fonksiyonu sorgularda, denetimlerimizin "denetim kaynağında" veya VBA kodlarında kullanabiliriz. Ancak kullanım yerine göre aralarında ufak tefek farklılıklar oluyor. Örneğin formumuzda bir alanın denetim kaynağına yazacağımız zaman<br />
<br />
<span style="color: #008000;" class="mycode_color">=DateDiff("tarihcinsi";[tarih1];[tarih2])</span> <br />
<br />
olarak yazabilirken VBA kodlarında<br />
<br />
<span style="color: #008000;" class="mycode_color">tanımlayacağımızalan = DateDiff("tarihcinsi",[tarih1],[tarih2])</span> <br />
<br />
olarak yazmak gerekebiliyor. <br />
<br />
Bununla ilgili ayrıntılı bilgiye <a href="http://office.microsoft.com/tr-tr/access/HA012288111055.aspx" target="_blank" rel="noopener" class="mycode_url">http://office.microsoft.com/tr-tr/access...11055.aspx</a> adresinden ulaşabilirsiniz.<br />
<br />
Yaptığım basit örneğin hazırlanma aşamalarını kısaca anlatırsam sanırım daha doyurucu olur:<br />
<br />
Önce tasarım görünümünde boş bir form açtım ve buraya iki tane metin kutusu yerleştirdim. İlk metin kutusuna "yas", ikincisine "bugun" adını verdim. Her iki metin kutusunun giriş maskesi özelliğini de "Kısa Tarih" yaptıktan sonra "bugun" adlı metin kutusunun "Varsayılan Değer" özelliğine =Date() yazdım. Amacım "yas" metin kutusuna doğum tarihimizi girdiğimiz zaman, "bugun" adlı metin kutusundaki (varsayılan değeri bugünün tarihi olan) tarihten "yas" adındaki metin kutusuna girdiğimiz tarihi çıkartarak bize aradaki farkı vermesiydi. Sonucu da birazdan oluşturacağım ilişkisiz metin kutularında yıl, ay, hafta, gün ve saat cinsinde gösterecektim. Bu yüzden -ve uygulamanın biraz daha profesyonel bir görünüm alması için- "bugun" adlı metin kutusunun (form üzerinde görünmemesi için) Biçim sekmesindeki Görünür özelliğini "Hayır" olarak ayarladım. Daha sonra alt alta 5 tane ilişkisiz metin kutusu yerleştirip bunlara sırasıyla "yil", "ay", "hafta", "gun", "saat" adlarını verdim. "yas" adındaki metin kutusuna doğum tarihimizi girdiğimiz zaman (daha önce gizlediğimiz) "bugun" adlı metin kutusundaki tarihten bu tarihi çıkartarak oluşturduğum ilişkisiz metin kutularında benim belirleyeceğim tarih cinsinden farkları göstermesi için her metin kutusunun adı için bir DateDiff fonksiyonu tanımlayarak, bu fonksiyonların tamamını "yas" adlı metin kutusunun "Çıkıldığında" olay yordamına yazdım. (Bu alana doğum tarihini yazdıktan sonra, alandan çıkar çıkmaz, "yil, ay, hafta, gun, saat" metin kutularında sonuç hemen görüntülenecekti).<br />
<br />
Sonuçta "yas" adlı metin kutusunun "Çıkıldığında" olay yordamında şu kodlar oluştu:<br />
<br />
<div class="codeblock"><div class="title">Visual Basic</div><div class="body"><code><pre class="vba" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">Private</span> <span style="color: #268bd2; font-weight: bold;">Sub</span> yas_Exit<span style="color: #7B927B;">(</span>Cancel <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">Integer</span><span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">yil <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;yyyy&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ay <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;m&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hafta <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;ww&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">gun <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;d&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">saat <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;h&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">End</span> <span style="color: #268bd2; font-weight: bold;">Sub</span></div></li></ol></pre></code></div></div><br /><br />
<br />
Yukarıda görüldüğü gibi yılı "yyyy", ayı "m" v.s. olarak tanımladık. Yani kısaca iki tarih arasındaki farkı yil, ay, hafta, gun ve saat cinsinden almak için bu yola başvurduk.<br />
<br />
Daha sonra form üzerinde doğum tarihimizi girip hesaplamamız yapıldıktan sonra tekrar formun temizlenerek yeni bir doğum tarihi girilebilmesi amacıyla alanların boşaltılması için bir buton oluşturdum ve butonun "Tıklatıldığında" olay yordamına aşağıdaki kodları yazdım:<br />
<br />
<div class="codeblock"><div class="title">Visual Basic</div><div class="body"><code><pre class="vba" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">Private</span> <span style="color: #268bd2; font-weight: bold;">Sub</span> Komut20_Click<span style="color: #7B927B;">()</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>yas <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>yil <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>ay <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>hafta <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>gun <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>saat <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">End</span> <span style="color: #268bd2; font-weight: bold;">Sub</span></div></li></ol></pre></code></div></div><br /><br />
<br />
Bunun anlamı şuydu: "Ben -oluşturduğum ve "Komut20" adındaki- butona tıkladığım zaman bana yas, yil, ay, hafta, gun, saat alanlarını boş olarak göster."<br />
<br />
Formun, alanların ve bazı denetimlerin biçimleriyle oynayıp, gözüme hoş görünen bir biçime soktuktan sonra yil, ay, hafta, gun, saat alanları üzerinde işlem yapmayacağımdan (zaten kodlarla otomatik olarak yapıldığından) ve "yas" alanına doğum tarihini girip "Enter" tuşuyla çıktıktan sonra imlecin bu alanlara gitmemesi amacıyla bu alanların Veri sekmesinden Etkin özelliğini "Hayır", Kilitli özelliğini "Evet" yaptım. <br />
<br />
Son olarak Araçlar&gt;Başlangıç yoluyla açılan pencerede bütün onay kutularının işaretini kaldırıp -uygulama açıldığında doğrudan "yasmatik" adını verdiğim formun açılması için "Form/Sayfa Görüntüle" alanına "yasmatik" formunu girdim. Böylelikle uygulamayı açtığımız zaman doğrudan formumuz ekrana gelecek ve diğer veritabanı penceresi, kısayollar, menüler gibi özellikler gözükmeyecek. (Ben yine de kolaylık ve tercih edilebilirlik açısından hem doğrudan formla açılan hem de tüm izinleri açık olan iki uygulamayı da aşağıya ekledim).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">NOT:</span> Gerçi çok bilinen bir şey ama doğrudan form görünümüyle açılan uygulamaları tasarım görünümünde açmak ve inceleyebilmek için Shift tuşunu basılı tutarak açabiliriz.<br />
<br />
Saygılarımla...</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=257" target="_blank" title="">Yasmatik.rar</a> (Boyut: 11,73 KB / İndirilme: 1083)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=258" target="_blank" title="">Yasmatik_tasarim.rar</a> (Boyut: 11,69 KB / İndirilme: 1062)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="http://img241.imageshack.us/img241/5159/yasvk8.jpg" alt="[Resim: yasvk8.jpg]" class="mycode_img" /></div>
<br />
<div style="text-align: justify;" class="mycode_align">Merhaba;<br />
<br />
Aşağıdaki örneği "DateDiff" fonksiyonuna ve formu boşaltarak temizlemeye basit bir örnek olması amacıyla hazırladım.<br />
<br />
Bilindiği gibi "DateDiff", tarih aralığını veren bir fonksiyondur ve iki tarih arasındaki farkı gün, ay, yıl, saat, saniye, hafta v.s. cinslerinden gösterebiliriz. Bu fonksiyonu sorgularda, denetimlerimizin "denetim kaynağında" veya VBA kodlarında kullanabiliriz. Ancak kullanım yerine göre aralarında ufak tefek farklılıklar oluyor. Örneğin formumuzda bir alanın denetim kaynağına yazacağımız zaman<br />
<br />
<span style="color: #008000;" class="mycode_color">=DateDiff("tarihcinsi";[tarih1];[tarih2])</span> <br />
<br />
olarak yazabilirken VBA kodlarında<br />
<br />
<span style="color: #008000;" class="mycode_color">tanımlayacağımızalan = DateDiff("tarihcinsi",[tarih1],[tarih2])</span> <br />
<br />
olarak yazmak gerekebiliyor. <br />
<br />
Bununla ilgili ayrıntılı bilgiye <a href="http://office.microsoft.com/tr-tr/access/HA012288111055.aspx" target="_blank" rel="noopener" class="mycode_url">http://office.microsoft.com/tr-tr/access...11055.aspx</a> adresinden ulaşabilirsiniz.<br />
<br />
Yaptığım basit örneğin hazırlanma aşamalarını kısaca anlatırsam sanırım daha doyurucu olur:<br />
<br />
Önce tasarım görünümünde boş bir form açtım ve buraya iki tane metin kutusu yerleştirdim. İlk metin kutusuna "yas", ikincisine "bugun" adını verdim. Her iki metin kutusunun giriş maskesi özelliğini de "Kısa Tarih" yaptıktan sonra "bugun" adlı metin kutusunun "Varsayılan Değer" özelliğine =Date() yazdım. Amacım "yas" metin kutusuna doğum tarihimizi girdiğimiz zaman, "bugun" adlı metin kutusundaki (varsayılan değeri bugünün tarihi olan) tarihten "yas" adındaki metin kutusuna girdiğimiz tarihi çıkartarak bize aradaki farkı vermesiydi. Sonucu da birazdan oluşturacağım ilişkisiz metin kutularında yıl, ay, hafta, gün ve saat cinsinde gösterecektim. Bu yüzden -ve uygulamanın biraz daha profesyonel bir görünüm alması için- "bugun" adlı metin kutusunun (form üzerinde görünmemesi için) Biçim sekmesindeki Görünür özelliğini "Hayır" olarak ayarladım. Daha sonra alt alta 5 tane ilişkisiz metin kutusu yerleştirip bunlara sırasıyla "yil", "ay", "hafta", "gun", "saat" adlarını verdim. "yas" adındaki metin kutusuna doğum tarihimizi girdiğimiz zaman (daha önce gizlediğimiz) "bugun" adlı metin kutusundaki tarihten bu tarihi çıkartarak oluşturduğum ilişkisiz metin kutularında benim belirleyeceğim tarih cinsinden farkları göstermesi için her metin kutusunun adı için bir DateDiff fonksiyonu tanımlayarak, bu fonksiyonların tamamını "yas" adlı metin kutusunun "Çıkıldığında" olay yordamına yazdım. (Bu alana doğum tarihini yazdıktan sonra, alandan çıkar çıkmaz, "yil, ay, hafta, gun, saat" metin kutularında sonuç hemen görüntülenecekti).<br />
<br />
Sonuçta "yas" adlı metin kutusunun "Çıkıldığında" olay yordamında şu kodlar oluştu:<br />
<br />
<div class="codeblock"><div class="title">Visual Basic</div><div class="body"><code><pre class="vba" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">Private</span> <span style="color: #268bd2; font-weight: bold;">Sub</span> yas_Exit<span style="color: #7B927B;">(</span>Cancel <span style="color: #151B8D; font-weight: bold;">As</span> <span style="color: #F660AB; font-weight: bold;">Integer</span><span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">yil <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;yyyy&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ay <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;m&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hafta <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;ww&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">gun <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;d&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">saat <span style="color: #7B927B;">=</span> DateDiff<span style="color: #7B927B;">(</span>&quot;h&quot;<span style="color: #7B927B;">,</span> [yas]<span style="color: #7B927B;">,</span> [bugun]<span style="color: #7B927B;">)</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">End</span> <span style="color: #268bd2; font-weight: bold;">Sub</span></div></li></ol></pre></code></div></div><br /><br />
<br />
Yukarıda görüldüğü gibi yılı "yyyy", ayı "m" v.s. olarak tanımladık. Yani kısaca iki tarih arasındaki farkı yil, ay, hafta, gun ve saat cinsinden almak için bu yola başvurduk.<br />
<br />
Daha sonra form üzerinde doğum tarihimizi girip hesaplamamız yapıldıktan sonra tekrar formun temizlenerek yeni bir doğum tarihi girilebilmesi amacıyla alanların boşaltılması için bir buton oluşturdum ve butonun "Tıklatıldığında" olay yordamına aşağıdaki kodları yazdım:<br />
<br />
<div class="codeblock"><div class="title">Visual Basic</div><div class="body"><code><pre class="vba" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">Private</span> <span style="color: #268bd2; font-weight: bold;">Sub</span> Komut20_Click<span style="color: #7B927B;">()</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>yas <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>yil <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>ay <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>hafta <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>gun <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Me<span style="color: #7B927B;">.</span>saat <span style="color: #7B927B;">=</span> &quot;&quot;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #268bd2; font-weight: bold;">End</span> <span style="color: #268bd2; font-weight: bold;">Sub</span></div></li></ol></pre></code></div></div><br /><br />
<br />
Bunun anlamı şuydu: "Ben -oluşturduğum ve "Komut20" adındaki- butona tıkladığım zaman bana yas, yil, ay, hafta, gun, saat alanlarını boş olarak göster."<br />
<br />
Formun, alanların ve bazı denetimlerin biçimleriyle oynayıp, gözüme hoş görünen bir biçime soktuktan sonra yil, ay, hafta, gun, saat alanları üzerinde işlem yapmayacağımdan (zaten kodlarla otomatik olarak yapıldığından) ve "yas" alanına doğum tarihini girip "Enter" tuşuyla çıktıktan sonra imlecin bu alanlara gitmemesi amacıyla bu alanların Veri sekmesinden Etkin özelliğini "Hayır", Kilitli özelliğini "Evet" yaptım. <br />
<br />
Son olarak Araçlar&gt;Başlangıç yoluyla açılan pencerede bütün onay kutularının işaretini kaldırıp -uygulama açıldığında doğrudan "yasmatik" adını verdiğim formun açılması için "Form/Sayfa Görüntüle" alanına "yasmatik" formunu girdim. Böylelikle uygulamayı açtığımız zaman doğrudan formumuz ekrana gelecek ve diğer veritabanı penceresi, kısayollar, menüler gibi özellikler gözükmeyecek. (Ben yine de kolaylık ve tercih edilebilirlik açısından hem doğrudan formla açılan hem de tüm izinleri açık olan iki uygulamayı da aşağıya ekledim).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">NOT:</span> Gerçi çok bilinen bir şey ama doğrudan form görünümüyle açılan uygulamaları tasarım görünümünde açmak ve inceleyebilmek için Shift tuşunu basılı tutarak açabiliriz.<br />
<br />
Saygılarımla...</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=257" target="_blank" title="">Yasmatik.rar</a> (Boyut: 11,73 KB / İndirilme: 1083)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=258" target="_blank" title="">Yasmatik_tasarim.rar</a> (Boyut: 11,69 KB / İndirilme: 1062)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[OKUL ARKADAŞLARI ÖRNEĞİ- Tablo/Form/Sorgu (Açıklamalı)]]></title>
			<link>https://www.access-sql.com/Konu-OKUL-ARKADASLARI-ORNEGI-Tablo-Form-Sorgu-Aciklamali</link>
			<pubDate>Sun, 23 Mar 2008 17:02:10 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-OKUL-ARKADASLARI-ORNEGI-Tablo-Form-Sorgu-Aciklamali</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">Aşağıda örneğini eklediğim basit uygulamayı Tablo, Form ve Sorgu oluşturmayı basit şekilde anlatabilmek için 11 yaşındaki oğlumla beraber hazırladım. (Kendisi Access'in büyüleyici dünyasını çok sevmekte ve daha gelişmiş uygulamalar yapmak için sabırsızlanmakta. Umarım bu yolda çok çalışır ve başarılı bir Accessci olur). <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tablo Oluşturma Aşamaları:</span><br />
<br />
Öncelikle "Tablolar" nesnesi seçiliyken veritabanı penceresinden "Tasarla" düğmesiyle (veya "Tasarım görünümünde tablo oluştur" seçeneğine çift tıklayarak) tasarım görünümünde boş bir tablo açtım. Burada "KayitNo" isimli bir alan oluşturup, veri türünü "Otomatik Sayı" yaptım. İmleci bu alana konumlandırıp "Tablo Tasarımı" araç çubuğundaki birincil anahtar simgesini tıklayarak "KayitNo" alanını tablomun birincil anahtarı yaptım.<br />
<br />
"OkulNo" adı altında "Sayı" veri türünde bir alan oluşturdum ve aşağıda "Genel" sekmesinden "Varsayılan Değer" satırındaki "0" ifadesini sildim. (Yoksa bu "0" değeri bu alanda hep gözükür). <br />
<br />
"ArkadasAdiSoyadi" adında "Metin" veri türünde bir alan oluşturdum.<br />
<br />
"DogumTarihi" adı altında "Tarih/Saat" veri türünde bir alan oluşturdum ve aşağıda "Genel" sekmesindeki "Giriş Maskesi" sihirbazından yararlanarak tarih girmek için bir biçim seçtim. Burada Access bana tabloyu kaydetmem gerektiğini söyleyen bir pencere açınca ben de bu pencerede tablomun adına "Tbl_Arkadaslar" ismini vererek kaydettim. Sihirbazın yardımıyla "Kısa Tarih" biçimini seçerek ve hep "İleri" diyerek tarih için belirlediğim biçimi oluşturdum. Bu, alana tarih girerken işimi kolaylaştıracak.<br />
<br />
Daha sonra "Cinsiyeti" adı altında "Metin" veri türünde bir alan oluşturdum ve aşağıda "Arama" sekmesinde "Denetimi Görüntüle" açılır kutusunda "Açılan Kutu" seçeneğini seçtim. Bunu seçince gelen bölümde "Satır Kaynak Türü"nü "Değer Listesi" yaptım (İstediğim değerleri ben yazmak istiyorum çünkü). "Satır Kaynağı" bölümünü de ("ERKEK";"KIZ") yazarak bu bölümden çıktım. Tablomu kaydettim ve veritabanı penceresinde "Tbl_Arkadaslar" tablosunu çift tıklayarak verilerimi "Verisayfası Görünümünde" iken girdim.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Form Oluşturma Aşamaları:</span><br />
<br />
Veritabanı penceresinde "Formlar" nesnesini seçerek açılan pencerede "Sihirbazı kullanarak form oluştur" seçeneğine çift tıkladım ve açılan Form Sihirbazı'nın ilk penceresinde "Tablo: Tbl_Arkadaslar" tablom seçiliyken (zaten başka tablomuz yok bu aşamada <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /> ) "KayitNo" alanı dışındaki sol taraftaki bütün alanları sağ taraftaki "Seçili Alanlar" bölümüne aktardım. ("KayitNo" alanının formumda görünmesini istemiyorum). "İleri" butonunu tıklayarak, sonraki pencerede "Sütunlu" seçeneğini, sonrakinde "Standart" stili seçeneğini seçerek devam ettim. Son olarak açılan pencerede formumun başlığını "Frm_Arkadaslar" yaptım ve "Son" butonuna tıklayarak işlemi sonlandırdım. Oluşturduğum form ekrana geldi böylece. Form üzerindeki şekil düzenlemelerini yapabilmek için "Form Görünümü" araç çubuğundaki "Görünüm" simgesini tıklayarak formumu tasarım görünümünde açtım. "Biçimlendirme" araç çubuğu yardımıyla alanların kalınlık, renk gibi biçimsel özelliklerini ayarladıktan sonra alan etiketlerine çift tıklayarak formumda güzel gözükmesi için yazıları Türkçe karakterleri ve boşlukları açılan özellikler penceresinin "Biçim" sekmesinin "Resim Yazısı" satırından uygun hale getirerek düzenledim. Sonra mouse ile bütün alanları ve etiketlerini seçerek "Form Tasarımı" araç çubuğundaki "Özel Efekt" simgesinden "Yükseltilmiş" stili seçerek alan ve etiketleri kabarık hale getirdim.<br />
<br />
Tasarım görünümde iken form boyutlarını mouse ile istediğim şekilde ayarladıktan sonra formun sol üst köşesindeki birleşim yerine çift tıklayarak "Özellikler" penceresini açtım ve burada "Biçim" sekmesinde "Kaydırma Çubukları" satırını "Hiçbiri" yaptım. Yine "Diğer" sekmesinde "Açılan" satırını - Access uygulamam açıldığı zaman ilk olarak bu formun gelmesini istediğim için- "Evet" yaptım. Ve son değişikliklerden sonra formumu kaydederek bu bölümden çıktım.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Sorgu Oluşturma Aşamaları:</span><br />
<br />
Sınıfımdaki kızları ve erkekleri ayrı ayrı görebileceğim bir sorgu oluşturmak istedim. Bu yüzden bir sorgu oluşturmaya karar verdim. Bunun için önce veritabanı penceresinde "Sorgular" nesnesini seçerek sorgulara ait pencereyi açtım ve burada "Tasarım görünümünde sorgu oluştur" seçeneğini çift tıklayarak oluşturacağım sorgu için tasarım görünümünü açtım. Karşıma gelen "Tabloyu Göster" penceresinde "Tablolar" sekmesinde "Tbl_Arkadaslar" tablosu seçili iken "Ekle" butonuna bastım ve bu tablo "Sorgu Tasarım Sayfası"nın üst bölümünde yerini aldı. "Tabloyu Göster" penceresini kapatarak üst tarafta bulunan "Tbl_Arkadaslar" tablosundan "ArkadasAdiSoyadi" ve "Cinsiyeti" alanlarını mouse ile tutup sürükleyerek aşağıda sorgu tasarımındaki "Alan" bölümlerine bıraktım. (Bu aşamada "Sorgu Tasarımı" araç çubuğundaki "Çalıştır" simgesine tıklarsanız "ArkadasAdiSoyadi" ve "Cinsiyeti" alanlarının tamamını görebilirsiniz). Ancak ben "KIZ"ları seçtiğim zaman bütün kızların, "ERKEK"leri seçtiğim zaman bütün erkeklerin gelmesini istediğim bir sorgu oluşturmak istiyordum. Bunun için bir parametre oluşturmam gerekti. Bu nedenle sorgu tasarım kılavuzunda "Cinsiyeti" alanının "Ölçüt" satırına [CİNSİYETİ GİRİNİZ] ifadesini yazdım. Bu aşamada sorgumu çalıştırdığım zaman bir pencere açıldı ve "CİNSİYET GİRİNİZ" yazan bir pencere açıldı. Buraya "KIZ" yazdığım zaman tablomdaki bütün kızların listesini aldım. Burada işim bittiği için sorgumu kaydettim. (Sorgumu kaydederken açılan pencerede sorguma "Srg_Cinsiyet" yazdım). Ve burada da işim bittiğinden buradan çıktım.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Düzenleme Aşamaları:</span><br />
<br />
Sorgumu çalıştırdığım zaman bunun bir form görünümde olmasını istediğim için veritabanı penceresinde "Formlar" nesnesini seçtim ve Yeni&gt;Yeni Form&gt; Otomatik Form: Sekmeli yolunu izleyerek ve açılan pencerede "Nesnelerin Geldiği Sorgu" olarak "Srg_Cinsiyet" sorgusunu seçerek "Tamam" butonuna bastım. Yukarıda anlattığım yöntemlerle formun biçim özelliklerini ayarlayıp bu forumu da açılır form haline getirdim.<br />
<br />
Geriye "Frm_Arkadaslar" formunda bu sorguyu açmak istediğim zaman kolayca ulaşabileceğim bir yol oluşturmak kalmıştı. Bunun için "Frm_Arkadaslar" formunu tasarım görünümünde açarak "Form Tasarımı" araç çubuğundan "Komut Düğmesi" simgesini mouse yardımıyla seçerek "Frm_Arkadaslar" formumda uygun bir yere bıraktım. Açılan sihirbaz ve pencereler yardımıyla "Frm_Cinsiyet" formunu seçtim ve komut düğmesinin üzerinde yer alacak yazı için "CİNSİYET SORGULA" ifadesini yazdım. Sihirbazı sonlandırıp, işlemi kaydettim ve buradan çıktım.<br />
<br />
Artık "Frm_Arkadaslar" formumu açtığım zaman buradaki "CİNSİYET SORGULA" butonu yardımıyla form üzerinden sorgumu alabileceğim.<br />
<br />
Araçlar&gt;Başlangıç yolunu kullanarak açtığım pencerede "Form/Sayfa Görüntüle" kutusunda -uygulamamı açtığımda bu formun doğrudan açılması için- "Frm_Arkadaslar" formunu seçtim ve "Tamam" dedim.<br />
<br />
Son olarak hazırladığım uygulamanın boyutlarının büyümemesi ve uygulamamı her kapattığımda kendiliğinden sıkıştırılarak düzenlenmesi ve boyutlarının küçülmesi için Araçlar&gt;Seçenekler&gt;Genel sekmesi yolunu kullanarak burada "Kapatırken Düzenle" seçeneğinin onay kutusunu aktif hale getirdim...<br />
<br />
Umarım bu basit örnek de, yeni başlayanlara bir fikir verir ve yararlı olur...<br />
<br />
Saygılarımla...</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=102" target="_blank" title="">Arkadaslar.rar</a> (Boyut: 12,75 KB / İndirilme: 4357)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">Aşağıda örneğini eklediğim basit uygulamayı Tablo, Form ve Sorgu oluşturmayı basit şekilde anlatabilmek için 11 yaşındaki oğlumla beraber hazırladım. (Kendisi Access'in büyüleyici dünyasını çok sevmekte ve daha gelişmiş uygulamalar yapmak için sabırsızlanmakta. Umarım bu yolda çok çalışır ve başarılı bir Accessci olur). <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tablo Oluşturma Aşamaları:</span><br />
<br />
Öncelikle "Tablolar" nesnesi seçiliyken veritabanı penceresinden "Tasarla" düğmesiyle (veya "Tasarım görünümünde tablo oluştur" seçeneğine çift tıklayarak) tasarım görünümünde boş bir tablo açtım. Burada "KayitNo" isimli bir alan oluşturup, veri türünü "Otomatik Sayı" yaptım. İmleci bu alana konumlandırıp "Tablo Tasarımı" araç çubuğundaki birincil anahtar simgesini tıklayarak "KayitNo" alanını tablomun birincil anahtarı yaptım.<br />
<br />
"OkulNo" adı altında "Sayı" veri türünde bir alan oluşturdum ve aşağıda "Genel" sekmesinden "Varsayılan Değer" satırındaki "0" ifadesini sildim. (Yoksa bu "0" değeri bu alanda hep gözükür). <br />
<br />
"ArkadasAdiSoyadi" adında "Metin" veri türünde bir alan oluşturdum.<br />
<br />
"DogumTarihi" adı altında "Tarih/Saat" veri türünde bir alan oluşturdum ve aşağıda "Genel" sekmesindeki "Giriş Maskesi" sihirbazından yararlanarak tarih girmek için bir biçim seçtim. Burada Access bana tabloyu kaydetmem gerektiğini söyleyen bir pencere açınca ben de bu pencerede tablomun adına "Tbl_Arkadaslar" ismini vererek kaydettim. Sihirbazın yardımıyla "Kısa Tarih" biçimini seçerek ve hep "İleri" diyerek tarih için belirlediğim biçimi oluşturdum. Bu, alana tarih girerken işimi kolaylaştıracak.<br />
<br />
Daha sonra "Cinsiyeti" adı altında "Metin" veri türünde bir alan oluşturdum ve aşağıda "Arama" sekmesinde "Denetimi Görüntüle" açılır kutusunda "Açılan Kutu" seçeneğini seçtim. Bunu seçince gelen bölümde "Satır Kaynak Türü"nü "Değer Listesi" yaptım (İstediğim değerleri ben yazmak istiyorum çünkü). "Satır Kaynağı" bölümünü de ("ERKEK";"KIZ") yazarak bu bölümden çıktım. Tablomu kaydettim ve veritabanı penceresinde "Tbl_Arkadaslar" tablosunu çift tıklayarak verilerimi "Verisayfası Görünümünde" iken girdim.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Form Oluşturma Aşamaları:</span><br />
<br />
Veritabanı penceresinde "Formlar" nesnesini seçerek açılan pencerede "Sihirbazı kullanarak form oluştur" seçeneğine çift tıkladım ve açılan Form Sihirbazı'nın ilk penceresinde "Tablo: Tbl_Arkadaslar" tablom seçiliyken (zaten başka tablomuz yok bu aşamada <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /> ) "KayitNo" alanı dışındaki sol taraftaki bütün alanları sağ taraftaki "Seçili Alanlar" bölümüne aktardım. ("KayitNo" alanının formumda görünmesini istemiyorum). "İleri" butonunu tıklayarak, sonraki pencerede "Sütunlu" seçeneğini, sonrakinde "Standart" stili seçeneğini seçerek devam ettim. Son olarak açılan pencerede formumun başlığını "Frm_Arkadaslar" yaptım ve "Son" butonuna tıklayarak işlemi sonlandırdım. Oluşturduğum form ekrana geldi böylece. Form üzerindeki şekil düzenlemelerini yapabilmek için "Form Görünümü" araç çubuğundaki "Görünüm" simgesini tıklayarak formumu tasarım görünümünde açtım. "Biçimlendirme" araç çubuğu yardımıyla alanların kalınlık, renk gibi biçimsel özelliklerini ayarladıktan sonra alan etiketlerine çift tıklayarak formumda güzel gözükmesi için yazıları Türkçe karakterleri ve boşlukları açılan özellikler penceresinin "Biçim" sekmesinin "Resim Yazısı" satırından uygun hale getirerek düzenledim. Sonra mouse ile bütün alanları ve etiketlerini seçerek "Form Tasarımı" araç çubuğundaki "Özel Efekt" simgesinden "Yükseltilmiş" stili seçerek alan ve etiketleri kabarık hale getirdim.<br />
<br />
Tasarım görünümde iken form boyutlarını mouse ile istediğim şekilde ayarladıktan sonra formun sol üst köşesindeki birleşim yerine çift tıklayarak "Özellikler" penceresini açtım ve burada "Biçim" sekmesinde "Kaydırma Çubukları" satırını "Hiçbiri" yaptım. Yine "Diğer" sekmesinde "Açılan" satırını - Access uygulamam açıldığı zaman ilk olarak bu formun gelmesini istediğim için- "Evet" yaptım. Ve son değişikliklerden sonra formumu kaydederek bu bölümden çıktım.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Sorgu Oluşturma Aşamaları:</span><br />
<br />
Sınıfımdaki kızları ve erkekleri ayrı ayrı görebileceğim bir sorgu oluşturmak istedim. Bu yüzden bir sorgu oluşturmaya karar verdim. Bunun için önce veritabanı penceresinde "Sorgular" nesnesini seçerek sorgulara ait pencereyi açtım ve burada "Tasarım görünümünde sorgu oluştur" seçeneğini çift tıklayarak oluşturacağım sorgu için tasarım görünümünü açtım. Karşıma gelen "Tabloyu Göster" penceresinde "Tablolar" sekmesinde "Tbl_Arkadaslar" tablosu seçili iken "Ekle" butonuna bastım ve bu tablo "Sorgu Tasarım Sayfası"nın üst bölümünde yerini aldı. "Tabloyu Göster" penceresini kapatarak üst tarafta bulunan "Tbl_Arkadaslar" tablosundan "ArkadasAdiSoyadi" ve "Cinsiyeti" alanlarını mouse ile tutup sürükleyerek aşağıda sorgu tasarımındaki "Alan" bölümlerine bıraktım. (Bu aşamada "Sorgu Tasarımı" araç çubuğundaki "Çalıştır" simgesine tıklarsanız "ArkadasAdiSoyadi" ve "Cinsiyeti" alanlarının tamamını görebilirsiniz). Ancak ben "KIZ"ları seçtiğim zaman bütün kızların, "ERKEK"leri seçtiğim zaman bütün erkeklerin gelmesini istediğim bir sorgu oluşturmak istiyordum. Bunun için bir parametre oluşturmam gerekti. Bu nedenle sorgu tasarım kılavuzunda "Cinsiyeti" alanının "Ölçüt" satırına [CİNSİYETİ GİRİNİZ] ifadesini yazdım. Bu aşamada sorgumu çalıştırdığım zaman bir pencere açıldı ve "CİNSİYET GİRİNİZ" yazan bir pencere açıldı. Buraya "KIZ" yazdığım zaman tablomdaki bütün kızların listesini aldım. Burada işim bittiği için sorgumu kaydettim. (Sorgumu kaydederken açılan pencerede sorguma "Srg_Cinsiyet" yazdım). Ve burada da işim bittiğinden buradan çıktım.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Düzenleme Aşamaları:</span><br />
<br />
Sorgumu çalıştırdığım zaman bunun bir form görünümde olmasını istediğim için veritabanı penceresinde "Formlar" nesnesini seçtim ve Yeni&gt;Yeni Form&gt; Otomatik Form: Sekmeli yolunu izleyerek ve açılan pencerede "Nesnelerin Geldiği Sorgu" olarak "Srg_Cinsiyet" sorgusunu seçerek "Tamam" butonuna bastım. Yukarıda anlattığım yöntemlerle formun biçim özelliklerini ayarlayıp bu forumu da açılır form haline getirdim.<br />
<br />
Geriye "Frm_Arkadaslar" formunda bu sorguyu açmak istediğim zaman kolayca ulaşabileceğim bir yol oluşturmak kalmıştı. Bunun için "Frm_Arkadaslar" formunu tasarım görünümünde açarak "Form Tasarımı" araç çubuğundan "Komut Düğmesi" simgesini mouse yardımıyla seçerek "Frm_Arkadaslar" formumda uygun bir yere bıraktım. Açılan sihirbaz ve pencereler yardımıyla "Frm_Cinsiyet" formunu seçtim ve komut düğmesinin üzerinde yer alacak yazı için "CİNSİYET SORGULA" ifadesini yazdım. Sihirbazı sonlandırıp, işlemi kaydettim ve buradan çıktım.<br />
<br />
Artık "Frm_Arkadaslar" formumu açtığım zaman buradaki "CİNSİYET SORGULA" butonu yardımıyla form üzerinden sorgumu alabileceğim.<br />
<br />
Araçlar&gt;Başlangıç yolunu kullanarak açtığım pencerede "Form/Sayfa Görüntüle" kutusunda -uygulamamı açtığımda bu formun doğrudan açılması için- "Frm_Arkadaslar" formunu seçtim ve "Tamam" dedim.<br />
<br />
Son olarak hazırladığım uygulamanın boyutlarının büyümemesi ve uygulamamı her kapattığımda kendiliğinden sıkıştırılarak düzenlenmesi ve boyutlarının küçülmesi için Araçlar&gt;Seçenekler&gt;Genel sekmesi yolunu kullanarak burada "Kapatırken Düzenle" seçeneğinin onay kutusunu aktif hale getirdim...<br />
<br />
Umarım bu basit örnek de, yeni başlayanlara bir fikir verir ve yararlı olur...<br />
<br />
Saygılarımla...</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=102" target="_blank" title="">Arkadaslar.rar</a> (Boyut: 12,75 KB / İndirilme: 4357)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ADRES VE TELEFON REHBERİ ÖRNEĞİ - Tablo/Form (Açıklamalı)]]></title>
			<link>https://www.access-sql.com/Konu-ADRES-VE-TELEFON-REHBERI-ORNEGI-Tablo-Form-Aciklamali</link>
			<pubDate>Sun, 23 Mar 2008 14:24:11 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-ADRES-VE-TELEFON-REHBERI-ORNEGI-Tablo-Form-Aciklamali</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">Aşağıda örneğini eklediğim basit "Adres ve Telefon Rehberi" uygulamasında önce "Tbl_AdresTelefon" tablosunu oluşturmak için Veritabanı penceresinde "Tasarım görünümünde tablo oluştur" seçeneğini seçerek alanları oluşturdum. Burada her kayıdın birbirinden bağımsız ve tek (diğer kayıtlardan ayrılmasını sağlayan) "KayitNo" isimli "Otomatik Sayı" veritüründe bir alan oluşturdum ve bu alanı "Birincil anahtar" olarak belirledim. Yani bu tablonun birincil anahtarı "KayitNo" alanı olmuş oldu... Daha sonra diğer alanları oluşturdum ve kendi veri türlerine uygun hale getirdim. Örneğin "AdSoyad" alanı "Metin" veri türünde iken, "EPosta" isimli alan "Köprü" veri türünde, "KayitGirisTarihi" adlı alan "Tarih/Saat" veri türünde oluşturuldu. Telefon numaralarını istediğim biçimde girebilmek için, "EvTelNo" alanı seçiliyken aşağıda "Genel" sekmesinden "Giriş Maskesi" satırının sağındaki "..." simgesini tıklayarak sihirbazı çalıştırdım (bunu yapmak için tabloya bir isim vererek kaydetmek gerekti) ve telefon numarası için sihirbazın yardımıyla bir biçim belirledim. Bu işlemi "IsTelNo" ve "CepTelNo" alanları için de yaptım. "KayitGirisTarihi" alanında ise yine aşağıdaki "Genel" sekmesinden "Varsayılan Değer" satırına "=Date()" yazarak her kayıt için bilgi girişini ne zaman yaptığımı görmeyi amaçladım.<br />
<br />
Daha sonra Tbl_AdresTelefon tablosunu kaydederek buradan çıktım ve Veritabanı Penceresinde "Formlar" nesnesini seçerek açılan pencerede yukarıda "Yeni" düğmesine basarak açılan "Yeni FOrm" penceresinde "Otomatik Form: Sütunlu" seçeneğini seçip, aşağıdaki açılır kutudan da nesne verilerinin geldiği tablo olarak "Tbl_AdresTelefon" tablosunu seçtim. (Zaten bu aşamada başka tablo yoktu). <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /> Access böylece kendisi otomatik olarak bir form oluşturmuş oldu. Bu formu kapatırken ismini "Frm_AdresTelefon" yaptım ve kaydettim. Yine veritabanı penceresinde "Frm_AdresTelefon" formu seçiliyken üst taraftaki "Tasarla" düğmesine basarak formumu tasarım görünümde açtım. Burada form üzerindeki alanları seçerek kalınlık ve renk gibi biçim özelliklerini "Biçimlendirme" araç kutusunu kullanarak ayarladım. Sonra tasarım görünümündeki formun sol üst birleşim köşesindeki kutuyu çift tıklayarak (veya burayı sağ tıklayıp "Özellikler"i seçerek) form özelliklerinin bulunduğu pencereyi açtım. Burada "Biçim" sekmesinde "Resim Yazısı" bölümünü "Frm_AdresTelefon", "Kaydırma Çubukları" bölümünü "Hiçbiri" yaparak "Diğer" sekmesinden -formumun açılan form görünümünde olması için- "Açılan" bölümünü "Evet" yaptım.<br />
<br />
Araçlar&gt;Başlangıç yolunu kullanarak açtığım pencerede "Form/Sayfa Görüntüle" kutusunda -uygulamamı açtığımda bu formun doğrudan açılması için- "Frm_AdresTelefon" formunu seçtim ve "Tamam" dedim.<br />
<br />
Son olarak hazırladığım uygulamanın boyutlarının büyümemesi ve uygulamamı her kapattığımda kendiliğinden sıkıştırılarak düzenlenmesi ve boyutlarının küçülmesi için Araçlar&gt;Seçenekler&gt;Genel sekmesi yolunu kullanarak burada "Kapatırken Düzenle" seçeneğinin onay kutusunu aktif hale getirdim...<br />
<br />
Umarım çok basit olmasına rağmen, yeni başlayanlar için fikir verici ve yararlı bir örnek olur...</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2014" target="_blank" title="">AdresTelefon.rar</a> (Boyut: 9,57 KB / İndirilme: 7623)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">Aşağıda örneğini eklediğim basit "Adres ve Telefon Rehberi" uygulamasında önce "Tbl_AdresTelefon" tablosunu oluşturmak için Veritabanı penceresinde "Tasarım görünümünde tablo oluştur" seçeneğini seçerek alanları oluşturdum. Burada her kayıdın birbirinden bağımsız ve tek (diğer kayıtlardan ayrılmasını sağlayan) "KayitNo" isimli "Otomatik Sayı" veritüründe bir alan oluşturdum ve bu alanı "Birincil anahtar" olarak belirledim. Yani bu tablonun birincil anahtarı "KayitNo" alanı olmuş oldu... Daha sonra diğer alanları oluşturdum ve kendi veri türlerine uygun hale getirdim. Örneğin "AdSoyad" alanı "Metin" veri türünde iken, "EPosta" isimli alan "Köprü" veri türünde, "KayitGirisTarihi" adlı alan "Tarih/Saat" veri türünde oluşturuldu. Telefon numaralarını istediğim biçimde girebilmek için, "EvTelNo" alanı seçiliyken aşağıda "Genel" sekmesinden "Giriş Maskesi" satırının sağındaki "..." simgesini tıklayarak sihirbazı çalıştırdım (bunu yapmak için tabloya bir isim vererek kaydetmek gerekti) ve telefon numarası için sihirbazın yardımıyla bir biçim belirledim. Bu işlemi "IsTelNo" ve "CepTelNo" alanları için de yaptım. "KayitGirisTarihi" alanında ise yine aşağıdaki "Genel" sekmesinden "Varsayılan Değer" satırına "=Date()" yazarak her kayıt için bilgi girişini ne zaman yaptığımı görmeyi amaçladım.<br />
<br />
Daha sonra Tbl_AdresTelefon tablosunu kaydederek buradan çıktım ve Veritabanı Penceresinde "Formlar" nesnesini seçerek açılan pencerede yukarıda "Yeni" düğmesine basarak açılan "Yeni FOrm" penceresinde "Otomatik Form: Sütunlu" seçeneğini seçip, aşağıdaki açılır kutudan da nesne verilerinin geldiği tablo olarak "Tbl_AdresTelefon" tablosunu seçtim. (Zaten bu aşamada başka tablo yoktu). <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /> Access böylece kendisi otomatik olarak bir form oluşturmuş oldu. Bu formu kapatırken ismini "Frm_AdresTelefon" yaptım ve kaydettim. Yine veritabanı penceresinde "Frm_AdresTelefon" formu seçiliyken üst taraftaki "Tasarla" düğmesine basarak formumu tasarım görünümde açtım. Burada form üzerindeki alanları seçerek kalınlık ve renk gibi biçim özelliklerini "Biçimlendirme" araç kutusunu kullanarak ayarladım. Sonra tasarım görünümündeki formun sol üst birleşim köşesindeki kutuyu çift tıklayarak (veya burayı sağ tıklayıp "Özellikler"i seçerek) form özelliklerinin bulunduğu pencereyi açtım. Burada "Biçim" sekmesinde "Resim Yazısı" bölümünü "Frm_AdresTelefon", "Kaydırma Çubukları" bölümünü "Hiçbiri" yaparak "Diğer" sekmesinden -formumun açılan form görünümünde olması için- "Açılan" bölümünü "Evet" yaptım.<br />
<br />
Araçlar&gt;Başlangıç yolunu kullanarak açtığım pencerede "Form/Sayfa Görüntüle" kutusunda -uygulamamı açtığımda bu formun doğrudan açılması için- "Frm_AdresTelefon" formunu seçtim ve "Tamam" dedim.<br />
<br />
Son olarak hazırladığım uygulamanın boyutlarının büyümemesi ve uygulamamı her kapattığımda kendiliğinden sıkıştırılarak düzenlenmesi ve boyutlarının küçülmesi için Araçlar&gt;Seçenekler&gt;Genel sekmesi yolunu kullanarak burada "Kapatırken Düzenle" seçeneğinin onay kutusunu aktif hale getirdim...<br />
<br />
Umarım çok basit olmasına rağmen, yeni başlayanlar için fikir verici ve yararlı bir örnek olur...</div><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2014" target="_blank" title="">AdresTelefon.rar</a> (Boyut: 9,57 KB / İndirilme: 7623)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>