Çarpraz Sorgudan Rapor oluşturma

1 2 3 4 5 6 7
29/01/2009, 18:21

Seruz

Örneğinizi Ekte gönderdim.

Biraz acele olduğu ve fazla da zamanım olmadığı için
çok fazla detaya giremedim.

Eğer mantığını anlarsanız,
gerisini kendiniz de geliştirebilirsiniz.

Excel'de yapılacak işlemlerin kodları karışık gelebilir ama
o kodları yine excel'den otomatik olarak alabilirsiniz.

Excel'de iken Araçlar-Makro-Yeni Makro Kaydet dediğinizde
yaptığınız işlemlere karşılık gelen Vba kodları otomatik olarak kaydedilir.
Kaydetmeyi durdurduktan sonra Araçlar-Makro-Makrolar kısmında
kaydedilen kodları görebilirsiniz.

Tek yapacağınız buradaki gerekli kodları Access'e kopyalayıp,
Access'e göre biraz düzenlemek.

ya her komutun başına ExcelDosyasi. ekleyeceksiniz veya
With ExcelDosyasi
End With
bloğu içerisinde tüm komutların başına . ekleyeceksiniz.

Mesela;

With ExcelDosyasi
.Range(.Cells(3, 2).Address, .Cells(SatirSayisi, SutunSayisi + 1).Address).HorizontalAlignment = xlCenter
.Cells.EntireColumn.AutoFit
.Columns("A").EntireColumn.ColumnWidth = 1
.Columns("B").EntireColumn.ColumnWidth = 11

' Çerçeve İşlemleri
.Range(.Cells(3, 2).Address, .Cells(SatirSayisi, SutunSayisi + 1).Address).Select

.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With .Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

.Range("A1").Select
End With
29/01/2009, 19:28

osman06

hocam emek harcamışsınız tşk ama mantığı anlayamadım hatırlatmalar tabloma ekleme yaptım ama Excel yine 2 tane çıkıyo çalışma şeklini kısaca anlatabilirmisiniz
hocam kodları bilmediğim için ben bunu hayatta anlayamam kodları öğrenmeye çalışıyorum zorluyacam kendimi
29/01/2009, 20:14

Seruz

Evet, acele acele yapınca oluyor böyle şeyler.

Kriterleri sonradan ekledim ve
Çapraz sorguda kriter seçiminden sonra sorun olmaya başladı.
Make Table yaptım o da sorun oldu.

Neyse, şimdilik kritersiz olarak ekledim.
Yani formda seçeceğiniz Mahalle ve Tarihlere bakmıyor.
Şimdilik böyle kontrol edin.

Yarın bakarım yine.
30/01/2009, 02:14

Seruz

Evet çözüm üretmeye çalışırken bu sefer de ben takıldım.

Çapraz sorguda kriter olmazsa sorun olmuyor,
ancak kriter koyduğum anda
ADO ile çapraz sorguya ulaşamıyorum.

Bu nedenle 2 form yaptım.
Haftalik ve Haftalik_Kritersiz.

Haftalik_Kritersiz adlı form "HAFTALIK_Capraz_Kritersiz"
adlı sorgu üzerinden sorunsuz çalışıyor.

Ancak Haftalik adlı formda, ADO ile open yaparken

Rs.Open "HAFTALIK_Capraz", CurrentProject.Connection, adOpenKeyset, adLockReadOnly

"Invalid Sql Statement; expected 'DELETE','INSERT','PROCEDURE','SELECT', or 'UPDATE' "
hatası veriyor.

satırı;
Rs.Open "SELECT * FROM HAFTALIK_Capraz", CurrentProject.Connection, adOpenKeyset, adLockReadOnly

olarak değiştirdiğimde, bu sefer
"No value given for one or more required parameters"
hatası veriyor.

Çözemedim, yardımlarınızı bekliyorum.
30/01/2009, 06:44

mehmetdemiral

Ben genelde çapraz sorguda kriter girmem gerektiğinde önce bir seçme sorgusu yapıp kriteri giriyorum. Sonra da bu sorgudan bir çapraz sorgu yapıp sonuca varıyorum. Sizin konuyu hiç okumadım ama belki yardımı olur diye yazayım dedim.
Kolay gelsin.
30/01/2009, 10:59

Seruz

O şekilde de denedim.
Çapraz sorgu üzerinden başka bir sorgu yapıp
ondan okumayı da denedim.

Çaprazdan sonraki sorgudan Make-Table
Query yapıp denedim, ama onda da elle yapınca çalışıyor,
koddan query'yi çalıştırınca,
bu tablo var üzerine yazayım mı demesi gerekirken,
sadece bu tablo var diyor ve kesiyor.

Bir de çaprazdan önce kriterle MakeTable yapıp,
oluşan tablodan çapraz deneyeyim
1 2 3 4 5 6 7