Kod ihtiyacı

Katılım
12 Mayıs 2005
Mesajlar
364
Arkadaşlar,

Farklı iki yerde bulunan veriyi, form üzerinde bulunan bir metin kutusu içine getirmek istiyorum.

Aşağıda bulunan kodlar bağımsız olarak çalışıyor ancak her iki kodu birlikte kullandığımda verinin sadece bir tanesi geliyor.

İki veriyi alt alta getirmek için aşağıda bulunan kodların arasına nasıl bir kod eklemem gerekir.

Aşağıda bulunan iki kod arasına ne yazabilirim.Teşekkürler.
//////////////////////////////////////////////////////////////////////////////////

Sub Açilan_Kutu0_AfterUpdate()
Dim dbs As Database
Dim cez, iz, hava, STRSQL, strcriteria As String
Dim rst As Recordset
Set dbs = CurrentDb
' Denetime uyan kaydı bul.
Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.EGTBİRGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.EGTBİRGECKATILMA & " gün geç iltihak suçu vardır."
End If

BURAYA NASIL BİR KOD GİREBİLİRİM

STRSQL = "SELECT * FROM HAVADEGİSİMİTABLO WHERE SIRANO = " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
hava = hava & (rst("HAVADEGİSİMİNEAYRILISTARİHİ").Value & " " & "tarihinden itibaren" & " " & rst("SÜRESİ").Value & " " & " gün Hava değişimi." & VBA.Chr(13) & VBA.Chr(10))
rst.MoveNext
Wend
Me.geçil = hava

End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Denemedim ama;

Koddaki End Sub satırnın üzerinde yer alan Me.geçil = hava yerine aşağıdakini yazıp da denermisiniz ?

Kod:
 me.geçil = me.geçil &  vbcrlf & hava
 
Katılım
12 Mayıs 2005
Mesajlar
364
Arkadaşlar,
Vermiş olduğunuz her iki örnekte işime çok yaradı.Sağolun.

Bir sorunum daha var maalesef.

Yukarıdaki örnekleri aşağıdaki koda nasıl uygularız.(Yani iki farklı veriyi bir metin kutusu içine nasıl getiririz.)

------------------------------------
Sub Açilan_Kutu0_AfterUpdate()
Dim dbs As Database
Dim cez, iz, hava, STRSQL, strcriteria As String
Dim rst As Recordset
Set dbs = CurrentDb
' Denetime uyan kaydı bul.
Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.EGTBİRGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.EGTBİRGECKATILMA & " gün Eğitim Birliğine geç iltihak suçu vardır."
End If


Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.KITAYAGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.KITAYAGECKATILMA & " gün Kıt'aya geç iltihak suçu vardır."
End If
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
icetiner' Alıntı:
Sub Açilan_Kutu0_AfterUpdate()
Dim dbs As Database
Dim cez, iz, hava, STRSQL, strcriteria As String
Dim rst As Recordset
Set dbs = CurrentDb
' Denetime uyan kaydı bul.
Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.EGTBİRGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.EGTBİRGECKATILMA & " gün Eğitim Birliğine geç iltihak suçu vardır."
End If


Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.KITAYAGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = me.geçil & vbcrlf & Me.KITAYAGECKATILMA & " gün Kıt'aya geç iltihak suçu vardır."
End If
"Kırmızı" düzeltmeyi bir deneyin ...
 
Katılım
12 Mayıs 2005
Mesajlar
364
Haluk Bey Teşekkür ederim.

İnanın bu son sorum olacak.(Tabiki bu soru başlığı altında) :p

Yazdıklarınızı aynen uyguluyorum.Çok güzel çalışıyor.Bir sonraki aşamaya gelip bir veri daha deyince iş arap saçına döndü.Bütün alternatifleri deniyorum ama .....

Aşağıdaki kod'a bir daha bakıp bir daha yardımcı olursanız memnun olurum.

Soru Ã?zeti:

geçil diye bir metin kutusu var.Bu kutuya

1.Askerin Eğitim birliğine geç iltihakı varsa bunu yazsın.
2.Kıtaya geç iltihakı varsa bunu yazsın.
3.Asker Hava değişimine ayrılmış ise bunu yazsın.
4.Asker ceza almış ise bunu yazsın.
(ve bunları alt alta yazsın)

Sub Açilan_Kutu0_AfterUpdate()
Dim dbs As Database
Dim cez, iz, hava, STRSQL, strcriteria As String
Dim rst As Recordset
Set dbs = CurrentDb
' Denetime uyan kaydı bul.
Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.EGTBİRGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.EGTBİRGECKATILMA & " gün Eğitim Birliğine geç iltihak suçu vardır."
End If


Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.KITAYAGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.geçil & vbCrLf & Me.KITAYAGECKATILMA & " gün Kıt'aya geç iltihak suçu vardır."
End If

STRSQL = "SELECT * FROM HAVADEGİSİMİTABLO WHERE SIRANO = " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
hava = hava & (rst("HAVADEGİSİMİNEAYRILISTARİHİ").Value & " " & "tarihinden itibaren" & " " & rst("SÜRESİ").Value & " " & " gün Hava değişimi." & VBA.Chr(13) & VBA.Chr(10))
rst.MoveNext
Wend
Me.geçil = hava

STRSQL = "SELECT * FROM CEZATABLO WHERE SIRANO= " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
cez = cez & rst("CEZA TÜRÜ") & " nedeni ile " & rst("CEZA SÜRESİ").Value & " " & "gün ceza almıştır" & VBA.Chr(13) & VBA.Chr(10)
rst.MoveNext
Wend
Me.geçil = Me.geçil & vbCrLf & cez & vbCrLf & hava
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
icetiner' Alıntı:
Sub Açilan_Kutu0_AfterUpdate()
Dim dbs As Database
Dim cez, iz, hava, STRSQL, strcriteria As String
Dim rst As Recordset
Set dbs = CurrentDb
' Denetime uyan kaydı bul.
Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.EGTBİRGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.EGTBİRGECKATILMA & " gün Eğitim Birliğine geç iltihak suçu vardır."
End If


Me.RecordsetClone.FindFirst "[TCKİMLİKNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.KITAYAGECKATILMA = 0 Then
Me.geçil = " "
Else
Me.geçil = Me.geçil & vbCrLf & Me.KITAYAGECKATILMA & " gün Kıt'aya geç iltihak suçu vardır."
End If

STRSQL = "SELECT * FROM HAVADEGİSİMİTABLO WHERE SIRANO = " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
hava = hava & (rst("HAVADEGİSİMİNEAYRILISTARİHİ").Value & " " & "tarihinden itibaren" & " " & rst("SÜRESİ").Value & " " & " gün Hava değişimi." & VBA.Chr(13) & VBA.Chr(10))
rst.MoveNext
Wend
Me.geçil = me.geçil & vbcrlf & hava

STRSQL = "SELECT * FROM CEZATABLO WHERE SIRANO= " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
cez = cez & rst("CEZA TÜRÜ") & " nedeni ile " & rst("CEZA SÜRESİ").Value & " " & "gün ceza almıştır" & VBA.Chr(13) & VBA.Chr(10)
rst.MoveNext
Wend
Me.geçil = Me.geçil & vbCrLf & cez
 
Katılım
12 Mayıs 2005
Mesajlar
364
Haluk bey,

Hem Hava değişimi hemde geçiltihakı olan bir kişinin sadece hava değişimi bilgilerini getiriyor maalesef.Bir daha bakabilir misiniz.

Az kaldı.

(Ayrıca bu gün çok hızlısınız Maaşallah)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bir de bunu deneyin, bakalım olucak mı ?

Kod:
Sub Açilan_Kutu0_AfterUpdate()
Dim dbs As Database
Dim Msg1 As String, Msg2 As String, Msg3 As String, Msg4 As String, STRSQL As String
Dim rst As Recordset
Set dbs = CurrentDb
' Denetime uyan kaydi bul.
Me.RecordsetClone.FindFirst "[TCKI.MLI.KNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.EGTBI.RGECKATILMA = 0 Then
Msg1 = Empty
Else
Msg1 = Me.EGTBI.RGECKATILMA & " gün Egitim Birligine geç iltihak suçu vardir."
End If


Me.RecordsetClone.FindFirst "[TCKI.MLI.KNO] = " & Me![Açilan Kutu0]
Me.Bookmark = Me.RecordsetClone.Bookmark
If Me.KITAYAGECKATILMA = 0 Then
Msg2 = Empty
Else
Msg2 = Me.KITAYAGECKATILMA & " gün Kit'aya geç iltihak suçu vardir."
End If

STRSQL = "SELECT * FROM HAVADEGI.SI.MI.TABLO WHERE SIRANO = " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
Msg3 = (rst("HAVADEGI.SI.MI.NEAYRILISTARI.HI.").Value & " " & "tarihinden itibaren" & " " & rst("SÜRESI.").Value & " " & " gün Hava deg(is,imi." & VBA.Chr(13) & VBA.Chr(10))
rst.MoveNext
Wend

STRSQL = "SELECT * FROM CEZATABLO WHERE SIRANO= " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
Msg4 = rst("CEZA TÜRÜ") & " nedeni ile " & rst("CEZA SÜRESI.").Value & " " & "gün ceza almis,tir" & VBA.Chr(13) & VBA.Chr(10)
rst.MoveNext
Wend
Me.geçil = Msg1 & vbCrLf & Msg2 & vbCrLf & Msg3 & vbCrLf & Msg4
'
'
'
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bu arada .... kodlarda, tablolarda, alan isimlerinde Türkçe karakterler kullanmışınız.

Prensip olarak bunu yapmayın, başka makinalarda sorun çıkartır. (Ã?rneğin bende olduğu gibi ... )

Þimdi fark ettim, bazılarını düzelttiğim halde bir kısmı gözden kaçmış. Ã?rneğin, önerdiğim koddaki "HAVADEGI.SI.MI.NEAYRILISTARI.HI." gibi yerleri siz yine "HAVADEGİSİMİNEAYRILISTARİHİ" olarak değiştirin, yoksa hata alırsınız. Veya ......, TCKI.MLI.KNO kısmını da düzeltmeniz gerekiyor.
 
Katılım
12 Mayıs 2005
Mesajlar
364
Haluk bey,

Düzeltmeleri yaptım.Kod şu an süper çalışıyor.Çok teşekkür ederim.Emeğinize sağlık.

:mutlu:
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
ehehehee.... alemsiniz yanı. :mrgreen:

Ã?yle abartılacak kadar da bir şey yapmamıştım.

O sizin kendi güzelliğiniz, ama beni de akşam akşam mutlu ettiniz yani ....
:keyif:
 
Katılım
12 Mayıs 2005
Mesajlar
364
Haluk Bey,sizi yine rahatsız edeceğim.
Küçük bir sorum var.

Yukarıdaki örnekler ile birlikte kullandığım izin ile ilgili bir kodu aşağıya kopyaladım.
Kod İZİNTABLO isimli tablodan izin verilerini alarak özel bir raporda kullanmak üzere verileri bir yerde topluyor.

SORU:
Aşağıdaki kod çalıştığında örnek olarak;

10 gün DAÐITIM İZİNİ (10.04.2005)
20 gün YILLIK İZİN (05.09.2005) şeklinde bir veri çıkıyor.

Benim yapmak istediğim;Verdiğim örneğin başına kullanılan izinde yol süresi kullanılmıssa "Yol dahil" kullanılmamışsa "Yol Hariç" yazması.

Ã?RNEK:

Yol dahil 10 gün DAÐITIM İZİNİ (10.04.2005)
Yol Hariç 20 gün YILLIK İZİN (05.09.2005)

Verinin bakıldığı yer adı= YOL
----------------------------------------------------------------------

STRSQL = "SELECT * FROM İZİNTABLO WHERE SIRANO = " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
iz = iz & rst("SÜRE").Value & " " & "gün" & " " & rst("İZİN TÜRÜ").Value & " / " & rst("ÇIKIÞ").Value & VBA.Chr(13) & VBA.Chr(10)
rst.MoveNext
Wend
Me.izinler = iz
 
Katılım
12 Mayıs 2005
Mesajlar
364
İşin gerçeği ben çok uğraştım.

rst (IIf([YOL])>0;"Yol dahil";"Yol hariç")&

kodu iz=iz& şekindeki yerden sonra yazdım.Ama çalışmadı.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Bahsettiğiniz İZİNTABLO isimli tabloda YOL adında bir alan varsa, yine benzer şekilde sözkonusu kayıta ait bu alandaki değeri okuyun ve bir değişkene atayın (örneğin, intYol adında bir değişken olabilir)

Sonra da, yukarıdaki kodda "iz" değişkenini yukarıdaki orjinal kodununuzu aynen uygulayın, son kısmını şu şekilde yapın.

.....
...

if intYol > 0 then

iz = "Yol dahil" & iz

else

iz = "Yol hariç" & iz

end if

rst.movenext

wend

me.izinler = iz


Biraz kafadan atma oldu ama, sizin yapacağınıza eminim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Sizin son mesajınızı şimdi gördüm.

Benim önerdiğimde bahsettiğim intYol değişkenini bulmak için, sanki şöyle bir şey gerekiyor gibi geldi bana ...

intYol = rst("YOL").Value

Bunun altına, bir önceki mesajımda yer alan satırları ekleyip de bir deneyin ....
 
Katılım
12 Mayıs 2005
Mesajlar
364
Haluk Bey,

Bir çok deneme yaptım.En mantıklı çalışan kodu aşağıya yazdım.Ama maalesef yol sürelerini her iznin başına yazması gerekirken hepsini topluca başa yazıyor.

----------------------
STRSQL = "SELECT * FROM İZİNTABLO WHERE SIRANO = " & Me![Açilan Kutu0]
Set rst = dbs.OpenRecordset(STRSQL)
While Not rst.EOF
intyol = rst("YOL").Value
If intyol > 0 Then
iz = "Yol dahil" & iz
Else
iz = "Yol hariç" & iz
End If
iz = iz & " " & rst("SÜRE").Value & " " & "gün" & " " & rst("İZİN TÜRÜ").Value & " / " & rst("ÇIKIÞ").Value & VBA.Chr(13) & VBA.Chr(10)
rst.MoveNext
Wend
Me.izinler = iz
---------------------------------------
ÇIKAN SONUÇ ÃžU ÞEKİLDE:

Yol hariçYol dahilYol hariç 10 gün DAÐITIM İZİNİ / 08.11.2004
17 gün YILLIK İZİN / 10.05.2005
3 gün TERHİS İZİNİ / 08.12.2005
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Tablonun yapısını tam olarak anlayamadım doğrusu, net olarak bir şey söyleyemeyeceğim.
 
Üst