AccessTr.neT
ADO ile toplu kayit ekleme aynı zamanda stok kontrol - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: ADO ile toplu kayit ekleme aynı zamanda stok kontrol (/konu-ado-ile-toplu-kayit-ekleme-ayni-zamanda-stok-kontrol.html)

Sayfalar: 1 2


ADO ile toplu kayit ekleme aynı zamanda stok kontrol - ramazanemrullah - 16/04/2015

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 


Cvp: ADO ile toplu kayit ekleme aynı zamanda stok kontrol - ozanakkaya - 16/04/2015

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?


Cvp: ADO ile toplu kayit ekleme aynı zamanda stok kontrol - ramazanemrullah - 17/04/2015

(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 


Cvp: ADO ile toplu kayit ekleme aynı zamanda stok kontrol - ozanakkaya - 17/04/2015

Aktar sorgusuna aşağıdaki alanı ekledim.

xx: Nz(DLookUp("[stok_adet]";"STOK";"[stokurun_kodu]=" & "'" & [URUNKODU] & "'");"0")



Cvp: ADO ile toplu kayit ekleme aynı zamanda stok kontrol - ramazanemrullah - 17/04/2015

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


Cvp: ADO ile toplu kayit ekleme aynı zamanda stok kontrol - ozanakkaya - 18/04/2015

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.