Form Text Box Kod Kısaltma

26/06/2023, 22:00

truhi

Merhaba,
Access te kullanmakta olduğu "frmUrunler" isimli "tblUrunler" ismindeki tablo ile bağlantılı olarak TextBox' lar var,

TextBox İsimleri:

Cozgu__1
Cozgu__2
Cozgu__3
Cozgu__4
Cozgu__5
Cozgu__6
Cozgu__7
Cozgu__8


Bu TextBox' lar için "Urunler" adlı tablodaki aynı alan isimleri ile bağlantılı;

Aşağıdaki kodu her bir text box için for ..... next dögüsüyle nasıl oluşturabiliriz?
___________________________________________________
for i=1 to 8
frmUrunler!Forms("Cozgu__" & i) ...............
next i
___________________________________________________
gibi...

Kod:
Dim arr( 1 to 8)
Cozgu__1.Requery
    Cozgu__1.Recordset.FindFirst "Kod='" & Cozgu__1.Value & "'"
    arr(1) = Cozgu__1.Recordset.Fields("Birim Fiyat").Value
desteğiniz için şimdiden teşekkürler,
iyi akşamlar..
27/06/2023, 12:40

berduş

çalışmanızı eklememişsiniz; recordsette kullandığınız sorgu kodu yok, döngüye sokulmasını istediğiniz alan adları da yok.
bu durumda sadece bazı ön kabuller yaparak alan adlarınızın Birim Fiyat1,Birim Fiyat2,Birim Fiyat3........Birim Fiyat8 olduğunu varsayarak bir çözüm önerebiliriz
for x =1 to 8
arr(x) = Cozgu__1.Recordset.Fields("Birim Fiyat" & x).Value
next x
02/07/2023, 01:24

truhi

(27/06/2023, 12:40)berduş yazdı: çalışmanızı eklememişsiniz; recordsette kullandığınız sorgu kodu yok, döngüye sokulmasını istediğiniz alan adları da yok.
bu durumda sadece bazı ön kabuller yaparak alan adlarınızın Birim Fiyat1,Birim Fiyat2,Birim Fiyat3........Birim Fiyat8 olduğunu varsayarak bir çözüm önerebiliriz
for x =1 to 8
arr(x) = Cozgu__1.Recordset.Fields("Birim Fiyat" & x).Value
next x


Merhaba,
Aşağıdaki şekilde oluşturduğum kodda;
Set T_Box = frmForm.Controls("Cozgu__" & x)
satırında işlem yapmadan koddan çıkıyor, bir alt satıra geçmiyor.

Nerede eksilik olabilir?
desteğiniz için şimdiden teşekkürler, iyi bayramlar.

Burada;
T_Box: Combobox,
G_Box: TextBox

Kod:
Sub IplikHesap()
    Dim frmForm As Form
  
    Dim T_Box As control
    Dim G_Box As control
    Dim gr As Double, x As Integer
    

         Set frmForm = Forms("Urunler")
    
    For x = 1 To 8
        Set T_Box = frmForm.Controls("Cozgu__" & x)
    
        Set G_Box = frmForm.Controls("Gram_" & x)
        
          gr = nullControl(G_Box.Value)
        

    
    gr = 0

  
    Next
02/07/2023, 11:05

berduş

kodunuzun mantığını pek kavrayamadım
1 - T_Box ve G_Box 'a nesne bağlanıyor
2 - gr'ye G_Box 'nin değeri atanıyor
3 - son olarak da gr=0 yapılıyor arada başka işlem yok
kodun tek yaptığı
1 - gr=0
2 - T_Box = Cozgu__8
G_Box = Gram_8
yapmak
döngü iş yapmadan dönmüş oluyor
02/07/2023, 14:57

berduş

sayın @truhi dosya eklemezseniz, açıklamayı net yapmazsanız yada mesajlarımıza dönüş yapmazsanız cevaplanma süreci boşu boşuna uzar.
sürecin daha verimli işlemesi için lütfen bunlara dikkat edin. özellikle dosya eklemeniz çok önemli.
02/07/2023, 18:50

truhi

(02/07/2023, 11:05)berduş yazdı: kodunuzun mantığını pek kavrayamadım
1 - T_Box ve G_Box 'a nesne bağlanıyor
2 - gr'ye G_Box 'nin değeri atanıyor
3 - son olarak da gr=0 yapılıyor arada başka işlem yok
kodun tek yaptığı
1 - gr=0
2 - T_Box = Cozgu__8
G_Box = Gram_8
yapmak
döngü iş yapmadan dönmüş oluyor


Hocam teşekkürler,

Arada bir prosedür bulunuyor, aslında

IplikKarisimOran T_Box.Value, T_Box.Tag, gr, 1

kafa karıştırmasın diye eklememiştim,
yalnız buraya hiç geçmiyor,

Set T_Box = frmForm.Controls("Cozgu__" & x)
satırında işlem yapmadan koddan çıkıyor

Acaba bu tabımlamalarda bir hata mı var? olmazsa akşam örnek dosya ekleyeceğim

Kod:
Public Sub IplikKarisimOran(kod As Variant, t As Integer, gram As Double, typ As Integer)

Dim i As Integer

    For i = 1 To 12
    
        If typ = 1 Then
                arrCoz(t, i) = nullControl(DLookup(arr(i), "Iplikler", "Kod='" & kod & "'")) * gram / 100
          
        ElseIf typ = 2 Then
        
              arrAtk(t, i) = nullControl(DLookup(arr(i), "Iplikler", "Kod='" & kod & "'")) * gram / 100
        End If
    
    Next i

End Sub

(02/07/2023, 14:57)berduş yazdı: sayın @truhi dosya eklemezseniz, açıklamayı net yapmazsanız yada mesajlarımıza dönüş yapmazsanız cevaplanma süreci boşu boşuna uzar.
sürecin daha verimli işlemesi için lütfen bunlara dikkat edin. özellikle dosya eklemeniz çok önemli.

Hocam akşam bir dosya ekleyeceğim,