• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Formdan Sorguya ölçüt gönderme

Katılım
3 Nisan 2007
Mesajlar
235
Excel Vers. ve Dili
2003 TR
Soru9.gif


Formda bulunan ONAY adlı metin kutusundan sorguya ölçüt (resimdeki is not null yazan kutu) göndermek için şöyle bir sorgu yazdım

[Formlar]![Rapor Tarih Aralığı]![Onay]

ancak olmadı hatam nedir?
 
Sayın erkankamilonas

bence örnek eklerseniz daha hızlı yardım alırsınız.
 
http://www.resimkalesi.com/./data/media/56/Soru9.gif[/IMG]

Formda bulunan ONAY adlı metin kutusundan sorguya ölçüt (resimdeki is not null yazan kutu) göndermek için şöyle bir sorgu yazdım

[Formlar]![Rapor Tarih Aralığı]![Onay]

ancak olmadı hatam nedir?

Yani resimde görüntülendiği üzere formda yazan yazı (is not null) sorguda kullanılacak

şu resimdeki alanda kullanılacak

Soru9b.gif
 
Son düzenleme:
Merhaba..

Sorguya o şekilde null değerini ölçüt veremezsiniz. Bunun daha farklı yolları var. Bu yöntem bunlardan biri..:

Kod:
IIf(IsNull([Formlar]![Rapor Tarih Aralığı]![Onay]);[ÜRÜN NO];[Formlar]![Rapor Tarih Aralığı]![Onay])

Bu, metin kutunuz boşsa tüm kayıtları, değilse metin kutusuna yazdığınız ölçüte uyan kayıtları verir size..
 
Aslında olay şöyle Ürünlerimiz var;
1. Durum: çizim resimleri hazır olan kayıtları listelemem gerekiyor
2. Durum: çizim resimleri hazır olmayan kayıtları listelemem gerekiyor
3. Durum: çizim resimleri hazır olanlarda olmayanlarda tüm kayıtları listelemem gerekiyor.

Bu olay ise [Ürün No] alanında veri olup olmamasına göre ayarlanıyor
1. Durum: çizim resimleri hazır olan kayıtları listelemem gerekiyorsa [Ürün No] alanında veri olanlar
2. Durum: çizim resimleri hazır olmayan kayıtları listelemem gerekiyorsa [Ürün No] alanında veri olmayanlar
3. Durum: çizim resimleri hazır olanlarda olmayanlarda tüm kayıtları listelemem gerekiyor. [Ürün No] alanında veri olan veya olmayanlar

Bu üç durum için üç ayrı sorgu yazmaktansa formdan ilgili alana komut göndermek istedim.

Sayın Taruz yazdığınız komut çalışsada üç durum için değil sadece bir durum için çalışıyor.

Yani bana gereken şöyle birşey;
Eğer
[Formlar]![Rapor Tarih Aralığı]![Onay]='TÜM KAYITLAR' yazıyorsa; Tüm Kayıtlar ([ÜRÜN NO]’sunda veri olanlarda olmayanlar da) dökülsün

Eğer
[Formlar]![Rapor Tarih Aralığı]![Onay]='Resmi Olanlar' yazıyorsa; [ÜRÜN NO]’sunda veri olanlar dökülsün

Eğer
[Formlar]![Rapor Tarih Aralığı]![Onay]='Resmi Olmayanlar' yazıyorsa; [ÜRÜN NO]’sunda veri olmayanlar dökülsün

Not: 'Resmi Olanlar' , 'Resmi Olmayanlar' , 'Tüm Kayıtlar' gibi yazılar [ONAY] adlı metin kutusuna yazılmaktadır.
Nasıl yapabilirim teşekkürler.
 
Yazdığımdan farklı birşey yapanıza gerek yok. Sadece çoğaltacaksınız. O metin kutusuna değeri onay kutularından (seçenek grubuna bağlı olması şart sizin bu durumda) atıyorsanız sorguyada ölçütü bu onay kutularını vererek kullanın.. İşin içinden çıkamazsanız yazın, daha açıklayıcı olmaya çalışayım.

Yani istediğiniz için öyle 3 sorgu falan hazırlamaya gerek yok. ;)
 
Zaten önceki cevabınızda [Onay] adlı metin kutusundaki değerin sorguya aktarılmasında kullanılan bu formülünüzdeki ikinci adımı çalıştıramadım, hata iletisi aldım. Eğer gönderdiğiniz formül beni sonuca ulaştırsaydı 2. 3. adımlarınıda belki yazabilirdim.

IIf(IsNull([Formlar]![Rapor Tarih Aralığı]![Onay]);[ÜRÜN NO];[Formlar]![Rapor Tarih Aralığı]![Onay])

Mesela şöyle yazardım:
Switch([Formlar]![Rapor Tarih Aralığı]![Onay]='TÜM KAYITLAR';[ÜRÜN NO];[Formlar]![Rapor Tarih Aralığı]![Onay]='Resmi Olanlar';[Formlar]![Rapor Tarih Aralığı]![Onay];[Formlar]![Rapor Tarih Aralığı]![Onay]='Resmi Olmayanlar';[Formlar]![Rapor Tarih Aralığı]![Onay])

Ancak asıl sorun [Onay] metin kutusundan sorguya ölçüt gönderemiyor olmam.

İlginize teşekkür ediyorum
 
Yanlış anlamadıysam onay kutularının etiket isimlerine göre işlem yaptırmaya çalışıyorsunuz.

Oysaki ilgili etikete ait onay kutusu ismini "true" ya da "false" yani dolu veya boş olarak değerlendirmeniz lazım..
 
Yanlış anlamadıysam onay kutularının etiket isimlerine göre işlem yaptırmaya çalışıyorsunuz.

Oysaki ilgili etikete ait onay kutusu ismini "true" ya da "false" yani dolu veya boş olarak değerlendirmeniz lazım..

Şöyle:
Soru9b.gif


Onay kutusundan yapılan seçime göre [Onay] adındaki metin kutusuna benim yapmak istediğim şey yazılıyor. Bu yazıyı Sorguda nasıl kullanabilirim.

Onay kutusunda: 'TÜM KAYITLAR' yazıyorsa, sorguda tüm kayıtların gösterilmesi
'Resmi Olanlar' yazıyorsa; [ÜRÜN NO]’sunda veri olanlar dökülsün
'Resmi Olmayanlar' yazıyorsa; [ÜRÜN NO]’sunda veri olmayanlar dökülsün
istiyorum, ne yapmalıyım
 
İstediğiniz işlem sorgu üzerine ölçüt olarak verilmiyor (yada ben yapamadım)

ama form üzerinde filtreleme işlemi ile yapılabiliyor


Ekte örneğini verdim belki işinize yarayabilir.
 

Ekli dosyalar

Sayın smmmustafa ilginize teşekkür ederim. Aslında Sorunumu halledebiliyorum, çözümsüz değil, ama sadece is null ve is not null ifadeleri için yeniden sorgu yazmaktansa, sorguya gerekli bu ifadeleri formdan göndermek istiyorum.

Arkadaşlar sizleri yoruyorum ama sorum aynen devam etmektedir.
 
Sayın erkankamilonas

Sorguda ölçüt olarak IIf ifadesi kullanmak gerekiyor buda iki seçenekli durum için mümkün oluyor
siz ise üç seçeneli istiyorsunuz onun için uğraştım ama olmadı sadece iki seçenek için oluyor.
ama sorgunuza ikinci bir alan eklerseniz o zaman çok daha pratik çözülmüş olur.

tabi ustalar üç seçenekli ölçüt ifadesini yazarlarsa eğer çözülmüş olur işiniz

üç seçenekli ölçüt ifadesi olsaydı şimdiye kadar yazarlardı diye düşünüyorum

Kolay gelsin başarılar.

bu arada yazarken aklıma birşey daha geldi birde onu deneyim dönüyorum size

şimdilik kolay gelsin.
 
YArdımcı olan tüm arkadaşlar ilginize teşekkür ediyorum.
Çözüme ulaştım, ancak şunu anladım ki, (sorumun aslını oluşturan, çözüm istediğim olay olan) bir metin kutusundan SQL sorgusuna işlev gönderilemiyor, yani metin kutusunda yazan is null veya is not null ifadesi sorguya gönderildiğinde sanırım bunu metin olarak algılıyor. Sorguya formül gönderebilseydim sorun dah kolay halledilebilecekti, bunun yerine iif ile karmaşık bir çözüm bulunmuş oldu.

Onay adında yeni bir Evet/Hayır özelliğinde sütun açtım. ve formdan evet için -1, hayır için 0 değerini gönderdim ve rakamları sorguda kullandım.

IIf([Formlar]![Rapor Tarih Aralığı]![Seçiminiz]=1;[ONAY];[Formlar]![Rapor Tarih Aralığı]![Seçiminiz])
 
Geri
Üst