AccessTr.neT

Tam Versiyon: ADO ile toplu kayit ekleme aynı zamanda stok kontrol
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
merhaba arkadaşlar 
ekte 1 adet Excel ve bir adet acces formu mevcuttur. 
benim yapamadığım yer 
excelden verileri al diyorum geliyor o verileri ado ile toplu kayit yaptirmak yaptirirken ayni anda stok tablosuna bakacak eğer o ürün kodunda mevcut ise o sadece o ÜRÜNÜN sipariş tablosunda alana stok miktarını yazcak stok tablosunda kullanmış alana yazdirmak istiyorum 
konu hakkında yardım eder misiniz? 
ado ile denediğimde toplu kayit ekleme yapamiyorum sadece bir kayit ekliyor. 
teşekkürler şimdiden ilgilenen arkadaşlara 
Sorudan anladığım kadarıyla;

STOK tablosu boş olduğu için "52160140" stokurun_kodunda veri ekleyip "stok_adet" sütununa "255" yazıyorum,

Bilgi Formu isimli formu açıyorum ve excelden al butonunu tıklayıp verileri tabloya aktarıyorum, daha sonra siparişlere ver butonunu tıklayınca sipariş tablosuna veri aktarırken, stok tablosunda bulunan "52159142" ürün kodundaki verinin stok miktarı 255 olduğu için sipariş tablosunda "52159142" olanların stok_mik alanına "255" yazıyor.

Yapılması istenilen işlem bu mudur?
(16/04/2015, 23:03)ozanakkaya yazdı: [ -> ]Sorudan anladığım kadarıyla;

STOK tablosu boş olduğu için "52160140" stokurun_kodunda veri ekleyip "stok_adet" sütununa "255" yazıyorum,

Bilgi Formu isimli formu açıyorum ve excelden al butonunu tıklayıp verileri tabloya aktarıyorum, daha sonra siparişlere ver butonunu tıklayınca sipariş tablosuna veri aktarırken, stok tablosunda bulunan "52159142" ürün kodundaki verinin stok miktarı 255 olduğu için sipariş tablosunda "52159142" olanların stok_mik alanına "255" yazıyor.

Yapılması istenilen işlem bu mudur?
Evet tam anlamiyla yapilacak islem budur 
Aktar sorgusuna aşağıdaki alanı ekledim.

xx: Nz(DLookUp("[stok_adet]";"STOK";"[stokurun_kodu]=" & "'" & [URUNKODU] & "'");"0")
merhabalar
dediğiniz yöntemi dedim fakat bu stokta ne varsa onu gösteriyor.
benim ado ile isteme sebebim ise ÜRÜN STOK TABLOSUNDA ÖRNEK VARSAYARSAK 5000 ADET BİR ÜRÜNDEN STOK VAR benim siparişim açılmış sipariş miktari ise 500 adet bunu bunu gidip stok tablosuna bakacak bu üründen varsa STOK tablosundan kullanılan adet 500 yazcak SİPARİS tablosunda stok_mik alanina 500 yazcak
böyle istemiştim
ilginiz için çok teşekkür ederim
siparişlere ver butonunun tıklandığında olayındaki 

DoCmd.SetWarnings False


DoCmd.OpenQuery "AKTAR"
DoCmd.OpenQuery "TPL_TUMUNU_SIL"
DoCmd.SetWarnings True

kodları yerine aşağıdaki kodları ekleyiniz.

For a = 1 To Me.Liste25.ListCount - 1

    Dim rs As New ADODB.Recordset
       rs.Open "SİPARİS", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
       rs.AddNew
       rs("urun_kodu") = Me.Liste25.Column(3, a)
       rs("sip_adet") = Me.Liste25.Column(6, a)
       rs("firma") = Me.Liste25.Column(4, a)
       rs("sip_no") = Me.Liste25.Column(2, a)
       rs("sip_acma_tarih") = Date
       rs("üretim_tarih") = Me.Liste25.Column(7, a)
       rs("ACIKLAMA") = Me.Liste25.Column(8, a)
       rs("giden_mik") = 0
       rs("sas_no") = Me.Liste25.Column(1, a)
       rs("stok_mik") = Nz(DLookup("[stok_adet]", "STOK", "[stokurun_kodu]=" & "'" & rs("urun_kodu") & "'"), "0")
       rs.Update
       
               strSQL = "SELECT * FROM STOK "
               Set rstkayit = New ADODB.Recordset
               rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
                   With rstkayit
                     .Find "[stokurun_kodu]=" & "'" & rs("urun_kodu") & "'"
                           If Not rstkayit.EOF Then
                               .Fields("kullanilan") = Val(Nz(.Fields("kullanilan"), 0)) + (Nz(DSum("[SİPARİŞADET]", "TOPLUKAYIT", "[URUNKODU]=" & "'" & rs("urun_kodu") & "'"), "0") / Nz(DCount("[SİPARİŞADET]", "TOPLUKAYIT", "[URUNKODU]=" & "'" & rs("urun_kodu") & "'"), "0"))
                               .Update
                           End If
                   End With
       Set rs = Nothing
Next a

Ayrıca, stok tablosu ile ilgili işlem yapılmasını istediğiniz halde boş stok tablosu göndermeyiniz.
Sayfalar: 1 2