05/03/2021, 08:18
Merhabalar, Bir önceki sorumun devamı olarak sormak istediğim 2 nokta var. Eklediğim Access örneği üzerinden (vehicleplanform) cevaplayabilirsiniz.
Birinci Sorum:
Ben arama yapmak istediğimde aşağıdaki kod yapısını (KOD 1) kullanıyordum ancak farkettim ki bu kod yapısı veri kaynağındaki form altındaki sorguyu tamamen değiştiriyor. Bu nedenle arama amaçlı kullanılması yanlış diye düşünüyorum. Bu kodla arama yapıp formu kapatıp tekrar açan kullanıcı, dataları farklı şekilde son arama kaynağını baz alarak görmüş olacak. Bunu gözden kaçırmışım. O nedenle arama amaçlı aşağıdaki kodu (KOD 2) devreye soktum.
_______KOD 1_________
cabledataformquery = "SELECT * FROM tblcabledata WHERE line ='" & linesearchtxtbox & "'" & ""
Me.RecordSource = cabledataform
Me.Refresh
_______KOD 2________
Private Sub searchbutton_Click()
On Error GoTo Err_searchbutton_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "vehicleplanform"
stLinkCriteria = "[line]=" & [linesearchtxtbox]
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_searchbutton_Click:
Exit Sub
Err_searchbutton_Click:
MsgBox Err.Description
Resume Exit_searchbutton_Click
End Sub
Burada arama yaptığım alan olan "line" integer. O nedenle buradaki tanımı da integer yapmam gerekiyor diye düşünüyordum ama string dediğimde doğru çalışıyor.(Dim stLinkCriteria As String) StLinkCriteria aratma yaptığımız alan integer da olsa string de olsa string diye tanımlandığında arama doğru çalışıyor. Buradaki string tipi farklı bir noktayı mı tanımlıyor acaba?
İkinci Sorum:
Vehicleplanform formu üzerinde 2 tane arama alanımız var - (line, model)
Burada her bir alan için teker teker bağımsız arama yapabiliyoruz. Ancak ben 2 kutuya değeri yazalım sonra tek bir büyüteçe bastığımızda 2 sini de sağlayacak şekilde filtre oluşturmasını istiyorum (Basit olarak excelde yapabildiğimiz filtre tarzı). Bunu nasıl yapabiliriz.
Teşekkürlerimi sunarım.
Birinci Sorum:
Ben arama yapmak istediğimde aşağıdaki kod yapısını (KOD 1) kullanıyordum ancak farkettim ki bu kod yapısı veri kaynağındaki form altındaki sorguyu tamamen değiştiriyor. Bu nedenle arama amaçlı kullanılması yanlış diye düşünüyorum. Bu kodla arama yapıp formu kapatıp tekrar açan kullanıcı, dataları farklı şekilde son arama kaynağını baz alarak görmüş olacak. Bunu gözden kaçırmışım. O nedenle arama amaçlı aşağıdaki kodu (KOD 2) devreye soktum.
_______KOD 1_________
cabledataformquery = "SELECT * FROM tblcabledata WHERE line ='" & linesearchtxtbox & "'" & ""
Me.RecordSource = cabledataform
Me.Refresh
_______KOD 2________
Private Sub searchbutton_Click()
On Error GoTo Err_searchbutton_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "vehicleplanform"
stLinkCriteria = "[line]=" & [linesearchtxtbox]
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_searchbutton_Click:
Exit Sub
Err_searchbutton_Click:
MsgBox Err.Description
Resume Exit_searchbutton_Click
End Sub
Burada arama yaptığım alan olan "line" integer. O nedenle buradaki tanımı da integer yapmam gerekiyor diye düşünüyordum ama string dediğimde doğru çalışıyor.(Dim stLinkCriteria As String) StLinkCriteria aratma yaptığımız alan integer da olsa string de olsa string diye tanımlandığında arama doğru çalışıyor. Buradaki string tipi farklı bir noktayı mı tanımlıyor acaba?
İkinci Sorum:
Vehicleplanform formu üzerinde 2 tane arama alanımız var - (line, model)
Burada her bir alan için teker teker bağımsız arama yapabiliyoruz. Ancak ben 2 kutuya değeri yazalım sonra tek bir büyüteçe bastığımızda 2 sini de sağlayacak şekilde filtre oluşturmasını istiyorum (Basit olarak excelde yapabildiğimiz filtre tarzı). Bunu nasıl yapabiliriz.
Teşekkürlerimi sunarım.