AccessTr.neT

Tam Versiyon: Ekleme sorgusu ile kayıt çoğaltma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhaba,

Ekteki dosyamda bulunan "siparislistesi" tablomda yer alan bilgileri ekle sorgusu ile çoğaltarak "kolilistesi" tabloma eklemek istiyorum. Çoğaltma sayısını "siparislistesi" tablosunda yer alan [siparis_adet] ve [koli_ici_adet] oranlayıp yukarı yuvarlayarak sorgu içerisinde belirledim. "kolilistesi" tablosunda yeralan [Kolideki_Adet] maksimum [Koli_İci] adeti kadar olmalı. Fakat kolilistesinde toplam [Kolideki_Adet] siparis adetinden daha fazla olmamalı. Düşündüğüm hali örnek tablo ekledim.
Yardımcılarınız için şimdiden teşekkürler
Form1'i aç, "liste aktar" butonunu tıkla.

Private Sub Komut0_Click()

Dim KoliAdedi, Bolum, Kalan As Integer
DoCmd.GoToRecord , , acFirst
For x = 1 To DCount("siparis_no", "KoliEklemeSorgusu")
Dim Rs As New ADODB.Recordset
Rs.Open "Kolilistesi", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

KoliAdedi = 0
Bolum = siparis_adeti \ Me.koli_ici_adet
Kalan = Me.siparis_adeti - (Bolum * koli_ici_adet)
If Kalan = "0" Then
KoliAdedi = Bolum
Else
KoliAdedi = Bolum + 1
End If
For i = 1 To KoliAdedi Step 1
Rs.AddNew

Rs("koli_sayısı") = 0 + i
Rs("siparis_no") = Me.siparis_no
Rs("Kolideki_Adet") = Me.koli_ici_adet
Rs("koli_ici_adet") = Me.koli_ici_adet
Rs("tarih") = Me.tarih
Rs.Update
Next i
Rs.MoveLast
If Kalan = 0 Then
Rs("Kolideki_Adet") = koli_ici_adet
Else
Rs("Kolideki_Adet") = Kalan
End If
Rs.Update
Set Rs = Nothing
Set conn = Nothing
DoCmd.GoToRecord , , acNext
Next x
DoCmd.Close
End Sub
Hocam günaydın,

Çok teşekkürler elinize sağlık.