Firma kodları hakkında

Katılım
5 Temmuz 2017
Mesajlar
5
Excel Vers. ve Dili
ACCESS 2016 TÜRKÇE
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.
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
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
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
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.
 
Katılım
5 Temmuz 2017
Mesajlar
5
Excel Vers. ve Dili
ACCESS 2016 TÜRKÇE
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
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
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ı :)
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
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("[COLOR=Red]Database1.accdb[/COLOR]")
    ilkharf = Left([COLOR=Red]firmaaditext[/COLOR], 1)
    komut = "SELECT TOP 1 [COLOR=Red]firmakodu[/COLOR] FROM [COLOR=Red]Tablo1[/COLOR] where [COLOR=Red]firmakodu[/COLOR] LIKE " & """" & ilkharf & "*""" & " ORDER BY [COLOR=Red]Kimlik[/COLOR] DESC"
    Set rs = CurrentDb.OpenRecordset(komut)
    
    firmakodustr = rs("[COLOR=Red]firmakodu[/COLOR]")
    
    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 ([COLOR=Red]firmakodu[/COLOR],[COLOR=Red]firmaadi[/COLOR]) VALUES ('" & yenikod & "','" & [COLOR=Red]firmaaditext[/COLOR] & "')"
        
    dbs.Execute komut
    dbs.Close
    [COLOR=Red]firmakodutext[/COLOR] = yenikod
End Sub
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
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-konu-acma-soru-sorma-t165263.html#post900448
 
Katılım
5 Temmuz 2017
Mesajlar
5
Excel Vers. ve Dili
ACCESS 2016 TÜRKÇE
Kod:
[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
]
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Kod:
[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
][/quote]

Kodun tamamı bu şekilde değildir.
Aşağıdaki şekilde bir procedure in içindedir.


Private Sub Komut43_Click()
   kod kısmı
End Sub
 
Üst