Kayıtların Form Üzerine Dağıtılması

1 2 3
31/01/2025, 21:26

berduş

biraz değişiklik yaptım, yeni bir tablo ve sorgu ekledim, aşağıdaki kod belirttiğiniz özelliklere sahi ürün IDlerini tabloya ekliyor
Private Sub AK_Kategori_AfterUpdate()
If Me.AK_Kategori.Value <> "" Then xKriter = " where kategori='" & Me.AK_Kategori.Value & "'"
    Set db = CurrentDb()
    Set ADO_RS = db.OpenRecordset(Name:="select [id] from tbl_urun" & xKriter, Type:=RecordsetTypeEnum.dbOpenDynaset)

        With ADO_RS 'loop
        db.Execute "delete * from Capraz_Tbl"
        If Not .BOF And Not .EOF Then
                .MoveFirst
x = -1
y = 0
                While (Not .EOF)
                x = (x + 1) Mod 3
                If x = 0 Then
                y = y + 1
                '
                    strSQL = "INSERT INTO Capraz_Tbl ([ID],[Resim0]) VALUES ( " & y & ", " & .Fields(0) & ");"
                Else
                    strSQL = "update Capraz_Tbl set [Resim" & x & "] = " & .Fields(0) & " where [ID]=" & y
                End If
                    db.Execute strSQL               
                .MoveNext
                Wend
        End If
        End With
Me.Requery
End Sub
31/01/2025, 23:21

berduş

yada daha basitleştirilmiş hali,
Capraz_Tbl tablosundaki ID alanı silinebilir
Private Sub AK_Kategori_AfterUpdate()
If Me.AK_Kategori.Value <> "" Then xKriter = " where kategori='" & Me.AK_Kategori.Value & "'"
    Set db = CurrentDb()
    Set ADO_RS = db.OpenRecordset(Name:="select [id] from tbl_urun" & xKriter, Type:=RecordsetTypeEnum.dbOpenDynaset)
        db.Execute "delete * from Capraz_Tbl"

        With ADO_RS 'loop
        db.Execute "delete * from Capraz_Tbl"
        If Not .BOF And Not .EOF Then
                .MoveFirst
                While (Not .EOF)
                dz = .GetRows(3)
                xAlan = ""
                xDeger = ""
                For x = 0 To UBound(dz, 2)
                    xAlan = xAlan & ", [Resim" & x & "]"
                    xDeger = xDeger & ", " & dz(0, x)
                Next x
                    strSQL = "INSERT INTO Capraz_Tbl (" & Mid(xAlan, 3) & ") VALUES ( " & Mid(xDeger, 3) & ");"
                    db.Execute strSQL
                Wend
        End If
        End With
Me.Requery
End Sub
01/02/2025, 00:33

karaayhan

her iki örnekte süper elinize sağlık hocam konu taşınabilir
01/02/2025, 00:46

berduş

rica ederim
iyi çalışmalar)
1 2 3