Skip to main content

AccessTr.neT


ADO ile toplu kayit ekleme aynı zamanda stok kontrol

ramazanemrullah
ramazanemrullah
10
3394

ADO ile toplu kayit ekleme aynı zamanda stok kontrol

Çözüldü #1
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 
.rar EXCELDEN TOPLU KAYİT.rar (Dosya Boyutu: 1,23 MB | İndirme Sayısı: 28)
Cevapla
#2
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?
Cevapla
#3
(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 
Cevapla
#4
Aktar sorgusuna aşağıdaki alanı ekledim.

xx: Nz(DLookUp("[stok_adet]";"STOK";"[stokurun_kodu]=" & "'" & [URUNKODU] & "'");"0")
.rar EgeOfsetSipariş.rar (Dosya Boyutu: 509,43 KB | İndirme Sayısı: 11)
Cevapla
#5
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
Cevapla
#6
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.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task