Skip to main content

AccessTr.neT


Satırdaki Max Değeri Ve Firmayı Bulmak

Satırdaki Max Değeri Ve Firmayı Bulmak

Çözüldü #1
Arkadaşlar ekleyeceğim programda ihale iş türüne göre, fiyatı en az veren firmanın;
ismini, adresini ve verdiği tutarı "tbl_kim" deki ilgili kısımlara nasıl getirebiliriz?
.rar DTPmax.rar (Dosya Boyutu: 174,35 KB | İndirme Sayısı: 1)
Cevapla
#2
Merhaba, bu tür sorularda, tbl_ihtiyac tablosunda "asdasd" isminde firma olmamalı ve firma1,firma2 ve firma3 alanlarının tamamı dolu olmalı. "asdasd" diye bir firma firmalar tablosunda yok.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#3
Tamam sayın hocam. Verileri güncelledim.

İki adet sorunum var.
Birincisi: Her ihtiyaç için max. 3 firma seçip atamalıyım. Bu işlemi ürün bazında değilde iş bazında yapmak istiyorum.
İkincisi: Raporda kullanmak üzere; İş konusu bazında en az fiyat teklifi veren firmanın: Verdiği fiyat, Adresi ve Firma adı bilgilerini Tbl_kimo ya nasıl aktarabilirim. Buradan Dlookup la almayı senaryo ettim.
.rar DTPmaxYeni.rar (Dosya Boyutu: 157,05 KB | İndirme Sayısı: 2)
Cevapla
#4
Listefirma liste kutusunun çift tıklandığında olayındaki kodu aşağıdaki ile değiştir.
Visual Basic Code
On Error GoTo ListefirmaHata

If IsNull(Me.txtsecim) Or Me.txtsecim = 0 Then

Me.txtsecim = 1
Else
Me.txtsecim = Me.txtsecim + 1
End If

If txtsecim = 4 Then
Me.txtsecim = 1
End If

If IsNull(Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim)) Or Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) = "" Then

    If MsgBox("ihaleye katılan " & txtsecim & ". firma, " & Me.listefirma.Column(1) & " isimli firma olarak güncellensin mi?", vbYesNo) = vbYes Then
    
        Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) = Me.listefirma.Column(1)
        Me.frm_ihtiyac.SetFocus
        DoCmd.GoToRecord , , acFirst
        Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) = Me.listefirma.Column(1)
        For x = 1 To Forms![frm_malzemeler]![frm_ihtiyac].Form.RecordsetClone.RecordCount - 1
        DoCmd.GoToRecord , , acNext
        Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) = Me.listefirma.Column(1)
        Next x
        DoCmd.RunCommand acCmdSaveRecord
        
    End If


Else

    If MsgBox("ihaleye katılan " & txtsecim & ". firma olan " & Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) & " isimli firma, " & Me.listefirma.Column(1) & " isimli firma olarak değiştirilsin mi?", vbYesNo) = vbYes Then
    
        Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) = Me.listefirma.Column(1)
        Me.frm_ihtiyac.SetFocus
        DoCmd.GoToRecord , , acFirst
        Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) = Me.listefirma.Column(1)
        For x = 1 To Forms![frm_malzemeler]![frm_ihtiyac].Form.RecordsetClone.RecordCount - 1
        DoCmd.GoToRecord , , acNext
        Forms![frm_malzemeler]![frm_ihtiyac].Form!("txtf" & txtsecim) = Me.listefirma.Column(1)
        Next x
        DoCmd.RunCommand acCmdSaveRecord
    
    End If

End If

Forms![frm_malzemeler]![frm_ihtiyac].Requery

ListefirmaCikis:
    Exit Sub

ListefirmaHata:
    MsgBox ("Firma Seçimleri Tamamlandı")
    Resume ListefirmaCikis
 Forms![frm_malzemeler]![frm_ihtiyac].Requery

Koddaki listefirmaHata: kısmında hata var, buraya dokunmadım.

2. sorunuz için, 
SQL Code
SELECT TOP 1 GSorgu.ihale_id, firma, teklif, firma_adresi, firma_yetkilisi, firma_telefonu
FROM (SELECT  ihale_id, firma1 AS firma, Sum([fr1_toplam]) AS teklif
FROM tbl_ihtiyac GROUP BY ihale_id, firma1 HAVING (((ihale_id)=1))
UNION SELECT ihale_id, firma2 AS firma, Sum([fr2_toplam]) AS teklif
FROM tbl_ihtiyac GROUP BY ihale_id, firma2 HAVING (((ihale_id)=1))
UNION SELECT ihale_id, firma3 AS firma, Sum([fr3_toplam]) AS teklif
FROM tbl_ihtiyac GROUP BY ihale_id, firma3
HAVING (((ihale_id)=1)))  AS GSorgu INNER JOIN tbl_firmalar ON GSorgu.firma = tbl_firmalar.firma_adi ORDER BY GSorgu.teklif;

Kodu ihaleid=1 için en az fiyat teklifi veren firmayı gösterir, istediğiniz bu ise ihaleid düzenlemesi yapılabilir.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#5
Evet. Bir açık var. Oda aynı firmayı kullanıcı sürekli çift tıklarsa 3 firmaya da aynısı atıyor. Mantiken seçilen bir firmanın ikinci bir firma olarak seçilmemesi gerekiyor.
Cevapla
#6
(19/03/2020 14:54)ozanakkaya Adlı Kullanıcıdan Alıntı: Kodu ihaleid=1 için en az fiyat teklifi veren firmayı gösterir, istediğiniz bu ise ihaleid düzenlemesi yapılabilir.

bu kodu firmalara göre nasıl çalıştıracağım: Tarif edebilirmisiniz?
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da