28/01/2025, 23:21
Kayıtların Form Üzerine Dağıtılması
29/01/2025, 01:47
aydin5353
Kendi formlarımda buna benzer bir uygulamam var. Alt form kullanarak yada ilişiksiz metin kutusu oluşturup Vba ile verileri çağrılarak bu istediğiniz yapılabilir.
Ancak;
Tablonuzda 12 kayıt var, oluşturduğunuz formda 9 bölüm var.
1- Tablodan hangi satırdaki verinin gelmesini planlıyorsunuz. İlk 9, son 9 yada farklı kombinasyon. Hangisi nereye gelecek ?
2- Tablodan yalnızca ürün adı mı aktarılacak? Satırdaki diğer sütun verileriyle ilgili bir işlem yapılacak mı ?
3- "Tablodaki tüm verilerin mavi kutulara dağılmasını istiyorum" şeklinde yazmışsınız, tablodaki 12 veri artacak mı? örneğin 25 olduğunda formdaki kutular buna göre artış gösterecek mi ve form uzayacak mı?
Tam olarak istenen şeyler net olarak belirtilirse belki benim önerilerim, belki uzmanların daha pratik önerileri sayesinde çözüme kavuşabilirsiniz.
Ancak;
Tablonuzda 12 kayıt var, oluşturduğunuz formda 9 bölüm var.
1- Tablodan hangi satırdaki verinin gelmesini planlıyorsunuz. İlk 9, son 9 yada farklı kombinasyon. Hangisi nereye gelecek ?
2- Tablodan yalnızca ürün adı mı aktarılacak? Satırdaki diğer sütun verileriyle ilgili bir işlem yapılacak mı ?
3- "Tablodaki tüm verilerin mavi kutulara dağılmasını istiyorum" şeklinde yazmışsınız, tablodaki 12 veri artacak mı? örneğin 25 olduğunda formdaki kutular buna göre artış gösterecek mi ve form uzayacak mı?
Tam olarak istenen şeyler net olarak belirtilirse belki benim önerilerim, belki uzmanların daha pratik önerileri sayesinde çözüme kavuşabilirsiniz.
29/01/2025, 11:02
onur_can
şu şekilde çözüm önerisi sunabilirim, Formunuza kaç tane kayıt gelecekse o kadar textbox yerleştirin (siz kutu yerleştirmişsiniz)
daha sonra formun Current olayına aşağıdaki kodu yazın.
eğer yukarıdan aşağı sıralamak isterseniz MoveNext, MovePrevious komutlarıyla ayarlamalar yapın.
daha sonra formun Current olayına aşağıdaki kodu yazın.
Private Sub Form_Current()
Dim rs As DAO.Recordset
Dim i As Integer
Dim ctlr As Control
Set rs = CurrentDb.OpenRecordset("tbl_urun")
For Each ctlr In Me.Controls
If TypeOf ctlr Is TextBox Then
For i = 0 To ctlr.Controls.Count
On Error Resume Next
ctlr.Value = rs!urunadi
rs.MoveNext
Next i
End If
Next
End Sub
eğer yukarıdan aşağı sıralamak isterseniz MoveNext, MovePrevious komutlarıyla ayarlamalar yapın.
29/01/2025, 14:14
karaayhan
(29/01/2025, 11:02)onur_can yazdı: şu şekilde çözüm önerisi sunabilirim, Formunuza kaç tane kayıt gelecekse o kadar textbox yerleştirin (siz kutu yerleştirmişsiniz)
daha sonra formun Current olayına aşağıdaki kodu yazın.
Private Sub Form_Current()
Dim rs As DAO.Recordset
Dim i As Integer
Dim ctlr As Control
Set rs = CurrentDb.OpenRecordset("tbl_urun")
For Each ctlr In Me.Controls
If TypeOf ctlr Is TextBox Then
For i = 0 To ctlr.Controls.Count
On Error Resume Next
ctlr.Value = rs!urunadi
rs.MoveNext
Next i
End If
Next
End Sub
eğer yukarıdan aşağı sıralamak isterseniz MoveNext, MovePrevious komutlarıyla ayarlamalar yapın.
kodlar olmadı ya da ben eksik yaptım kodlarınızın uygulanmış hali ve ne aynı dosyada oluşturduğum rapor önizle
tam olarak ne yapmak istediğimi anlatıyor..
kayıt sayısı belirsiz elbette buradaki örnek sadece 50 olur 100 olur konu örnekteki rapor nasıl üç sütun halinde ise bu da öyle olsun istiyorum..
29/01/2025, 15:18
berduş
sadece 3 sütun yeterli mi?
29/01/2025, 15:44
karaayhan
yeterli olur hocam