Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
25/05/2009 18:28
Konu Sahibi
mesudi
Yorumlar
5
Okunma
1612
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

mesudi

Aktif Üye
Me.... AY....
 42
 18
 249
 30/10/2008
63
 İstanbul
 
 Ofis 2003
 12/12/2016,17:50
Çözüldü 
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.



Kullanici Avatari

mesudi

Aktif Üye
Me.... AY....
 42
 18
 249
 30/10/2008
63
 İstanbul
 
 Ofis 2003
 12/12/2016,17:50
Çözüldü 
Sorun çözülmüştür. Teşekürler.Img-grin



Kullanici Avatari

Seruz

Uzman
Se.... UZ....
 47
 7
 1.565
 30/10/2008
814
 Tekirdağ
 BT Şefi
 Ofis XP
 Dün,18:09
Çözüldü 
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.


Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs

Kullanici Avatari

tdsharun

Aktif Üye
 37
 27
 778
 06/11/2008
231
 Kütahya
 
 Ofis 2003
 31/12/2011,02:16
Çözüldü 
Yapınızda bir hata yok ancak kullanımda hata var. Prosedürü çağırma yönteminiz hatalı. Olması gereken şöyle bir şey:

Kod:
1
2
3
4
5
6
7
Private Sub Komut0_Click()
Topla 15, 10
End Sub

Private Sub Topla(x As Integer, y As Integer)
MsgBox x + y
End Sub


Ben Private Sub kullandım. Siz bunu Public olarak da yapabilirsiniz.

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...



Kullanici Avatari

esrefigit

Aktif Üye
 Belirtilmemiş
 59
 599
 30/10/2008
359
 Konya
 
 Ofis 2003
 20/09/2018,16:01
Çözüldü 
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


meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz

Kullanici Avatari

mesudi

Aktif Üye
Me.... AY....
 42
 18
 249
 30/10/2008
63
 İstanbul
 
 Ofis 2003
 12/12/2016,17:50
Çözüldü 
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.




Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Setwarnings İle Formun Kapatılması Hakkında. Oğuz Türkyılmaz 4 82 18/01/2019, 09:13
Son Yorum: Oğuz Türkyılmaz
Çözüldü Vba Hesaplama Formülü Hakkında Oğuz Türkyılmaz 2 64 16/01/2019, 18:36
Son Yorum: Oğuz Türkyılmaz
Çözüldü Form Ya Da Denetim Kopyalama Hakkında notrino 4 159 27/12/2018, 09:18
Son Yorum: notrino
Çözüldü Açılışta Progressbar Kullanımı Hakkında. Oğuz Türkyılmaz 6 188 21/12/2018, 16:34
Son Yorum: haliliyas
Çözüldü Kod Anlamı Hakkında notrino 1 88 21/12/2018, 12:24
Son Yorum: C*e*l*o*y*c*e

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.