Ekleme sorgusu ile kayıt çoğaltma

20/03/2014, 23:59

jossihvi11

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
21/03/2014, 01:56

ozanakkaya

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
21/03/2014, 09:52

jossihvi11

Hocam günaydın,

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