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

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

mesudi

Aktif Üye
Aktif Üye
ME.... AY....
 41
 249
 18
 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
Aktif Üye
ME.... AY....
 41
 249
 18
 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
Uzman
SE.... UZ....
 47
 1.562
 7
 30/10/2008
814
 Tekirdağ
 BT Şefi
 Ofis XP
 Bugün,08:38
Çö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

>>> O Şimdi Sivil<<<
Aktif Üye
 36
 778
 27
 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
Aktif Üye
 Belirtilmemiş
 599
 59
 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
Aktif Üye
ME.... AY....
 41
 249
 18
 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ü Sıralanan Veriler Hakkında notrino 2 46 19/09/2018, 11:42
Son Yorum: notrino
Çözüldü Ole Nesnesi Hakkında notrino 2 60 17/09/2018, 11:09
Son Yorum: notrino
Çözüldü Sayı Sınırlama Hakkında notrino 2 82 06/09/2018, 12:28
Son Yorum: notrino
Çözüldü Satınalma Takip Yazılımı Hakkında DJ_CrAzY43 8 383 06/09/2018, 11:11
Son Yorum: PROSAN
Çözüldü Mesaj Kutusu Hakkında notrino 8 224 01/09/2018, 11:46
Son Yorum: mehmetdemiral

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