![]() |
Global Procedure hakkında - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html) +--- Konu Başlığı: Global Procedure hakkında (/konu-global-procedure-hakkinda.html) |
Global Procedure hakkında - mesudi - 25/05/2009 Arkadaşlar, global bir procedure var diyelim. Bu procedure 2 değer gönderip bir hesaplama yaptıracam. Örnek. Public Sub Prcdr(degisken1 As String, degisken2 as integer) .......... ......... ......... End Sub Acaba yukarıdaki yapıda bir yapısal yanlışlıkmı var. Yada benim gözden kaçırdığım bir şey mi? Procedure'yi çağırırken Prcdr(".....", 3) gibi bir yapı kullanıyorum. Hata varmı, ne dersiniz? ------------------------------------------------------------------------------ Sanırım 2 parametre verebilmek için Function kullanmak gerekiyor. Procedure'lerde 1 parametre kullanılabiliyor. Cvp: Global Procedure hakkında - mesudi - 25/05/2009 Sorun çözülmüştür. Teşekürler. ![]() Cvp: Global Procedure hakkında - Seruz - 25/05/2009 Function gibi Procedure'lerde de birden fazla parametre kullanılabiliyor. Gözünüzden kaçan başka bir şey olmuştur. Sorunu nasıl çözdüğünüzü de yazsanız daha iyi olurdu. Cvp: Global Procedure hakkında - tdsharun - 26/05/2009 Yapınızda bir hata yok ancak kullanımda hata var. Prosedürü çağırma yönteminiz hatalı. Olması gereken şöyle bir şey: Kod:
Private Sub Komut0_Click() Kullanıma dikkat edin. Prosedürden sonra gelen iki değişken tanımlandırdık. Bu iki değişken prosedürle birlikte kullanılmalı. Kolay gelsin... Cvp: Global Procedure hakkında - esrefigit - 26/05/2009 global veri1 as string bunu herhangi bir modüle yazdnız ve ve formun birinde bu global neseneye şöyle veri1="ali" deiniz taki siz bir başka formda yada sorguda değiştirene kadar ali diye kalır ancak program kapandığında silinir public sub lar bütün formlardan çağrılır yalnız modülde olamk şartıyla private sub lar ssadece içinde olduğu modül yada formdan çağrılır function lar modülde ise bütün form yada sorgulardan ancak formda ise sadeece formdan çağrılır global nerde kullanılır en basit şekilde diyelim global a as integer global b as integer diye iki global nesne belirlediniz yine diyelim bir fonksiyon yazdınız ve bu fonksiyon a ve b yi toplacak ama a c formunda b ise d formunda işte tamda burda işe yarar Global a As Integer Global b As Integer Function topla(ilk As Integer, son As Integer) As Integer topla = ilk + son End Function şimdi siz ilk formunuz açık bir hesap yapmak için bir başka formdaki seçilen kayda ait hesaplanmış alan var işte ordaki veriyi seçtiniz hesaplanmış alandan form kapandığında a=hesaplanmışalan dediğinizde global a nesnesine hesaplanmış veriyi yüklersiniz bir başka formdanda aynı şekilde b=hesaplanmışalan diyerek global b nesnesine veriyi yüklersiniz zaten asıl formunuzda ekranda açık hesapla dediğinizde metinkutunuz=topla(a, b) dediğinizde global nesnesine diğer formlardan attığınız verilerin toplamı gelir Cvp: Global Procedure hakkında - mesudi - 26/05/2009 Arkadaşlar ilginize teşekürler. Nasıl çözdüğümü hemen söyliyim, daha doğrusu nerde hata yaptığımı. Prcdr(".....", 3) hata burda. Çünkü procedure çağrılarında parametreler parantez içine yazılmaz. Bunu unutmuşum. Aslında parametre sayısı 1 tane olursa parantez kullanımında bir sorun olmuyor. Ama 2 veya daha fazla oldumu parantez olmayacak. Ben bundan dolayı hata yaptım. Yani anlayacağınız Functionlarla Procedure'leri birbirine karıştırmışım. Kullandığım procedurelerin birçoğu tek parametre aldığı için ve ben hepsinde parantez kullanmış olduğum için alışkanlık yapmış. Tekrar hepinizin konuya ilişkin faydalı katkılarınızdan dolayı teşekür ederim. |