İnteger Veri Tipindeki Değeri Form İçerisinde Metin Kutusunda Aratmak

01/03/2021, 15:28

ODRSCH26

Merhaba herkese,

Forum üzerinde aşağıdaki kod ile string tipte olan verilerimi arayıp bulabilmekteyim. Ancak
integer olanlarda aynı kodu uyguladığımda büyüteçe tıkladığımda veri tipi uyuşmazlığı hatası almaktayım. 
Aşağıdaki kodu ne şekilde uyarlamam konusunda yardımcı olabilir misiniz? teşekkürler



Private Sub searchbutton_Click()
If linesearchtxtbox <> "" Then
cabledataformquery = "SELECT * FROM tblcabledata WHERE line ='" & linesearchtxtbox & "'" & ""
Me.RecordSource = cabledataform
Me.Refresh

Else
MsgBox "Please enter line number first to search"
Me.linesearchtxtbox .SetFocus
End If
End Sub
01/03/2021, 15:34

atoykan

String veriler için kullanılan ' tırnak işaretini kullanıp integer veri arıyorsunuz, veri tipi uyuşmazlığı hatasının sebebi bu. metin ifadelerde kullanılan ' işareti ve sayısal ifadelerde bu kullanımın nasıl olduğuna ilişkin youtubeda bir iki videoya bakın hatanızı hemen göreceksiniz ve kullanımı pekiştirmiş olacaksınız.
01/03/2021, 15:36

C*e*l*o*y*c*e

'" & linesearchtxtbox & "' Bu şekilde metin için kullanılıyor.
" & linesearchtxtbox & " Bu şekilde(tek tırnak yok) ise sayılarda kullanılır.
buna göre düzenleme yapabilirsiniz.
03/03/2021, 12:15

ODRSCH26

(01/03/2021, 15:36)C*e*l*o*y*c*e yazdı: '" & linesearchtxtbox & "' Bu şekilde metin için kullanılıyor.
" & linesearchtxtbox & "  Bu şekilde(tek tırnak yok) ise sayılarda kullanılır.
buna göre düzenleme yapabilirsiniz.

Sayın Atoyken, C*e*l*o*y*c*e,

Teşekkürler. Dediğiniz uyarlamayı yaptığımda yukarıdaki kod blogum için çalıştı. 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 devreye soktum.
Ancak burada da ilginç bir şekilde. Tek form tipinde bu kod hatasız çalışırken. Bölünmüş formda aynı veri tipindeki(sayı) değişken için "type mismatch" hatası vermekte. 

Bunun nedeni nedir yardımcı olabilirseniz sevinirim. Bölünmüş bu formda '  kullanarak string tipinde değeri aratırken ise hata almıyorum.


Private Sub searchbutton_Click()
On Error GoTo Err_searchbutton_Click()

    Dim stDocName As String
    Dim stLinkCriteria As Integer
    stDocName = "Form"
    stLinkCriteria = "[line]=" & [linesearchtxtbox]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_searchbutton_Click:
    Exit Sub
Err_searchbutton_Click:
    MsgBox Err.Description
    Resume Exit_searchbutton_Click

End Sub

EDİT: Kod içerisinde geçen aşağıdaki ifadenin tipini string olarak değiştirdiğimde kodum çalıştı. Ancak line alanı integer. Dolayısıyla aşağıdaki yapıyı string yapınca çalışıp integer yaptığımda çalışmama durumunu anlayamadım. Buradaki string tipi farklı bir noktayı mı tanımlıyor acaba?

Dim stLinkCriteria As String
03/03/2021, 14:56

atoykan

Cevaplanmış ve kapatılmış konunuz ile ilgili başka bir detay soruyorsunuz. Öncelikle her soru için ayrı konu açın ve örnek uygulamanızı eklemeyi unutmayın.
Type mismatch hatası veri tiplerinizin uyuşmamasından kaynaklanır. String ile çalışan bir kodun arama yaptığı alandaki veri string demektir bir yerde hatanız var ya da yanlış ifade ediyorsunuz. Yeni bir konuda örnek uygulamanız ile sorunuzu açın inceleyelim.
05/03/2021, 08:25

ODRSCH26

(03/03/2021, 14:56)atoykan yazdı: Cevaplanmış ve kapatılmış konunuz ile ilgili başka bir detay soruyorsunuz. Öncelikle her soru için ayrı konu açın ve örnek uygulamanızı eklemeyi unutmayın.
Type mismatch hatası veri tiplerinizin uyuşmamasından kaynaklanır. String ile çalışan bir kodun arama yaptığı alandaki veri string demektir bir yerde hatanız var ya da yanlış ifade ediyorsunuz. Yeni bir konuda örnek uygulamanız ile sorunuzu açın inceleyelim.

Sayın Atoykan

Yeni konu açtım ve örnek de koydum bilgilerinize sunarım.
https://accesstr.net/konu-arama-filtre-k...#pid178249