Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 04/07/2003, 17:14   #1 (permalink)
Üye
 
Üyelik Tarihi: 07/2003
Mesaj: 7
Varsayılan access formunda birbiri ile ilişkili iki açılan kutu

merhaba belki basit bişeydir bunu yapmak ama ben yeniyim yardımcı olursanız sevinirim.

tablo firmalar

firmaID
firma adı
vs.vs

tablo firma elemanları

elemanID
eleman adı
firmaID (yukarıdaki tabloyla ilişkili)
vs.vs.

tablo faturalar

faturaID
firmaId(firmalarla ilişkili)
elemanID(firma elemanlarıyla ilişkili)
vs.vs.

istediğim şey şu

form faturagiriş

"firma adı"(açılan kutu) burdan değeri alıp faturalar tablosundaki firmaID ye yazıyor buraya kadar yapabiliyorum.

"eleman adı"(açılan kutu) burdan değeri alıp faturalar tablosundaki elemanId ye yazacak..

istediğim şey şu birinci açılan kutudan firma adı seçildiğinde ikinçi açılan kutuda sadece bu firmaya ait elemanların görüntülenmesi ve seçilen değeri dediğim gibi fişler tablosundaki elemanID ye yazacak.

biliyorum uzun oldu ama umarım derdimi anlatabildim yardımcı olan herkese teşekkürler...
extremist hatta değil   Alıntı Yaparak Yanıtla
Eski 05/07/2003, 00:56   #2 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Oncelikle FaturaGirisi formunda FirmaAdi ve FirmaID alanlari icin tek bir acilan kutu kullan.

Bu kutu aslinda FirmaID bilgisini alan bir acilan kutu olsun ama acildiginda FirmaID ve FirmaAdi olmak uzere iki kolon gostersin. (Veya FirmaID kolonunun uzunlugunu 0 yaparak bunu hic gostermeyebilirsin, sadece FirmaAdi bilgileri gorunur ama secim yapildiginda FirmaID bilgisi alinir)

Bu kutunun AfterUpdate (guncelleme sonrasinda) olayi icin kod yazman gerekiyor. Bu kod, FirmaID degistikce, ElemanID adli acilan kutunun sorgusunu degistirecek. (baslangicta bu acilan kutunun sorgusu bos olursa, daha hos bir cozum olur)

Kod su sekilde:

Private Sub firmaID_AfterUpdate()

Screen.ActiveForm!elemanID.RowSource = "SELECT [elemanID], [elemanadi] " & _
"FROM elemanlar " & _
"WHERE firmaID = " & Screen.ActiveForm!firmaID & ";"
End Sub
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 05/07/2003, 16:00   #3 (permalink)
Üye
 
Üyelik Tarihi: 07/2003
Mesaj: 7
Varsayılan teşekkürler

acemi cevabın için teşekkürler sorunumu çözdüm.şimdi başka bi sorum olucak ben bu veritabanını benzinlik için yapıyorum.malum ürünlerin fiyatları gün be gün değişiyor.şimdi sorum şu
formdakiler
tarih(metin kutusu)
ürünler(açılan kutu)=>ürün isimleri açılıyor ama ürünID yi kaydediyor
günün birim fiyatı(metin kutusu)

kullanıcı tarihi metin kutusuna giriyor ve combo boxtanda ürün adını seçiyor..o tarihteki ürünün birim fiyatının ilgili text kutusuna yazılmasını istiyorum.
birim fiyatlar tablom şöyle
tarih
ürünID
birim fiyatı

ben biraz uğraştım comboboxın after update olayına şöyle bir kod yazdım ama olmadı.kodu kaba hatlarıyla aşağıya yazıyorum
dim birim as date
birim=select [birim fiyatlar].birim from [birim fiyatlar] where ..... AND ...... (noktalı yerlerde gerekli eşitlikleri yazıyorum)
birim=text1.text
ama hata veriyor.

bana gidiş yolumun doğru olup olmadığını söylersen yeterli olacak yardımların için şimdiden teşekkürler
extremist hatta değil   Alıntı Yaparak Yanıtla
Eski 05/07/2003, 18:12   #4 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Bazi hatalar var:

* dim birim as date ile birim degiskeninin tipini date (tarih) yapmissin ama sonra birim=select... diye buna text bir ifade atamaya calismissin

* Text ifadeyi cift tirnaklar icinde vermemissin
birim = "SELECT ..."

* Muhtemelen sorguya tarih bilgisini verirken hata yapiyorsundur. Kodun tamamini yazarsan bunu kontrol edebiliriz.

* Degisken ve kontrol isimlerini verilken Turkce karakter ve bosluk kullanmamalisin. Genelde calisir ama bazi yerlerde de cok sorun cikarir. birim fiyatı yerine birim_fiyati...

Aslinda butun bunlarla ugrasmayip DLookup() fonksiyonunu kullanabilirsin.


dim tarih as string
dim urun_id as long
dim birim as double

urun_id = screen.activeform!urun_id 'formdaki urun_id alanindan bilgiyi al
tarih = screen.activeform!tarih 'formdaki tarih alanindan bilgiyi al
tarih = month(tarih) & "/" & day(tarih) & "/" & year(tarih)

birim = dlookup("birim_fiyati","birimler_tablosu", "tarih = #" & tarih & "# AND urunID = " & urun_id)




acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 07/07/2003, 00:41   #5 (permalink)
Üye
 
Üyelik Tarihi: 07/2003
Mesaj: 7
Varsayılan

verdiğin dlookup formulu ilaç gibi geldi şu an sorunsuz çalışıyor.aslında soracağım şeyler var daha.yarın hepsini toparlayıp tekrar yardımını isticem.çok çok teşekkürler
saygılar
extremist hatta değil   Alıntı Yaparak Yanıtla
Eski 08/07/2003, 17:47   #6 (permalink)
Üye
 
Üyelik Tarihi: 07/2003
Mesaj: 7
Varsayılan

tekrar merhaba artık programı tamamlamak üzereyim ama bazı eksikler yardımcı olursanız sevinirim.

1.iki metin kutusunu vb kodu yazarak metina/metinb gibi bi formulle birbirine boluyorum.ama sonuc hep tamsayı çıkıyor.bunu nasıl düzeltebilirim.veri tipini belirlerken mi hata yapıyorum yoksa başka bir operatormu kullanmam gerekiyor?

2.açılan kutular içindeki verileri alfabetik olarak nasıl sıralatabilirim?

3.tablo:müşteriler
müşterino
müşteriadı
bolge (bolgeno ile ilişkili)

tablo:bolgeler
bolgeno
bolgeadı

benim müşteriler adında bi formum var istediğim şey şu.bu form üzerindeki bir combobox bolgeleri listeleyecek ve bolge seçildiği taktirde sadece bu bolgeden olan müşteriler kayıtlara gelecek.nasıl bir yol takip etmeliyim?

4.Bu sorum özellikle acemi arkadaşa..
acemi birim fiyatlar hakkında verdiğin dlookup formulu sayesinde birim fiyatları tarihe göre süzerek forma getirmeyi başarmıştım.şimdi şöyle bir sorunum var.elimde 20-25 adet ürün var ve bunların birim fiyatları hergün değişmiyor.dlookup formulu ise bu günün tarihinde birim fiyat göremeyince hata veriyor.ee 20-25 ürünün birim fiyatlarını hergün tek tek girmekte baya zahmetli bişey olucak.bunun için önerebileceğin bişey varmı.mesela access her tarih değişiminde bigün önceki değerleri bugünün değerlerine otomatik olarak yazabilirmi?

umarım sorunlarımı açıkca anlatabildim.yardımlarınız için şimdiden çok çok teşekkürler.acil cevap bekliyorum..

saygılar....
extremist hatta değil   Alıntı Yaparak Yanıtla
Eski 08/07/2003, 20:21   #7 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

1. metina & metinb

2. acilan kutudaki verileri bir tablodan alacaksin. kutunun row source bolumune tiklayip gorunmesini istedigin alanlari sececek ve hangi alana gore siralanacagini soyleyeceksin.

3. bolgelerin listelendigi acilan kutu iki kolonlu olacak. birincisinde bolgeno, ikincisinde bolgeadi (bolgeno'nun genisligini 0 yapip gosterttirmeyebilirsin)

Bu acilan kutunun afterupdate olayina filtreleme kodu yazacaksin:


DoCmd.ApplyFilter "", "[bolge] = " & screen.activeform!acilan_kutu_adi


4. Tarihi kriter olarak verme. O urun icin girilen son degeri alip kullan.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 09/07/2003, 02:53   #8 (permalink)
Üye
 
Üyelik Tarihi: 07/2003
Mesaj: 7
Varsayılan

1.sanırım bu metina ve metinb yi birbirine ekleyen bir operator.benim sorunum bölme ile ilgili.



2.sorun çözüldü teşekkürler

3.DoCmd.ApplyFilter "????", "[bolge] = " & screen.activeform!acilan_kutu_adi

uğraştım uğraştım biçok şey denedim olmadı genel olarak "apply filter işlemi iptal edildi" diye hata veriyor yukarda soru işaretli bölgeye neyin adı gelecek?

4.tarihi kriter olarak vermeye mecburum.sanırım bu en zor çözülecek sorunum

cevaplar için tekrar teşekkürler
extremist hatta değil   Alıntı Yaparak Yanıtla
Eski 09/07/2003, 03:02   #9 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

3. orasi, ornekte yazdigim gibi bos olacak
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 09/07/2003, 03:18   #10 (permalink)
Üye
 
Üyelik Tarihi: 07/2003
Mesaj: 7
Varsayılan

3.sanırım öylede denedim.az sonra eve gidince tekrar kontrol edeyim.
extremist hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
linkin üstüne gelince açılan kutu Bigsnow Javascript / DHTML / Ajax 3 20/03/2007 18:51
access formunda ilişkisiz alanların temizlenmeme ve güncelleşmeme sorunu... savask Veritabanları & SQL 13 29/04/2006 19:11
MS Access formunda, altformdan anaforma geri donemiyorum. ugrkts Veritabanları & SQL 1 19/02/2005 12:42
MS Access formunda onaylama nasil olur, input$() kullanan var mi? Matto Veritabanları & SQL 1 28/06/2004 23:26
MS Access formunda tarih verisine 1 yil eklemek vedat Veritabanları & SQL 2 19/05/2004 22:02


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 00:45.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net