Kütüphane kitaplarının takibi amaçlı bir uygulama ektedir. Burada sorgulam işlemi sonunda gelen sonuçlarda, aranan kelimenin ekteki jpg görüntüde yer aldığı gibi zemin rengini nasıl değiştirebiliriz.
Teşekküler, iyi çalışmalar
Gerçekten güzel bir soru.
Excel'de aynı hücrede farklı formatlar uygulayabilmek mümkün ama Access'te standart olarak böyle bir özellik yok diye biliyorum.
Gerçi
Access 2007'de
Html kodları kullanılarak böyle bir şey yapılabildiğini duymuştum ama 2002 ve 2003 için aklıma bir çözüm gelmiyor şu anda.
Çözüm için, diğer arkadaşların fikirlerini bekleyeceğiz.
Aşağıdaki
Access 2007 sitesinde bu özellikten bahsediyor.
Alıntı:Metin Biçimi : Metin kutusu bir Not alanıyla ilişkiliyse, Metin Biçimi özellik kutusundaki değeri Zengin Metin olarak ayarlayabilirsiniz. Bu işlem, metin kutusunun içerdiği metne birden çok biçimlendirme stili uygulamanıza olanak verir. Örneğin, bir sözcüğe kalın yazı biçimi, bir diğerine de altı çizili yazı biçimi uygulayabilirsiniz.
Konuyla ilgili Microsoft
Access 2007 sitesinden bir kaç link:
Zengin metin alanı ekleme
Zengin metin biçimini destekleyen bir denetim veya sütuna veri girme veya düzenleme
evet bende öyle bir özelliğinin olduğunu duymadım. örneğin 20 satırlık ve her satırdaki kelimeyi renklendirmesi hiç bir şekilde olmuyor sanırım. ancak bir metin kutusu içinde kelimeyi bulup seçimli koyu renge boyaması oluyor.
bunun için şöyle bir kod kullanabilirsin:
Kod:
Option Explicit
Dim ArananKelime As String
Dim KelimeninYeri, AramayaBasla As Integer
Private Sub Sorgula_Click()
ArananKelime = Me.SAdi
AramayaBasla = Forms!frm_sorgu.Form!frm_sorgu_alt_formu!İfade1.SelStart + Forms!frm_sorgu.Form!frm_sorgu_alt_formu!İfade1.SelLength
If AramayaBasla = 0 Or AramayaBasla = Len(Forms!frm_sorgu.Form!frm_sorgu_alt_formu!İfade1) Then AramayaBasla = 1
KelimeninYeri = InStr(AramayaBasla, Forms!frm_sorgu.Form!frm_sorgu_alt_formu!İfade1, ArananKelime, vbTextCompare)
If KelimeninYeri = 0 Then
MsgBox "Metin içinde böyle bir kelime yok"
Else
Forms!frm_sorgu.Form!frm_sorgu_alt_formu!İfade1.SetFocus
Forms!frm_sorgu.Form!frm_sorgu_alt_formu!İfade1.SelStart = KelimeninYeri - 1
Forms!frm_sorgu.Form!frm_sorgu_alt_formu!İfade1.SelLength = Len(ArananKelime)
End If
End Sub
Güzel bir fikir ama bunu (örnekteki gibi) sürekli formda nasıl yapacağız?
sayın aydiny ;
resim ile örneğini verdiğiniz uygulama web tabanlı
Html kodları ile yapılıyor. sunucu tarafında kodlar işlenirken arama kriterine uyan kelimeleri font rengini değiştirerek basıyor.tek bir alan içersinde textlerin diğerlerinden bağımsız olarak renklendirilmesi mümkün değil.
anca aklıma webdeki gibi yaparak çözüme ulaşmak için bir yöntem geliyor. arama sonuçlarını teker teker ayrı etiketlere yazmak ve arama kriteri ile uyuşuyor ise rengini değiştirmek.
aşağıda kodunu ve örneğini ekliyorum.
sürekli formda ayırma yapamıyor onun için tek form görünümünde olabilir.
ancak nedense boşlukları tam olarak ayırtamadım. sayın cuneyt'in kodları ile benim kodları birleştirerek devamı getirilebilir.bende mantığımdaki yanlışı görmüş olurum.
Kod:
Private Sub parcala_yay()
On Error GoTo cikis
Dim kelimeler, aktar As String
Dim uzunluk, nerdeyiz, nerdeyiz1, buraya As Integer
For eno = 1 To 40
Me("e_" & eno).Visible = False
Me("e_" & eno).ForeColor = vbBlack
Next eno
nerdeyiz = 1
kelimeler = Me.Metin7
uzunluk = Len(kelimeler)
For eno = 1 To 40
If eno <> 1 Then
nerdeyiz1 = nerdeyiz
nerdeyiz = InStr(nerdeyiz1, kelimeler, " ") + 1
buraya = InStr(nerdeyiz, kelimeler, " ") - nerdeyiz1
Else
nerdeyiz = 1
buraya = InStr(nerdeyiz, kelimeler, " ")
End If
Me("e_" & eno).Caption = Mid(kelimeler, nerdeyiz, buraya)
Me("e_" & eno).Visible = True
Me("e_" & eno).Width = Len(Me("e_" & eno).Caption) * 130
If eno = 1 Then
Me("e_" & eno).Left = 1550
Else
Me("e_" & eno).Left = Me("e_" & eno - 1).Width + Me("e_" & eno - 1).Left
End If
If Me("e_" & eno).Caption = Forms!frm_sorgu!DNo Then Me("e_" & eno).ForeColor = vbRed
If Me("e_" & eno).Caption = Forms!frm_sorgu!SAdi Then Me("e_" & eno).ForeColor = vbRed
If Me("e_" & eno).Caption = Forms!frm_sorgu!SSoyadi Then Me("e_" & eno).ForeColor = vbRed
If Me("e_" & eno).Caption = Forms!frm_sorgu!SKonu Then Me("e_" & eno).ForeColor = vbRed
Next eno
cikis:
End Sub
Değerli arkadaşlarım,
yanıtlarınız için teşekkür ederim. Konu ile ilgili çözüm denemlerim devam ediyor. Sonuca ulaştığımda sizleri de bilgilendireceğim.
İyi çalışmalar dilerim.