arkadaşlar kolay gelsin. benim bir sorunum war. diyelimki 10 kayıtlık bir tablom var. bu tablodaki verilerin raporunu alacağım. ama benim rapordaki istediğim şu. bi evrak şeklim war. alt alta çizgiler var diyelim ki bu çizgiler 1 sayfada 45 tane.. benim tablomdaki bilgim 10 yada 15 veri bile olsa o 45 tane çizginin çıkmasını istiyorum. yani istediğim matbu bi evrak. hazır çizili evrağın sadece içinin dolması gibi. yardımcı olabilen varsa çok sevinirim.. teşekkür ederim..
hazır çizili bir evraksa çizgilere neden ihtiyacın var yok benim matbu formumun içi boş ben içine 45 tane çizgi çizecem 19 kaydım varsa bunu yazacak diğerleri boş kalacak diyorsan o ayrı boş bir rapora 45 aralıklı çizgini eklersin ve bu çizgiler arasına da metin kutularını ondan sonra raporu açtığında bu metin kutularının içine bilgilerini ado dao dlookup ile artık hangisini biliyorsan onunla doldurursun lakin örnek olmadığı için ancak böyle yardım edebiliyoruz
şöyle anlatayım.. raporda üst kısım, ayrıntı bide alt kısım varya..matbu evraktaki dolacak kısmın üstünde kalan yerleri üst kısıma çizdim, altta kalacak yerleri alt kısma çizdim. dolacak yerlerde ayrıntı kısmında. şimdi ayrıntı bölümünü 30 kayıt dolacak şekilde açarsak sadece 1 kayıdı gösteriyo. yani 1 kayıdın arası kocaman uzuyo. o arayı sadece dolacak yerdeki bilgileri koyunca yani metin kutusu falan ozamanda alt alta koyuyo istediğim gibi oluyo ama çizgi çıkmıyor. metin kutusunun altına çizgi koysamda kaçtane kayıt varsa okadarını çiziyo.. benim istediğim ben raporu matbu evrak gibi çizeyim. o sadece içini doldursun. umarım anlatabilmişimdir. örnek şu an elimde yok. buradan yardımcı olabilirseniz çok sevinirim.. şimdiden kolay gelsin.
şu örnekte olduğu gibi mesela 5 tane kayıt var. 5 tane kayıda göre çizgi değil kaç tane kayıt olursa olsun 1 sayfa boyunca alt alta çizgiler olsun. bunu yapamadım. yardım edebilirmisiniz lütfen.
ahmetonur Yazılan:şu örnekte olduğu gibi mesela 5 tane kayıt var. 5 tane kayıda göre çizgi değil kaç tane kayıt olursa olsun 1 sayfa boyunca alt alta çizgiler olsun. bunu yapamadım. yardım edebilirmisiniz lütfen.
Sayın Modalının şu örneğini inceleyin bir olmazsa.
ya dostum ben halledemedim. benim verdiğim örnekten yapma şansın varmı....

o arada kalan yerin tamamı çizgili olacak çok teşekkür ederim
nihatkr dostumm bişeyler bulabildinmi.. ben hala istediğim şeyi yapamıyorum

Bu nası şirket abi. Bilgi işlem en düşük maaşları alıyo :D
Senin isim de yok orda. 1600 alan kimse o yapsın abicim bu işşi.
Yazık ya bilgi işleme bak. para da vermiyolar, onlar da yapmaz tabi bu işi.
Git en düşük maaş alan bilgi işlemciye sor. Gözü kapalı yapar abicim bu işi.
konuyla ne alakası var allah aşkına. geyik yapmayın yardım edecekseniz yazınn
bu kadar basit bir şeyide soruyorsunuzya bununla ilgili kaç defa söyledim benim eklediğim örnekleri inceleyin onda sizler için neler var neler sadece biraz merak ile bu nasıl olmuş bunu nasıl almış gibi bir şeyler ile yapılır öncelikle şu tbladresler tablosunda say diye bir yeni alan aç ne işe yarayacak dersen bu kişilerin kayıtlarını kendi arasında sıralayacak diyeceksinki ya kayno varya bende sana diyeceğimki kardeşim o falanca kişi için 2,3,4 diye devam ederken 7 olursa onun bir sonraki kaydı bizim işimizi görmez bize diyelim ahmet için 1,2,3,4,5, diye devam eden kayıtlar lazım neden çünkü biz o numaralara bakarak kayıtları kutulara dolduracağız neyse senin raporun sıralama vs vs gibi şeylerini kaldırdım onun yerine sen personel id ile almışsın bende öyle yaptım ve raporu sadece tablonun personelidsini soracak ve getirecek şekilde ayarladım sonrada raporun ayrıntı kısmı bana lazım değildi ondan ordaki herşeyi sildim onun yeine sayfaüstbilgisine iki alan için bunlar adres ve mahalle semt alanı her birine 10 ar adet kutu koydum ve kendimce isimlendirdim adres için asd1,asd2,asd3 mahalle için az1,az2,az3,az4 diye 10 a kadar ekledim
böyle az1 az2 diye yazmamın nedenini kodda anlayacaksınız
ondan sonra srg diye bbir sorgu oluşturdum ve bu sorguya bütün alanları aldım
kalanını kod üzerinde tarif edeyim siz detaylı olarak örnekte bakarsınız ayrıca bu kodun benzerini değişik örneklerimde rapor olarak değil ama farklı şekillerde görebilirsiniz biraz inceleyin
kodda satır satır anlatacağım örnekle karşılaştırın
bunun ne olduğunu bilyorsunuz
Private Sub SayfaÜstbilgisiBölümü_Format(Cancel As Integer, FormatCount As Integer)
burda bir databese ve recorset belirledik
Dim db As DAO.Database, rst As DAO.Recordset
bu database alacağımız sorgunun stringini belirledik
Dim strSQL As String
burda saydırma yapacağımız için bir isim belirledik ve özelliğinide sayı olarak seçtik
Dim strnum As Integer
burda her stundan 10 kutu koyduğumuz için 1 den 10 kadar saymasını ve her saymada o saymaya denk gelen asd1,asd2 ve az1,az2 gibi kutuları boşaltmasını istedik neye çünkü biz arka arkaya raporu yeniden açarsak rapor açılır açılmaz önce kutuları boşaltsın sonra bir sonraki kodla kutuları yeniden doldursun
For strnum = 1 To 10
Me("asd" & strnum).Value = Null
Me("az" & strnum).Value = Null
Next strnum
burda database imizin içinde çalıştığımız database olduğu yani bir başka yerde ve başka isimde bir veritabanı olmadığını belirtiyoruz currentdb ile
Set db = CurrentDb
burda hani yukarda sanal bir isim belirlemiştikya işte ona burda daha önce yaptığımız srg sorgusunudan istediğimiz kayıtları getir diye bir sorgu giriyoruz
strSQL = "SELECT * From Srg "
burda o sorguyu bize sorgudaki pesonelID ile rapordaki pesonelID eşit olacak şekilde sınırlayarak getir diyoruz
strSQL = strSQL & "WHERE pesonelID=" & pesonelID
burda işte sınırlayarak getirdiğimiz verileri recorsetimize atıyoruz
Set rst = db.OpenRecordset(strSQL)
burda son kayda gidiyoruz neye bir sonrak adımda kaç kayıt var ona bakacağızda ondan
rst.MoveLast
işte burda kaç kayıt var diye bakıyoruzpeki bu neye buda bir sonraki adımda garibim fazlaca sayıp kafası bulanmasın diye
n = rst.RecordCount
işte burda 1 den o aldığmız kayıt sayısına kadar sayıyoruz
For strnum = 1 To n
bu kısımları üstte tarif ettim aynı değişen bir şey yok
strSQL = "SELECT * From Srg "
strSQL = strSQL & "WHERE pesonelID=" & pesonelID
amma burda hani size tabloya ekleyin dediğim say alanı varya işte o şimdi işimize yarıyor sorguyu bu sefer pesonelID yanında bir de her saymada strnum adlı alana gelen 1,2,3 gib birde sayı ile sınırlıyoruz
strSQL = strSQL & "And say = " & strnum
Set rst = db.OpenRecordset(strSQL)
işte burda biz pesonelID ile ve strnum ile gelen verileri her saymada ilgili kutulara yerleştiriyoruz
Me("asd" & strnum).Value = rst!ilce
Me("az" & strnum).Value = rst!mahalle_semt
Next strnum
End Sub
ben 10 tane kutu ekledim siz isterseniz bunu bine çıkararak her sayfada 50 satır olmak üzere 20 sayfalık bir şey yazdırabilirsiniz ayrıca ben sadece iki alanı yaptım siz diğer alanları yaparsınız bu kod ve uygulaması gayet basittir zor gibi görünebilir lakin kolaydır benim tavsiyen bunu iyice öğrenin çünkü çok işinize yaracağına emin olun
bu arada her personele say numarasını persoenilin son numarasını alarak bir fazlasını verme olayı bir kaç defa işlendi ve cevabını bir kaç defa değişik şekillerde verdim hatta ve hatta yine bu koda benzer bir yolla