Önceki konuya eklediğim örnekte PERSONEL tablosunda RESIM adında alan yok.
Fakat formun kayıt kaynağında sorgu var.
SELECT PERSONEL.[PER ADI VE SOYADI], Convert(Mid([PER ADI VE SOYADI],InStr(1,[PER ADI VE SOYADI]," ")+1) & "_" & Left([PER ADI VE SOYADI],InStr(1,[PER ADI VE SOYADI]," ")-1)) & ".jpg" AS RESIM, *
FROM PERSONEL;
Yukarıdaki koddan da anlaşılacağı üzere sorguya
RESIM: Convert(Mid([PER ADI VE SOYADI];InStr(1;[PER ADI VE SOYADI];" ")+1) & "_" & Left([PER ADI VE SOYADI];InStr(1;[PER ADI VE SOYADI];" ")-1)) & ".jpg"
şeklinde alan eklenmiş. Yani,
Form üzerinden "PER ADI VE SOYADI" alanına "Osman Tunç" isminde kişi kaydederseniz
Convert(Mid([PER ADI VE SOYADI];InStr(1;[PER ADI VE SOYADI];" ")+1)
koduyla tablodaki "PER ADI VE SOYADI" alanındaki verideki boşluk karakterinden sonrasını alır ve modüldeki Convert fonksiyonuyla ğ,i,ü,ş,ö,ç harglerini sırasıyla G,I,U,S,O,C harflerine çevrilerek tümü büyük harf yapılır.
Yani "Tunç", "TUNC" olur, "Gülşen", GULSEN" olur.
Left([PER ADI VE SOYADI];InStr(1;[PER ADI VE SOYADI];" ")-1))
koduyla boşluk karakterinden öncesini tümü büyük harfe çevirir ve türkçe karakterleri değiştirir. "Osman", "OSMAN" olur, "Gülçin", "GULCIN" olur.
Kodun tamamı olan
[vb]RESIM: Convert(Mid([PER ADI VE SOYADI];InStr(1;[PER ADI VE SOYADI];" ")+1) & "_" & Left([PER ADI VE SOYADI];InStr(1;[PER ADI VE SOYADI];" ")-1)) & ".jpg"
[/vb] koduyla da her iki alan arasına "_", sonuna ise ".jpg" eklenerek
"TUNC_OSMAN.jpg", "KAYA_GULHAN.jpg" şeklinde birleştirilir.
Sorgudaki alana "RESIM" olarak tanımlandığı için formda bu alanı kullanabilirsiniz.
Umarım açıklayıcı olmuştur.