• DİKKAT

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

iki mesaj arasına ne gelmeli ?

  • Konbuyu başlatan Konbuyu başlatan celoy
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Temmuz 2007
Mesajlar
294
Excel Vers. ve Dili
access
Arkadaşlar iyi akşamlar ,kolay gelsin
iki mesaj kutusu arasındaki aşağıda yazılı kodlar arasındaki (...........) boşluktaki yerlere acaba ne gelmeli ,else yazdım olmadı,end yazdım olmadı,yardımcı olabilirmisiniz.


If IsNull([Etiket155]) Then
MsgBox "**DİKKAT** Aşağıda bulunan GÖNDERİLECEK TARİHİ,AMİR İSMİ, RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Etiket155.SetFocus
(........................)

IsNull ([Metin54])
MsgBox "**DİKKAT** ,AMİR İSMİ,GÖREVİ VE RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Metin54.SetFocus

(........................)
IsNull ([Metin57])
MsgBox "**DİKKAT** AMİRİN GÖREVİNİ VE RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Metin57.SetFocus
(........................)

IsNull ([Metin58])
MsgBox "**DİKKAT** AMİRİN RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Metin58.SetFocus
Else

On Error GoTo Err_Komut104_Click
 
Merhaba..

Kod kümesini aşağıdaki ile karşılaştırın..

Kod:
Private Sub Form_AfterUpdate()
If IsNull([Etiket155]) Then
MsgBox "**DİKKAT** Aşağıda bulunan GÖNDERİLECEK TARİHİ,AMİR İSMİ, RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Etiket155.SetFocus
End If
If IsNull([Metin54]) Then
MsgBox "**DİKKAT** ,AMİR İSMİ,GÖREVİ VE RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Metin54.SetFocus
End If
If IsNull([Metin57]) Then
MsgBox "**DİKKAT** AMİRİN GÖREVİNİ VE RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Metin57.SetFocus
End If
If IsNull([Metin58]) Then
MsgBox "**DİKKAT** AMİRİN RÜTBESİ İLE MEMUR İSİMLERİNİ DOLDURMADAN YAZDIRAMAZSINIZ,LÜTFEN DOLDURUNUZ......"
Me.Metin58.SetFocus
End If
End Sub
 
else ( diğer şart için)
.......
end if
 
Hocam İyi Akşamlar kolay gelsin
örneğinizi uyguladım ancak benim istediğim gibi olmadı, benim isteğim ise ekte bulunan tek tek formunda Yazdır dedğimde belirtilenmetinlerdeki yerler boş ise (ve hangisi olursa olsun) doldurulmadan yazdırmaya geçilmemisdir. örneği ekliyorum.
 
Son düzenleme:
Aslında en güzeli for...each döngüsü oluşturmak ve tabii tag(im) kullanarak. Yazdır düğmesine koyarsınız kodu boş alan varsa hangi alan olduğunu söyler ve oraya focus yapar yoksa da yazdırır. For.. each.. next için örnekler forumda var...
 
Beab05 Hocam sizin belirttiğiniz,each ,tag(im) tam benim aradığım gibi olamsı için kullanıldığı anlaşılıyor,ancak aynen yazım formda aradım sonuç yok,acaba örnek üzerinde uygulamanız mümkünmü .
 
Merhaba;
Sizin yazdırma kodunun üstüne ekledim..

Kod:
Dim ctl As Control
Dim strList As String
Dim strDelim As String
 
    strList = "": strDelim = ""
    For Each ctl In Me.Form
        If ctl.Tag = "bb" Then
            If IsNull(Me(ctl.Name)) Then
                strList = strList & strDelim & ctl.Name
                strDelim = vbCrLf
            End If
        End If
    Next ctl
    
    If strList <> "" Then
        MsgBox "Alttaki alanlar bo&#351; olamaz" & vbCrLf & strList, vbCritical, "Bo&#351; Alan"
        Me.SetFocus
    Else


    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "tek tek"
    
    stLinkCriteria = "[HAZIRLIK NO]=" & "'" & Me![HAZIRLIK NO] & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    DoCmd.RunCommand acCmdRefresh
    DoCmd.PrintOut acPrintAll, , , acHigh, Me.Metin40
    
Exit_Komut104_Click:
    Exit Sub

Err_Komut104_Click:
    MsgBox Err.Description
    Resume Exit_Komut104_Click
    End If

Not: &#304;lgili alnlar&#305;n tag(im) bb yap&#305;n&#305;z..
 
Hocam teşekkürler ,kodları yazdım ancak yine direk yazdırmaya geçti tabi ben sizin (Not: İlgili alnların tag(im) bb yapınız..) derken ne demek istedriğiniz anlamamdan kaynaklandı,şunu iyice benim anlayacağım şekilde yazarsanız sevinirim.:) :mrgreen:
 
Merhaba;
Dedi&#287;iniz gibi "im" leri bo&#351; b&#305;rakt&#305;&#287;&#305;n&#305;z i&#231;in olmu&#351;, yoksa kod &#231;al&#305;&#351;&#305;yor ben denedim.
Bo&#351; kalmas&#305;n&#305; istemedi&#287;iniz alanlar&#305;n &#246;zelliklerine girin orda "im" olacak oraya bb yaz&#305;n&#305;z. B&#246;ylece koda g&#246;re im'i "bb" olan her alan kontrol ediliyor. Ayr&#305; alanlar i&#231;in ayr&#305; im'ler verebilirsiniz ve tabii kodda da biraz de&#287;i&#351;iklik yapmak gerekir.
 
Hocam Her zamamki gibi mükemmelsiniz,çalıştı, ancak sadece küçük bir sorunum var ,mesaj çıktıktan sonra boş olan Metin kutusuna focuslamıyor,sadece mesaj listesinde metinleri gösteriyor,otomatik olarak boş kalan metine focuslaması mümkünmü ?
 
Merhaba;



Kod:
Dim ctl As Control
Dim strList As String
Dim strDelim As String
 
    strList = "": strDelim = ""
    For Each ctl In Me.Form
        If ctl.Tag = "bb" Then
            If IsNull(Me(ctl.Name)) Then
                strList = strList & strDelim & ctl.Name
                strDelim = vbCrLf
                [COLOR="Red"][B]ctl.SetFocus[/B][/COLOR]
            End If
        End If
    Next ctl
    
    If strList <> "" Then
        MsgBox "Alttaki alanlar bo&#351; olamaz" & vbCrLf & strList, vbCritical, "Bo&#351; Alan"
          
    Else


    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "tek tek"
    
    stLinkCriteria = "[HAZIRLIK NO]=" & "'" & Me![HAZIRLIK NO] & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    DoCmd.RunCommand acCmdRefresh
    DoCmd.PrintOut acPrintAll, , , acHigh, Me.Metin40
    
Exit_Komut104_Click:
    Exit Sub

Err_Komut104_Click:
    MsgBox Err.Description
    Resume Exit_Komut104_Click
    End If

K&#305;rm&#305;z&#305; k&#305;sm&#305; ekleyin sadece...
 
Hocam :ok::
 
Geri
Üst