• DİKKAT

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

hatırlayan metin kutusu yardım + sadece yıl yazdırma

Katılım
4 Temmuz 2007
Mesajlar
56
Excel Vers. ve Dili
2003
merhaba arkadaşlar aşağıdaki koular hakkında yardıma ihityacım var

formuma açılan kutu ekledim ve içine mutat girilecek değerleri yazdım fakat tek tük te olsa farklı değerler oluyor liste olmayan bunları yazdığımda açılan kutuya otomatik kaydedip bidahi seferde getiren bi yöntem gördüm fakat nasıl yapıldığını bilmiyorum bunu bilen varmı ?

birde raporuma sadece yılı eklemek istiyorum ama =date yazdığımda kısa tarih geliyor
 
1- Örnek dosyayı ekleyip daha net açıkla,

2- YEAR deyimini incele.
 
Sorun şu

şimdi bi açılan kutu var formumda

satır kaynağı ise
Ankara;İstanbul;Bursa var

ama arda başka illerde geliyor ben bunları elle yazıyorum herdefasında bi yazdığı ile otomatik olarak satır kaynağına yazmasını istiyorum

ayrıca date komutunu inceledim fakata sadece yılı yazdıramadım


teşekürler
 
Sayın icapcı,

Açılan kutu satır kaynağını nereden alıyor. Ona göre kod yazmak lazım. Bir tablo alanından mı yoksa, yazılı mı?

Genel olarak aşağıdaki kod düşüncesi etrafında oluşur bütün olay

Kod:
Private Sub Üretici_NotInList(NewData As String, Response As Integer)
 
 strMsg = "'" & NewData & "' ÖGESİ LİSTEDE YOK " & vbCrLf & vbCrLf
    strMsg = strMsg & "LİSTEYE EKLEMEK İSTER MİSİNİZ?"
    strMsg = strMsg & vbCrLf & vbCrLf & "EKLEMEK İÇİN EVET'İ İPTAL İÇİN HAYIRI TIKLAYIN"
    
    If MsgBox(strMsg, vbQuestion + vbYesNo, "Yeni Öge Ekle?") = vbNo Then
        Response = acDataErrContinue
        
    Else
 
'Buraya değer listede yoksa yapılmasını istediğinizi kodlayın
 
If Err Then
            MsgBox "Hatalı. Lütfen tekrar deneyin."
            Response = acDataErrContinue
        Else
            Response = acDataErrAdded
        End If
 
End Sub

İyi çalışmalar
 
sayın modalı. bu soruyu ben daha önce sormuştm ancak cevabı buydu sanırım ben anlatamamışım derdimi. Burda else den sonra eklemeyi yapmasını istiyorum ve açılan kutuyu güncelleyip ilgili kaydı güncellemeliyim. Kod nasıl olmalı?

iyi çalışmalar
 
Teşekkürler

ilginiz için sağolun sayın Modalı

satır kanağı veriyi yazlı olarak alıyor tablodan veya sorgudan almıyor yani
satır kaynak türü: Deger listesi
satır kaynağı : Adana;İstanbul;Kayseri......

bu şekide

eğer yeni yazılan il listede yoksa eklenmesi gerekli, kullanıcıya kolaylık sağlamak için her defasında yazmasın diye

not: illerin hespsini eklemek daha kolay biliyorum ama bu olay bana bir çok işte alazım onun için öğrenmek istiyorum



ilginiz için çok sağolun
 
Son düzenleme:
Bunun için en mantıklı yol verilerin bir tablodan alınması, alana çift tıklandığında da veri girişi yapılabilecek bir formun açılmasıdır. Bu arada Modalı'nın verdiği kodlar da kullanılarak çift tıklamaya gerek kalmadan, olmayan verinin girişi bu şekilde de yapılabilir. Zaten bu kodları kullanabilmek için verilerin tablodan gelmesi gerekli... Kullanılan herhangibir olmayan verinin otomatik kaydı için bir yol var. Bu da satır kaynağının bir sorgudan alınması, sorgunun da daha önce girilen verilerden oluşması gerekir. Bu verilerin birden çok tekrarlandığı düşünülürse gruplandırma yöntemiyle bu sorun da aşılabilir. Bunun için sorgu tasarım ekranında toplam düğmesine basılıp toplam alanında gruplandır seçilir.. Örnek gönderirseniz dediklerimi yapmayı denerim.
 
Eğer, satır kaynağına ekleme yapılacaksa, o zaman Else den sonra:

Kod:
Me.RowSource=Me.RowSource & ";" & NewData

Eğer değerler bir tablodan alınıyorsa:

Kod:
Dim rs As New ADODB.Recordset
rs.Open "Table1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.AddNew
rs("AlanAdı") = NewData
rs.Update
rs.Close

Kullanılmalı.
Aynı anda görünmesini istiyorsanız aşağıdaki kod da yazılmalı
Kod:
Me.Requery
İyi çalışmalar
 
örnek formunuzda herhangibir kayıt durumu yok ki.. Yani formunuzdaki alanlar hep ilişkisiz. Sadece göstermek için.. O verileri topladığınız herhangi bir tablonuz yok ki girdiğiniz yeni ilçe ya da köy adı olsun...
 
Ufak bir düzeltme

Sanırım Sayın Modalı küçük bir detayı unutmuş. Onu da ben düzelteyim;

Private Sub Üretici_NotInList(NewData As String, Response As Integer)

strMsg = "'" & NewData & "' ÖGESİ LİSTEDE YOK " & vbCrLf & vbCrLf
strMsg = strMsg & "LİSTEYE EKLEMEK İSTER MİSİNİZ?"
strMsg = strMsg & vbCrLf & vbCrLf & "EKLEMEK İÇİN EVET'İ İPTAL İÇİN HAYIRI TIKLAYIN"

If MsgBox(strMsg, vbQuestion + vbYesNo, "Yeni Öge Ekle?") = vbNo Then
Response = acDataErrContinue

Else

'Buraya değer listede yoksa yapılmasını istediğinizi kodlayın

If Err Then
MsgBox "Hatalı. Lütfen tekrar deneyin."
Response = acDataErrContinue
Else
Response = acDataErrAdded
End If
End If
End Sub
 
Çok ama çok teşekkürler

arkadaşlarçok sağolun iyiki varsınız

sizin için küçük bişey olabilir ama bu benimiçin çok büyük bir sorundu

tekrardan saolun
 
icapcı merhaba, iyi ramazanlar.

Üstatların katkıları ile oluşturduğun mdb dosyasının son halini tüm yazılanlarla bağlantıyı anlayabilmek için, siteye koyar mısın?
Teşekkürler.
 
Geri
Üst