for next döngüsü ile formdaki text e bilgi aktarma

Katılım
5 Ağustos 2007
Mesajlar
54
Excel Vers. ve Dili
Office 2007 türkçe
Kod:
Private Sub Göster1_Click()
ser0 = erdem
ser1=ali
ser2=veli
For sayac1 = 0 To 69 Step 1
Metin = "metin" & sayac1
sr = "ser" & sayac1
metin=BuyukDegerAl(HLM, yol & sr, yol1)
Next sayac1
End Sub
Yapmak istediğim formumda metin0-metin1-metin2 şeklinde adlandırdığım text'lere otomatik ekleme yapmak
yani
metin=BuyukDegerAl(HLM, yol & sr, yol1) yazdığım kodu
metin0=BuyukDegerAl(HLM, yol & ser0, yol1)
metin1=BuyukDegerAl(HLM, yol & ser1, yol1)
metin2=BuyukDegerAl(HLM, yol & ser2, yol1)
gibi görsün istiyorum ama bir türlü beceremedim.
Yardımlarınız için şimdiden tşk ederim.
Not: tamamını uzun olduğundan eklemedim. gerisi çalışıyor. Üstte yazdığım kısım hariç.​
 

ynmcan

Altın Üye
Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
29-05-2025
Kod:
Private Sub Göster1_Click()
ser0 = erdem
ser1=ali
ser2=veli
For sayac1 = 0 To 69 Step 1
Metin = "metin" & sayac1
sr = "ser" & sayac1
metin=BuyukDegerAl(HLM, yol & sr, yol1)
Next sayac1
End Sub
Yapmak istediğim formumda metin0-metin1-metin2 şeklinde adlandırdığım text'lere otomatik ekleme yapmak
yani
metin=BuyukDegerAl(HLM, yol & sr, yol1) yazdığım kodu
metin0=BuyukDegerAl(HLM, yol & ser0, yol1)
metin1=BuyukDegerAl(HLM, yol & ser1, yol1)
metin2=BuyukDegerAl(HLM, yol & ser2, yol1)
gibi görsün istiyorum ama bir türlü beceremedim.
Yardımlarınız için şimdiden tşk ederim.
Not: tamamını uzun olduğundan eklemedim. gerisi çalışıyor. Üstte yazdığım kısım hariç.​
Syn. Erdem55;
Aşağıdaki gibi denermisiniz.
Kod:
Private Sub Göster1_Click()
ser0 = erdem
ser1 = ali
ser2 = veli

For sayac1 = 0 To 69

contros("metin" & sayac1) = BuyukDegerAl(HLM, yol & "ser" & sayac1, yol1)

Next sayac1
End Sub
 
Katılım
5 Ağustos 2007
Mesajlar
54
Excel Vers. ve Dili
Office 2007 türkçe
Syn. Erdem55;
Aşağıdaki gibi denermisiniz.
Kod:
Private Sub Göster1_Click()
ser0 = erdem
ser1 = ali
ser2 = veli

For sayac1 = 0 To 69

contros("metin" & sayac1) = BuyukDegerAl(HLM, yol & "ser" & sayac1, yol1)

Next sayac1
End Sub
Sayın ynmcany;
sub or function not defined hatası ile karşılaşıyorum. ayrıca contros komutu ile ilk karşılaşmam komutun işlevi ve kullanımı hakkında bilgi verebilirmisiniz acaba?
 

ynmcan

Altın Üye
Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
29-05-2025
Sayın ynmcany;
sub or function not defined hatası ile karşılaşıyorum. ayrıca contros komutu ile ilk karşılaşmam komutun işlevi ve kullanımı hakkında bilgi verebilirmisiniz acaba?
Syn. Erdem55;
Contros değil controls olacak yanlış yazmışım.
Kod:
Private Sub Göster1_Click()
ser0 = erdem
ser1 = ali
ser2 = veli

For sayac1 = 0 To 69

contro[COLOR="Red"]l[/COLOR]s("metin" & sayac1) = BuyukDegerAl(HLM, yol & "ser" & sayac1, yol1)

Next sayac1
End Sub
Controls ifadesi form üzerindeki nesneleri kolayca tanımlamamızı sağlamaktadır
Ardaşık olarak giden nesnelerin ( örneğin, Textbox1, Textbox2, Textbox3, .....gibi ) sonundaki sayıları bir değişken le belirleyebiliriz.
Örnek olarak Userformumuzda 10 adet textbox olduğunu ve bunların sayfa1 A sütununun ilk 10 hücresinden veri aldığını var sayalım. kodu aşağıdaki gibi kulanabiliriz. ( burada dikkat etmemiz gereken sayısal değerlerin ardaşık olmasıdır )
Kod:
Private Sub UserForm_Initialize()

For i = 1 To 10
Controls("Textbox" & i) = Sayfa1.Cells(i, 1)
Next i

End Sub
Kodunuzdaki "ser" de nesney ise kodu aşağıdaki gibi geğiştirin.

Kod:
For sayac1 = 0 To 69

controls("metin" & sayac1) = BuyukDegerAl(HLM, yol & Controls("ser" & sayac1) , yol1)

Next sayac1
Çalışmanızdan küçük bir örnek eklerseniz sorunu daha çabuk çözebiliriz.
 
Katılım
5 Ağustos 2007
Mesajlar
54
Excel Vers. ve Dili
Office 2007 türkçe
Private Sub Göster_Click()


yol = "SYSTEM\CurrentControlSet\Services\"
yol1 = "Start"
ser0 = "Alerter"
ser1 = "ALG"
ser2 = "AppMgmt"
ser3 = "ClipSrv"
ser4 = "EventSystem"
ser5 = "COMSysApp"

For sayac1 = 0 To 69
Controls("metin" & sayac1) = BuyukDegerAl(HLM, yol & "ser" & sayac1, yol1)
Next sayac1
End Sub

bir türlü çalıştıramadım. metin kutuları doluyor ama sanırım "ser" & sayac1 kısmında sorun çıkıyor. hep 0 veriyor

modüldeki dönen kısım
Kod:
Public Function BuyukDegerAl(ByVal hKey As Long, ByVal strPath As String, ByVal strValue As String, Optional Default As Long) As Long
Dim RegDurum As Long
Dim DegerTipi As Long
Dim TBuf As Long
Dim TBufUzun As Long
Dim hkeycur As Long
If Not IsEmpty(Default) Then
BuyukDegerAl = Default
Else
BuyukDegerAl = 0
End If
RegDurum = RegOpenKey(hKey, strPath, hkeycur)
TBufUzun = 4
RegDurum = RegQueryValueEx(hkeycur, strValue, 0&, DegerTipi, TBuf, TBufUzun)
If RegDurum = ERROR_SUCCESS Then
If DegerTipi = REG_DWORD Then
BuyukDegerAl = TBuf
End If
Else
End If
RegDurum = RegCloseKey(hkeycur)
End Function
şeklinde
örnek bir dosya ekledim
 

Ekli dosyalar

Son düzenleme:
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Değişken değerini döngü içinde almak için array kullanmanızı öneririm..:


Kod:
yol = "SYSTEM\CurrentControlSet\Services\"
yol1 = "Start"

For sayac1 = 0 To 5

ser = Array("Alerter", "ALG", "AppMgmt", "ClipSrv", "EventSystem", "COMSysApp")
Controls("metin" & sayac1) = BuyukDegerAl(HLM, yol & ser(sayac1), yol1)

Next sayac1
 
Katılım
5 Ağustos 2007
Mesajlar
54
Excel Vers. ve Dili
Office 2007 türkçe
Merhaba..

Değişken değerini döngü içinde almak için array kullanmanızı öneririm..:


Kod:
yol = "SYSTEM\CurrentControlSet\Services\"
yol1 = "Start"

For sayac1 = 0 To 5

ser = Array("Alerter", "ALG", "AppMgmt", "ClipSrv", "EventSystem", "COMSysApp")
Controls("metin" & sayac1) = BuyukDegerAl(HLM, yol & ser(sayac1), yol1)

Next sayac1
Taruz Bey;
Çok teşekkür ederim. Kod bu haliyle süper çalışıyor farkat anlayamadığım nokta
ser0="Alerter"
ser1="ALg"
gibi tanımladığımda neden kod çalışmadı acaba? Yani neden hep 0 değerini verdi. Kusura bakmayın çok soru sorduğumun farkındayım ama hatamı tam olarak anlamaya çalışıyorum. Yorumlarınız için şimdiden çok teşekkür ederim.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Sizin prosedürün çalışmama sebebi değişkeni değişkene atamanızdan kaynaklı.. "ser" & sayac1 dediğiniz zaman döngü bunun değişken adı değil direkt bir string değer olarak algılıyor.. Array ile bu sorunu aşmış olduk..
 
Katılım
5 Ağustos 2007
Mesajlar
54
Excel Vers. ve Dili
Office 2007 türkçe
Merhaba..

Sizin prosedürün çalışmama sebebi değişkeni değişkene atamanızdan kaynaklı.. "ser" & sayac1 dediğiniz zaman döngü bunun değişken adı değil direkt bir string değer olarak algılıyor.. Array ile bu sorunu aşmış olduk..
Cevap için çok teşekkür ederim. Cevabınızı okumadan önce bende tahmin olarak bunu düşünerek değerleri bir tobloya ekleyip adodb yardımı ile hem kodumu kısaltıp hemde işimi kolaylaştırmış oldum. Cevaplarınız için çok tşk ederim. İyiki varsınız:)
birde konu ile alakalı olmadığını biliyorum ama windows 7 de Kullanıcı hesabı denetim ayarlarını en alta çekmeden access üzerinden regeditte değişiklik yapamıyorum. Sanırım yönetici olarak çalıştır özelliğinden kaynaklanıyor ama yönetici yetkisini iptal edince (kullanıcı hesap denetimini en alta çekince) sorunsuz bir şekilde regedit üzerinde çalışabiliyorum. Bunu aşmanın başka bir yönetmi varmı acaba?
Yani Kullanıcı hesap denetimi ile oynamadan yine windows diğer programlarda yönetici izni istese ama acces üzerinden yaptığım regedit işlemlerinde yaptığım değişiklikleri kabul etse:)
Çalıştığım access dosyası üzerindeki tüm güvenlik izinleri ile oynadım ama işe yaramadı tek bulabildiğim çözüm yönetici iznini kapatmak:) Varsa başka bir yöntemi süper olurdu.
Yanıtınız ve bunca sorumdan sıkılmayıp cevapladığınız için tşk ederim.
 
Son düzenleme:
Üst