veritabanindan kayıt bulma

Katılım
23 Şubat 2005
Mesajlar
303
Merhaba arkadaslar arama yaptim buldum sonuclari kendi calismama uyarladim fakat istedigim gibi olmadi.
istedigim http://www.excel.web.tr/viewtopic.php?t=10266
linkindeki calismada hızlı arama diye bir text var.veritabanindaki isimleri ariyorsunuz.
Bunu ben calismama uyguladim ama telefon rehberi calismasindakinden farkli sanirim(suz islemi ile yaptim)cok fazla yavas calisiyor.
Yardimlarinizi bekliyorum.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızı eklerseniz onun üzerinden gidelim.
 
Katılım
3 Nisan 2005
Mesajlar
347
Excel Vers. ve Dili
office xp tr
Hızlı arama

Kodları kendinize uyarlayınız.
Private Sub ComboBox2_Change()
On Error Resume Next
ComboBox2 = büyük(ComboBox2)
Dim MyRange As Range
Dim noA As Integer
ListBox1.Clear
noA = WorksheetFunction.CountA(Sheets("veri").Range("B:B"))
For Each MyRange In Sheets("veri").Range("B1:B" & noA)
If Left(LCase(MyRange), Len(ComboBox2)) = LCase(ComboBox2) Then ListBox1.AddItem (MyRange)
Next
End Sub

Private Sub ListBox1_Click()
'On Error Resume Next
Dim x As Integer
x = Sheets("veri").Range("B:B").Cells.Find(what:=ListBox1, LookIn:=xlValues).Row
ComboBox1.Value = ListBox1 'listboxtakini bul için cobobox1 de gösteriyoruz
ComboBox1 = Sheets("veri").Cells(x, 2) 'bura yakadar süz için
Dim bak As Range 'burdan aşşağı bul için
For Each bak In Range("B1:B" & WorksheetFunction.CountA(Range("B1:B65000")))
If StrConv(bak.Value, vbUpperCase) = StrConv(ComboBox1.Value, vbUpperCase) Then
bak.Select
TextBox1.Value = ActiveCell.Offset(0, -1).Value
TextBox2.Value = ActiveCell.Offset(0, 1).Value
TextBox3.Value = ActiveCell.Offset(0, 2).Value
TextBox4.Value = ActiveCell.Offset(0, 3).Value
TextBox5.Value = ActiveCell.Offset(0, 4).Value
TextBox6.Value = ActiveCell.Offset(0, 5).Value
TextBox7.Value = ActiveCell.Offset(0, 6).Value
Exit Sub
End If
Next bak
ComboBox2.SetFocus
End Sub

'TEXTBOKLARA GİRİLEN HARFLERİN BÜYÜK OLAMASI İÇİN (BURASI MODÜLE)
Function büyük(veri)
Dim a As Integer
Dim b As String
For a = 1 To Len(veri)
If Mid(veri, a, 1) = "i" Then
b = "İ"
ElseIf Mid(veri, a, 1) = "ı" Then
b = "I"
Else
b = Mid(UCase(veri), a, 1)
End If
büyük = büyük & b
Next
End Function
 
Üst