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.