Cari baş harfine göre firma kodu oluşturma hakkında

1 2 3 4 5
11/07/2017, 17:53

Gokcen Akan

(11/07/2017, 14:03)ozanakkaya yazdı:
(06/07/2017, 10:22)Gokcen Akan yazdı: yardımınız için teşekkür ederim ama firmanı gizlilik ilkesi gereği herhangi bi dosya paylaşılması yazak pc den, anca eve gidince kendi pcimden örnek oluşturup bi Excel dosyası formatında atabilirm .
İlginiz için tekrardan teşekkürler

Merhaba, firmanıza ait veritabanını paylaşmayın, içerisinde gerçek bilgi içermeyen tablonuzun ve formunuzun bulunduğu basit veritabanı hazırlayıp ekleyin. Sorunuzu örneğiniz üzerinden düzenlemeye çalışalım.

Aksi halde bu konu 30. sayfaya kadar gider.
Merhabalar
Yeni konu açtım. Oradaki linkte bulabilirsiniz. İlginiz için teşekkürler.
11/07/2017, 21:31

ozguryasin

Merhaba; Öncelkle ilişkili form ve tablo ile çalışmada aram pek iyi değildir, mantıklıda gelmiyor açıkçası..
o yüzden forma ait ilk iki satırı firma kodu ve firma adı bölümlerinin formdan ilişkilerini kaldırdım. Projelerinizde Türkçe karakter kullanmayınız. FirmaKodu yazarken FırmaKodu yazmışsınız ingilizcede küçük ı harfi malumunuz mevcut değil.

örneği inceleyip geri bildirimde bulununuz. Ayrıca kodları açık olarakta yayınladım.
Dim RS As New ADODB.Recordset
Dim sOrGu, FIRMAILK As String

sOrGu = "SELECT Left([FırmaKodu],1) AS FU, Min(Mid([FırmaKodu],2.6)) AS FN FROM KODLISTESI GROUP BY Left([FırmaKodu],1);"

RS.Open sOrGu, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
FIRMAILK = Left(Me.FırmaUnvanı, 1)

           Do Until RS.EOF
           
           If RS!FU <> FIRMAILK Then GoTo 1212
           
           Me.FırmaKodu = FIRMAILK & Format(RS!FN + 1, "000000")
           GoTo 1213
 
1212
           
           RS.MoveNext
           Loop

Me.FırmaKodu = FIRMAILK & "000001"

1213

RS.Close: Set RS = Nothing
11/07/2017, 21:32

ozguryasin

İki adet aynı içerik ve konulu soru olduğu için konular birleştirilmiştir. Ayrıca soru konu başlığı düzenlenmiştir.
12/07/2017, 16:01

Gokcen Akan

(11/07/2017, 21:32)ozguryasin yazdı: İki adet aynı içerik ve konulu soru olduğu için konular birleştirilmiştir. Ayrıca soru konu başlığı düzenlenmiştir.

Öncellikle çok teşekkür ederim yardımlarınız için.
Söylemeye utanıyorum ki bir sıkıntı daha var Kod ataması yaparken 00002 ye kadar atayabilyor
Listeyi oluştururken şu şekilde oldu;
A00001
A00002
A00002
A00002
...
...
B00001
B00002
B00002
...

Şeklinde gidiyor.
Onun dışında herşey tamam.
Son kez zahmet versem size, hataya bakabilir misiniz?
12/07/2017, 18:23

ozanakkaya

İnceleyip olumlu/olumsuz bildirimde bulununuz.
12/07/2017, 18:41

ozguryasin

Sorgu bölümünde Min(Mid  yerine   Max(Mid  yazarsanız sorun çözülür gözümden kaçmış. Veya kodları silin aşağıfaki kodları yapıştırın. 

Alıntı:
Kod:
Dim RS As New ADODB.Recordset
Dim sOrGu, FIRMAILK As String

sOrGu = "SELECT Left([FırmaKodu],1) AS FU, Max(Mid([FırmaKodu],2,6)) AS FN FROM KODLISTESI GROUP BY Left([FırmaKodu],1);"

RS.Open sOrGu, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
FIRMAILK = Left(Me.FırmaUnvanı, 1)

           Do Until RS.EOF
           
           If RS!FU <> FIRMAILK Then GoTo 1212
           
           Me.FırmaKodu = FIRMAILK & Format(RS!FN + 1, "000000")
           GoTo 1213
 
1212
           
           RS.MoveNext
           Loop

Me.FırmaKodu = FIRMAILK & "000001"

1213

RS.Close: Set RS = Nothing
1 2 3 4 5