raporla ilgili

Katılım
8 Ağustos 2006
Mesajlar
28
arkadaşlar tekrar merhaba ,size anlamsız gelebilecek bir sorunum var

gönderdiğim örnekte hammadde girişleri diye bir formum var ve bu formda satıcı alanı bazı kayıtlarda boş geçilmiş.benim yapmak istediğim şey(anlamsız gelebilir size)bu satıcı alanı boş olan kayıtlar veritabanında yine boş olarak kalsın ama bunun için oluşturduğum hammadde girişleri raporunda bu satıcı kısmı boş olan ifadelere benim yazacağım bir ifadenin gelmesini istiyorum ama sadece raporda görünecek kayıtlarda yine boş olarak kalacak.yani şöyle bir komut düşünüyorum "eğer satıcı değeri boş ise "boş" yaz" gibi bir komut yazılabilir mi ama formda görünmeyecek sadece raporda görünecek.

teşekkürler
saygılar...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın ilhangundugdu,

Elbette mümkün. Raporu oluşturan sorguyu açtıktan sonra en sonuna yeni bir sütun ekleyin ve en üst alanına ise aşağıdaki satırı yapıştırın

Deyim1: IIf(IsNull([Satıcı]);"DENEME";[Satıcı])

Burada "DENEME" görünmesi istediğiniz kelimenin yerine kullanılmıştır.

iyi çalışmalar:hey:
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
Sn Modalı; ben geçenki kayıt programı ile ilgili bazı düzenlemeler vs yaptım. ama bazı eksiklikler var, yardımlarınız bekliyorum.
1-öncelikle veritabanı doğru mu, hata verir mi?
2-bu veritabanı da yukardaki sn.ilhangundugdu nun "kopyası" veritabanı gibi açılır açılmaz form ekranı nasıl getirilir, yani kullanıcı tasarıma müdahale etmeyecek.
3-forma üye bul butonu nasıl eklenir. bu büton ad soyad yazınca ilgili üyeleri bulacak.
4-kayıt ID ne işe yarar?
5-üye aidat tablosunda 2 satır değil de tek satır olsun (ana formda)
6-üye aidat ödediği zaman uygun bir makbuz/dekont raporu da hazırlanabilir mi
7-bu bir dernek veritabanıdır, sadece hizmet amaçlı tasarlanmıştır.
cevap vereceğinizi umuyorum, saygılarımla (irtibat e mail: asimturkmen@hotmail.com)
lütfenn..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın eskala,

Epey değişiklik yaptım çünkü tablolara dikkat ettiyseniz tüm veriler kaydedilmiyordu.

Bir de hesaplanan alalnlar kayıt olarak tutulmazlar. Devamlı söylüyorum Excel den gelen bir alışkanlıkla herkes ısrar ediyor. Toplan ödenen, kalan gibi alanlara gerek yok. Tüm bu çeşit bilgileri gördüğünüz gibi formlarda, sorgularda ve raporlarda elde edebiliyoruz. o zaman gereksizler. Veri bütünlüğünü bozarlar ve gereksiz olarak veri tabanını şişirirler.

Veritabanı penceresini göstermemek kolay. Acceess araçlar başlangıç penceresini inceleyin. Daha gelişmişi de var. Ama bu ayarlar uygulama bittikten sonra yapılmalı. çünkü deneme sırasında epey güçlük çıkarıyor.

Üye arama sorununu daha değişik çözdüm umarım beğenirsiniz.

Veri tabanı mantığında her tabloda tekrarsız anahtar bir kayıt olması gerekir (olmayabilirde ama siz yine de kullanın) Genelde onu otomatik sayı olarak tanımlarız herhanfi bir kayıda bir veri girildiğinde otomatik olarak 1 artar.

Çift satır olmasının nedeni veri görünümünün yeni bir kayda hazırlanması bence herhangi bir mahsuru yok.

Raporlama konusuna yarın vakit bulursam eğileceğim. Raporlamayla ilgili bir şey yapmadım. Makbuzla ilgili bir taslağınız varsa ekleyin ona göre oluşturayım.

Şimdilik bu kadar.

İyi çalışmalar:)
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
çok güzel olmuş özellikle üye bul süperrr... elinize sağlık. rapor kısmınada bir bakarsanız / düzenlerseniz (iki tarih arası rapor, üye noya göre rapor- ana ekranda ilgili üyeye ait aidat alınca hemen ordan bir döküm alınması şeklinde ve soyada göre liste yazdırmak gibi .)
hesap özeti alt tablosundaki veriler o andaki üyeye ait veri girişleri yapılınca hemen değişmiyor, taki başka bir üyeye git gel yapınca değerler değişiyor; onun için acaba ödeme yapılınca veya yıla ait miktarlar girince hemen aktifleşse daha iyi olmaz mı?
birde şu ana formda olan alt formlar otomatik olarak nasıl tablo görünümünde açılıyor ki ve ana form ekranında tablo şeklinde nasıl görünüyor?
Sn Modalı, aşağıda örnek olarak kodu verilen click olayında, genelde her click olayında olan yerler var bunları yazmak şart mı?
mesela "On Error GoTo Err_........._Click" ,
"Err_........._Click:
MsgBox Err.Description
Resume Exit_cmdRaporAç_Click" gibi
ve bunların anlamı nedir? açıklarmısınız?

örnek:
Private Sub cmdRaporAç_Click()
On Error GoTo Err_cmdRaporAç_Click

Dim stDocName As String

stDocName = "üyeaidat"
DoCmd.OpenReport stDocName, acPreview

Exit_cmdRaporAç_Click:
Exit Sub

Err_cmdRaporAç_Click:
MsgBox Err.Description
Resume Exit_cmdRaporAç_Click

End Sub


çok sağolun, çookk
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın eskala,

Uygulamayla ilgili değişiklikleri gece yapmaya çalışacağım. Bugün çok yoğunum.

Ama sorularınıza cevap vereyim:

1. Formların veri sayfası gibi görünmesi. Formun özellikler penceresinin biçim sekmesine giderseniz Varsayılan Görünüm açılan kutusunda Tek Form, Veri Sayfası, Sürekli Form, Özet Tablo Görünümü, Grafik Görünümü seçeneklerinin olduğunu göreceksiniz. Görünümümüz veri sayfası olduğuna göre oradan ayarlayabiliriz.

2. Gelelim hata ayıklama sürecine.

Program yazılırken programa hata oluştuğunda nasıl davranması gerektiğini söylememiz gerekir.

Private Sub cmdRaporAç_Click()
On Error GoTo Err_cmdRaporAç_Click

Dim stDocName As String

stDocName = "üyeaidat"
DoCmd.OpenReport stDocName, acPreview

Exit_cmdRaporAç_Click:
Exit Sub

Err_cmdRaporAç_Click:
MsgBox Err.Description
Resume Exit_cmdRaporAç_Click

End Sub

Kod parçası form üzerinde cmdRaporAç adında bir düğümenin kliklendiğinde nelerin yapılacağını söylüyor.

İlk satırdaki On Error GoTo Err_cmdRaporAç_Click komutu kod parçası çalışırken bir hata oluştuğunda programın Err_cmdRaporAç_Click noktasına yönelmesini söylüyor.

Diyelimki hata oluştu o zaman program bizi


Err_cmdRaporAç_Click:
MsgBox Err.Description
Resume Exit_cmdRaporAç_Click

Noktasına taşıyor ve diyoruz ki burada programa Bir mesaj penceresi aç ve içine hatanın açıklamasını yap.

Mesaj kutusu kapandığında ise (Resume- akabinde) Exit_cmdRaporAç_click noktasına git

Exit_cmdRaporAç_Click:
Exit Sub

Burada ise alt yordamdan (sub) çık diyoruz.


Program hata üretmez ise o zaman bizi

Dim stDocName As String

stDocName = "üyeaidat"
DoCmd.OpenReport stDocName, acPreview

parçasına devam ettirir.

Burada önce Dim deyimiyle stDocName değişkenini metin olarak atarız. Programlarda kullandığımız değişkenlerin ne tür olduklarını belirtmemiz gerekiyor.

Ondan sonra stDocName değişkenine üyeaidat kelimesini atıyoruz yani eşitliyoruz. Bundan sonra aksini belirtmediğimiz sürece stDocName üyeaidat raporunun adının yerine kullanılacak.(Dikkat ediyorsanız üye aidat "" arasına alındı eğer yazılmamış olsaydı program yine bunu da bir değişken olarak algılayacak ve 0 değerini atıyacaktı)

DoCmd.OpenReport stDocName, acPreview

Satırı ise DoCmd komutu işlet demek, OpenReport rapor aç demek stDocName önceden atadığımız "üyeaidat" raporunun açılacağını belirtiyor acPreview ise açılmanın ön izleme modunda olacağını açıklıyor.

Daha sonra ise

End Sub noktasına geliyoruz çünkü alt yordamlar : belirtilmiş olup onları geciyoruz.

Şimdi gelelim bu kodların yazılması nasıl olduğuna. Çok basit form üstüne bir düğüme ekleyin ve ekleme sırasında sihirbazın açık olduğuna emin olun.

Ekleme sihirbazı size ne yapmanız gerektiğini sırasıyla anlatır siz seçersiniz son a kliklediğinizde kod sayfasını incelerseniz bütün bu kodların otomatik olarak yazılmış olduğrunu görürdünüz. Başka bir deyişle sihirli cininiz tüm işi sizin yerinize yapmıştır.

Şimdilik bu kadar

İyi çalışmalar:icelim:
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
açıklamalarınız çok güzel, allah razı olsun, affınıza sığınarak bir şey soracam; şu son adımda
(Şimdi gelelim bu kodların yazılması nasıl olduğuna. Çok basit form üstüne bir düğüme ekleyin ve ekleme sırasında sihirbazın açık olduğuna emin olun.
Ekleme sihirbazı size ne yapmanız gerektiğini sırasıyla anlatır siz seçersiniz son a kliklediğinizde kod sayfasını incelerseniz bütün bu kodların otomatik olarak yazılmış olduğrunu görürdünüz. Başka bir deyişle sihirli cininiz tüm işi sizin yerinize yapmıştır.) burayı çözemedim bir türlü, sihirbaz dediğiniz yardım sihirbazı di mi? mesela bir form yaptım ve üzerine bir komut düğmesi ekledim, bu komutun formu kapat işi yapmasını istiyorum, bu dediğiniz cin nerde:) kodu ben kendim bizzat yazmak zorundayım. şu "on error" vs. ler nerden gelecek?
Saygılarımla...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın eskala,

Cin konusu espri idi.

Butonu yardım sihirbazıyla ekledikten sonra kod sayfasını açıp incelerseniz dediğiniz tüm kodların yazılmış olduğunu göreceksiniz.

İyi çalışmalar:)
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
Sn. Modalı;
yaa belki çok basit ama bu "Butonu yardım sihirbazıyla eklemek" nasıl oluyor. yani boş bir form açıyorum, araç çubuğundan komut düğmesine tıklıyorum ve formun üzerine bırakınca "komut0" diye bir buton oluşuyor ve kod ekranına geçince de
"Private Sub Komut0_Click()

End Sub"
den başka bişey yok.
teşekkürler...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın eskala,

Formu tasarım görünümünde açtığınızda nesneleri üzerinden alıp eklediğimiz bir de alet kutusu görünüyor. Onun en üstünde bir ok bir altında da sihirbaz değneğine benziyen bir ikon var. Oradan sihirbazları aktif veya deaktif yapıyoruz. Üstüne kliklerseniz probleminiz çözülür.

İyi çalışmalar:)
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
çok sağolun Modalı kardeş, olay anlaşılmıştır.
gerçekten müthişsiniz.
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
Sn. Modalı;
formların en altında otomatik olarak gelen bir kayıt sekmesi var.(en alta ileri-geri-en sona- başa gibi oklarla yönlendirilmiş bir kayıt sayısını otomatik olarak veren bir sekme).ama sizin bazı yaptığınız özellikle alt formlarda bu yok. bunu nasıl yapıyorsunuz.
teşekkürler...
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sn eskala
Alt formu tasarım modunda açın,
Formun özelliklerine gelin,
Kayıt Seçicileri, Gezinti Düğmeleri ve Kayıt Bölücüleri özellikleri Hayır olarak ayarlanmış, onları Evet'e çevirin.
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
teşekkürler omerceri..
çok makbule geçti.
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
Sn. Modalı,
genel birkaç sorum olacak, öncelikle yeni hafta ve öğretim yılı herkese hayırlı olsun.
aslında sorularım ekteki sorular programında belli. kısaca;
1-formlar arası bağlantı kurma nasıl yapılmakta, yani kod yazarken nasıl belirtiliyor diğer formun adresi?
2-kod yazarken bazı yerlerde Me.[üyeler] vs kullanılıyor, buradaki "Me" ne demek, amacı ne, kullanmasak ne olur?
3-ole nesnesi ne demek
4-diğer formdaki veriye göre farklı alt form görüntüleme (biraz 1. soru ile benzer)

teşekkürler...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın eskala,

İyi günler dilerim.

1. Formları nasıl tanıtırsınız diye sordunuz Bütün nesneler kendilerine ait bir küme altında toplanırlar. Formlar Forms, sogular Queries, raporlar Reports gibi.
Örnek:

Forms.Form1. (....)
Forms![Form1]! (...)

İki gösterim de aynı ifadeyi gösterir. Yani Forms kümesinin Form1 formunu.

Eğer nesne adlarını verirken boşluk kullanılmış ise o zaman nesne adı köşeli parantez içine alınır.

2. Gelelim Me ye. Me ingilizce de ben demek. O zaman kod yazılan nesnenin kendisini belirtir. kullanılmayabilir ama şimdi size bir kolaylıktan behs edeceğim.

Dikkat etmişseniz nesneleri ismlendirirken önlerini üç harflik bir önek ekliyorum ve boşluk bırakmıyorum. (Formların başına frm, sorguların başına qry, metin kutuların başına txt açılan kutuların başına cbo vs. Bu standardı MVP Oficce adlı bir oluşum tarafından oluşturuldu. isterseniz gönderirim. Prof. Mithat Uysal hocamız da buna benzer Türkçeye yakın önekler kullanıyor ama henüz bir standarda ulaşmadı sanırım.) Bu şu kolaylığı sağlıyor:

Herhengi bir kod sayfasını açın ve bir olayı seçerek kod yazma sfhasına gelin. Me yazıp bir nokta ekleyin o sırada size o sırada yazabileceğiniz deyimlerin bir penceresi açılacaktır her hangi birini seçerseniz ve space bara basarsanız deyimin otomatik olarak yazıldığını görürsünüz. Seçmeden diyelimm ki bir metin kutusunu alakadar eden bir deyim yazmak istiyorsunuz o zaman txt yazıp tüm metin kutularını birden görme olasılığınız var ve adı yanlış yazma olasılığını ortadan kaldırıyorsunuz.

3. OLE nesnesi türünde atanmış olan bilgiler Bir excel çalışma sayfası, bir Word dökümanı, bir resim ya da ses bilgisi olabilir. Bu tür belgeler Access uygulamasına gömülürler yani eklenirler. Ancak dikkat edilecek bir konu bu tür belgelerin toplam kapasiteleri bir uygulama için 1 GB geçemez. onun için kişi resimleri gibi nesneler gömülmemeleri daha uygun olur.

4.Bu soruyu uygulamada çözdüm. Form1 in kod sayfasında açıklamalar var .Takıldığınız noktayı sorabilrisiniz.

iyi çalışmalar:)
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
öncelikle çok teşekkürler sn. Modalı,
şimdi yukardaki "sorular veritabanıyla" ilgili bir-iki sorum olacak, aslında önceki yazımda
1. soru tam açık anlatamadım sanırım. "formlar arası bağlantı kurma nasıl yapılmakta, yani form1 e kod yazarken form2 deki veriyi (form2 deki metin kutusunun adını) nasıl aktaracağım.
örneğin;
form2 de çarpan:5 diye bir metin kutusu var.
form1 de de hesap =form2deki çarpan * form1deki katsayı+50 gibi formul olan bir metin kutusu var. işte burada form1 e "form2deki çarpanı" nasıl çağıracam.

2- nesnelere sağ tıklayıp özellikler sekmesinde "denetim kaynağından- deyim oluşturucu yoluyla işlem nasıl yapılıyor, bu özellik hakkında bilgi verebilirmisiniz.

Bir de şu frm, qry, txt cbo, komutlar için cmd vs. Bu standardı MVP Oficce adlı bir oluşum tarafından oluşturuldu ve isterseniz gönderirim demişsiniz, gönderirseniz sevinirim.

her şey için sağolun, gerçekten yardımlarınızın tarifini anlatamam...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın eskala,

Formlar bir ara yüz. Formların görevi kullanıcının işini kolaylaştırmak. Formlar ya bir tabloya yada bir sorguya dayanırlar. Onun için herhangi bir formdan değer almaya gerek yok. Formlar üzerindeki bilgiler ancak form açıkken kullanılabilirler. Formda ilişikisiz bir alan olur oraya yazdığınız bilgi bir sorgunun ölçütü olabilir ve o surgu ile ilişkili diğer bir form vardır. O zaman o bilgi bir anlam kazanır. Ama herhangi bir formun bilgisi zaten tablodan yada sorgudan alınır.

Deyim oluşturucu adından anlaşılacağı gibi özellikler penceresinde alanlara deyim oluşturur.

=[Tutar]*[kdv]

Bir deyimdir Bu deyimi kolaylıkla alan adlarında hata yapmadan yada kullanılacak işlevlerin(fonksiyonların) yazımı doğru olabilmesi için deyim oluşturucuyu kullanırız.

Sorgularda ölçüt oluşturmakta da kullanabiliriz.

Deyim oluşturucuda çalıştığınız uygulama da bulunan ek fonksiyonlar access fonksiyonları ve tüm uygulama nesnelerinin adları bulunur. Bir kaç deneme sonunda doğru deyimleri kolaylıkla ve daha çabuk yazdığınızı göreceksiniz.

Önekler için bendeki döküman ekde

yi çalışmalar:)
 
Katılım
1 Şubat 2006
Mesajlar
140
Excel Vers. ve Dili
2010
Sn. Modalı, başka bir iki sorum daha var,
1-bir form var ve üzerinde otomatik sayı özellikli "sıra no" var. formun altındaki otomatik gelen kayıt numarasıyla bu sıra nonun aynı sayı olması gerekirken, programda bayağı kayıt var ve şu anda alttaki kayıt no 3258 iken yukardaki kayıt 3264 olarak gitmekte, acaba bu fark nerden oldu ve nasıl düzeltilir.
2-bir de (bilmem mümkün mü acaba) sihirbazı kullanarak oluşturduğum bir formda diyelimki bir metin kutusu-özellikler -denetim kaynağı tıklayınca orda sihirbazı kullnarak oluşturulan tablodaki alan adlarından başka alan adı yok, buraya başka tabloların alan adları getiriliebilinir mi veya bu denetim kaynağı verisini başka bir tablodan aldırtacak olsak ne yaparız? bilmem anlatabildim mi?

herşey için çok sağolun, yardımlarınız harikulade....
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın eskala,

Otomatik sırano alanları yeni kayıt girildiğinde otomatik olarak bir artar. Ancak aradan bir kayıt silindiğinde otomatikno alanı da silindiğinden kayıtlar bir eksilmesine rağmen otomatikno numaraları kaldığı yerden verdiğinden fark oluşuyor.

Pek tabi başka tablolardan da veri alabilirsiniz. Ancak yeni bir sorgu hazırlamanız ve o sorguya verilerini eklemek istediğiniz tabloları da eklemeniz ve alanları sorguda göstermeniz ve formu bu sorguya dayandırmanız gerekir.

Form özellikleri penceresinde veri alanının yanında ... var. Oraya kliklerseniz tablo üzerine bir sorgu eklemek isteyip istemediğinizi soran bir ileti görürsünüz evet derseniz sorgu penceresi açılır oradan da sorguyu istediğiniz şekilde oluşturabilirsiniz.

İyi çalışmalar:)
 
Üst