Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
24/09/2012 14:02
Konu Sahibi
WiniFred
Yorumlar
2
Okunma
1573
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

WiniFred

Aktif Üye
Kullanici Avatari
Aktif Üye
121
25/09/2011
11
Zonguldak
-
25/06/2017,15:47
Çözüldü 
Merhaba,
Bir sorgunun, herhangi bir tabloya başvurmadan istenilen sayıda satır üretmesinin mümkün olup olmadığını öğrenmek istiyorum.

Biraz daha açık anlatmaya çalışayım:

Konsol programlarında, diyelim ki for döngüsüyle ekrana yukarıdan aşağıya doğru 1'den 10'a kadar ardışık sayı yazdırabiliriz.

İşte bunu Sql sorgusuyla yapabilir miyim?

Sorgunun diğer sütunları da herhangi bir tabloya başvurmayacak çünkü. Bu ilk sütundaki değerleri alıp sonuç üretecek functionlardan oluşacak diğer sütunlar.

Örnek eklemiyorum. Çünkü bunun örneği yok. Yalnızca, benim yapacağım sorguda 0'dan başlayıp yine bir functionla hesaplayacağım sayıya kadar ilerleyecek (o sayı kadar satır üretecek ve bunları her satıra, ilk sütun değeri olarak yazacak). Yani bitiş değeri de göreceli olacak.

Böyle birşey yapılabildiğinden pek umudum yok ama, belki farklı tekniklerle bu işi yapabilen üstadlarımız vardır.

Saygılarımla...


Cevapla

WiniFred

Aktif Üye
Kullanici Avatari
Aktif Üye
121
25/09/2011
11
Zonguldak
-
25/06/2017,15:47
Çözüldü 
Merhaba arkadaşlar,
Yukarıdaki sorumun çözümünü buldum.

Problemin çözümünde epey bir süre önce forumdan indirdiğim bir uygulamadaki yöntemi kullandım. Bu uygulama kredi ödeme planı oluşturuyordu. O uygulamayı foruma kimin yüklediğini hatırlamıyorum, yalnızca yükleyen arkadaşın yabancı sitelerden bulduğu bir uygulama olduğunu hatırlıyorum.

Çözümü ekteki örneğim üzerinden anlatayım.

Sorumun başlığında "tabloya başvurmadan" diye belirtmiştim ama tabii ki -SQL'in temelleri gereği- bir tablo ve esas sorgumuzun başvuracağı bir sorgu hazırlayarak çözdüm. Ekteki örneğimde Rakamlar isimli bir tablo oluşturdum ve içeriğine 0'dan 9'a kadar rakamları girdim. Sonra SrgSayilar isimli bir sorgu hazırladım. Bu sorgu Rakamlar tablosuna başvuruyor ve 999'a kadar sayı üretiyordu. Sql cümlesi şöyledir:

SQL Code
SELECT (Rakamlar.Rakam+(Rakamlar1.Rakam*10)+(Rakamlar2.Rakam*100)) AS Sayilar
FROM Rakamlar, Rakamlar AS Rakamlar1, Rakamlar AS Rakamlar2
ORDER BY (Rakamlar.Rakam+(Rakamlar1.Rakam*10)+(Rakamlar2.Rakam*100));


Bu sorgudaki SELECT kısmını şöyle yazarak, örneğin 99'a kadar sayı üretmek mümkün:

SQL Code
SELECT (Rakamlar.Rakam+(Rakamlar1.Rakam*10)) AS Sayilar


Yukarıdaki sorumda ilk sütundaki değerlerin üst sınırının oluşturduğum bir functiondan dönecek değer olacağını söylemiştim. Sorgunun diğer sütunlarınında functionlardan oluşacağını, bu functionların, ilk sütundaki değerleri alarak bunlar üzerinde işlem yapacağını söylemiştim.

Buna göre Vba kısmına basit functionlar (4 adet) oluşturdum. Bu functionları tamamen örnek oluşturmak için yazdım. Gerçek uygulamamda kullandıklarım biraz daha karmaşıktır. İlk function sınır değeri belirliyor. Diğerleri de kendilerine gönderilen değerleri basit çarpma işlemi yaparak sonuç döndürüyorlar. SrgEsasSorgu adını verdiğim sorgunun Sql cümlesi şöyle:

SQL Code
SELECT SrgSayilar.Sayilar, SayiCarp(SrgSayilar.Sayilar), SayiCarp1(SrgSayilar.Sayilar), SayiCarp2(SrgSayilar.Sayilar)
FROM SrgSayilar
WHERE SrgSayilar.Sayilar BETWEEN 0 AND SinirDeger()
ORDER BY SrgSayilar.Sayilar;


İşte böyle. Forumda dursun ki ihtiyacı olanlar kullanabilsin.
Saygılarımla...


.rar   SQLOrnek.rar (Dosya Boyutu: 14,19 KB / İndirme Sayısı: 3)


Cevapla

C*e*l*o*y*c*e

Celosoft Yazılım
Kullanici Avatari
Uzman
M.... B....
2.986
29/10/2008
927
Ankara
Celosoft Yazılım
Ofis 2010 32 Bit
Bugün,02:38
Çözüldü 
sayın WiniFired
paylaşım için teşekkürler


Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
Çözüldü Tabloya Yeni Veri Girişini Engelleme ALTANs 2 151 17/08/2017, 13:13 ALTANs
Çözüldü Listede Ayni Kişiden Tek Satır Görünmesi m_demir 3 184 12/08/2017, 19:39 m_demir
Çözüldü Açılan Kutu Menüsünden Yapılan Seçimlerin Tabloya Kaydı ertans 2 281 07/08/2017, 17:37 ozguryasin
Çözüldü Txt Dosyasında İstenilen Satırdaki Bilgilari Tabloya Kaydedebilmek. cetinerk 4 284 10/07/2017, 03:27 cetinerk
Çözüldü Belirli Sayıda Kaydı Getirme ufukcem 4 293 21/06/2017, 12:28 ufukcem

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.