• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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.
 
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
 
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
 
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ı :)
 
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
 
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
 
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
]
 
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
 
Geri
Üst