Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Access Soruları (http://www.excel.web.tr/forumdisplay.php?f=57)
-   -   Firma kodları hakkında (http://www.excel.web.tr/showthread.php?t=165251)

Gokcen Akan 05-07-2017 15:38

Firma kodları hakkında
 
Merhabalar,
2 gündür uğraştığım bir konu var, yardımcı olabilirseniz sevinirim :)
Access'te bir formumuz var yeni müşerilerimzi kaydettiğimiz. Oraya Firma kodunun otomatik atanmasını istiyoruz.
Kodun işleyişi şu şekilde; Firma Ünvanının baş harfi, peşinede o harfe kaçıncı sayıda kaldıysak +1 ekleyip eklenmesini istiyoruz.
Örnek olarak;
Koton firmasını kaydetmek istediğimde Firma kodunu K00125 daha önce olduğundan K00126 olarak girsin.

Yardımcı olursanız çok sevinirim.

asri 05-07-2017 16:30

access kullanmadım.Ancak belki fikir verebilir.


Kod:

'firma adı textbox dan alınacak yeni firmanın adı
ilkharf = Left(firmaadi, 1)


firmakodustr= SELECT TOP 1 firmakodu FROM TBLCARI ORDER BY ID DESC
ID ye göre tersten sırala ilk kaydın firmakodunu göster

'Bu bölümde alınan eski firma kodundan yeni firma konu oluşturuluyor.
sayi = Val(Mid(firmakodustr, 2, Len(firmakodustr)))
sayi = sayi + 1
sayistr = Trim(Str(sayi))
For i = 1 To 5 - Len(sayistr)
  sayistr = "0" & sayistr
Next i
yenikod = ilkharf & sayistr


Gokcen Akan 05-07-2017 17:23

teşekkür ederim
Yazdım fakat otomatik 0 atıyor.

asri 05-07-2017 17:28

Alıntı:

Gokcen Akan tarafından gönderildi (Mesaj 900344)
teşekkür ederim
Yazdım fakat otomatik 0 atıyor.

Kodu direkt yapıştırırsanız çalışmaz.

Sadece fikir vermesi açısından yazmıştım. Access ve sizin tablo yapınıza göre düzenlemek gerekir.

Gokcen Akan 05-07-2017 17:43

Sütün isimlerinin kendi tabloma göre değiştirdim ama başka değişikliklerde yapmam gerek sanırım teşekkür ederim yardımlarınız için

asri 05-07-2017 22:53

Alıntı:

Gokcen Akan tarafından gönderildi (Mesaj 900351)
Sütün isimlerinin kendi tabloma göre değiştirdim ama başka değişikliklerde yapmam gerek sanırım teşekkür ederim yardımlarınız için

Bu access ne zor bir şeymiş yaaa. (Kişiye bilmediği zor gelir)
Form a bir buton ekleyip butona kendi hazırladığım makroyu atayana kadar canım çıktı :)

asri 05-07-2017 23:35

Aşağıdaki şekilde deneyiniz.
Kırmızı yazılı olanları sizdeki bilgilere göre değiştirin.
Kod test edildi.

Sayenizde access a giriş yapmış oldum :)


Kod:

Option Compare Database

Private Sub Komut43_Click()
    Dim dbs As Database
    Set dbs = OpenDatabase("Database1.accdb")
    ilkharf = Left(firmaaditext, 1)
    komut = "SELECT TOP 1 firmakodu FROM Tablo1 where firmakodu LIKE " & """" & ilkharf & "*""" & " ORDER BY Kimlik DESC"
    Set rs = CurrentDb.OpenRecordset(komut)
   
    firmakodustr = rs("firmakodu")
   
    sayi = Val(Mid(firmakodustr, 2, Len(firmakodustr)))
    sayi = sayi + 1
    sayistr = Trim(Str(sayi))
    For i = 1 To 5 - Len(sayistr)
      sayistr = "0" & sayistr
    Next i
    yenikod = ilkharf & sayistr
   
    komut = "INSERT INTO Tablo1 (firmakodu,firmaadi) VALUES ('" & yenikod & "','" & firmaaditext & "')"
       
    dbs.Execute komut
    dbs.Close
    firmakodutext = yenikod
End Sub


Gokcen Akan 06-07-2017 10:35

http://dosya.co/to6yczxst7xv/KOD_YAZIMI.docx.html

Merhaba tekrardan
kodu yazdım bu hatayı veriyor ( artık monitörü kırma sevıyesine geldim :D )
bir türlü çözemedim yazılım alt yapım olmadığından eğer yardımcı olursanız terardan çok sevinirm
İyi günler

asri 06-07-2017 10:50

Alıntı:

Gokcen Akan tarafından gönderildi (Mesaj 900461)
http://dosya.co/to6yczxst7xv/KOD_YAZIMI.docx.html

Merhaba tekrardan
kodu yazdım bu hatayı veriyor ( artık monitörü kırma sevıyesine geldim :D )
bir türlü çözemedim yazılım alt yapım olmadığından eğer yardımcı olursanız terardan çok sevinirm
İyi günler

ilgili kodun tamamı yok, ayrıca ben access 2010 da dedim. Sizdeki sürüm farklı olabilir.

Kodu mesaja ekleme için aşağıdaki linki inceleyiniz.

http://www.excel.web.tr/f14/yeni-kon...tml#post900448

Gokcen Akan 06-07-2017 13:16

[code][Dim dbs As Database BU KISIMDA USER – DEFİNİED TYPE NOT DEFİNED HATASI VERİYOR
Set dbs = OpenDatabase("FIRMA-TEDARIKCI KODLARI LISTESI 20170706-0900-GA.accdb")
ilkharf = Left(FIRMA_UNVANI, 1)
komut = "SELECT TOP 1 FIRMA_KODU FROM KOD LISTESI where FIRMA_KODU LIKE " & """" & ilkharf & "*""" & " ORDER BY FIRMA_KODU DESC"
Set rs = CurrentDb.OpenRecordset(komut)

FIRMA_KODUstr = rs("FIRMA_KODU")

sayi = Val(Mid(FIRMA_KODUstr, 2, Len(FIRMA_KODUstr)))
sayi = sayi + 1
sayistr = Trim(Str(sayi))
For i = 1 To 5 - Len(sayistr)
sayistr = "0" & sayistr
Next i
yenikod = ilkharf & sayistr

komut = "INSERT INTO KOD LISTESI (FIRMA_KODU,FIRMA_UNVANI) VALUES ('" & yenikod & "','" & FIRMA_UNVANI & "')"

dbs.Execute komut
dbs.Close
FIRMA_KODU = yenikod
]


Saat 13:09

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.