חיפוש SQL עם תווים מיוחדים
-
שלום וברכה.
יש לי טבלת אקסס של רשימת רחובות, ואני צריך שאילתה שתחפש רחוב לפי מה שהמשתמש מזין.
הבעיה היא שחלק מהרחובות מכילים גרש (') וחלק גרשים (").
מה שקורה זה שאם אני כותב בצורה כזו:"SELECT * FROM רחובות WHERE רחוב = """ & me.רחוב & """"
אז כל רחוב שיש בו גרשיים מחזיר שגיאה.
ואם אני כותב כך:"SELECT * FROM רחובות WHERE רחוב = '" & me.רחוב & "'"
אז כל רחוב שמכיל גרש בודד מחזיר שגיאה.
מה אפשר לעשות?
תודה רבה -
אתה צריך להשתמש מהסיבה הזו ומעוד עשר סיבות, בשאילתות עם פרמטרים.
לא כתבת באיזה סביבה אתה כותב, אם מדובר בVBA, אמור להיות משהו כזה:Dim qdf As DAO.QueryDef, rs as Recordset Set qdf = CurrentDb.CreateQueryDef("", "SELECT * FROM רחובות WHERE רחוב = [street]") qdf.Parameters("street").Value = me.רחוב Set rs = qdf.OpenRecordset() 'ואידך זיל
שיהיה לך ברור שיש פתרון לבעיה בהצגת שלא מצריך שימוש בפרמטרים, והראיה היא שכמעט אף אחד לא משתמש בפרמטרים. אבל מי שכן משתמש הוא בליגה אחרת.
-
@dovid תודה, זה עזר מאוד לשאילתות.
אבל יש לי עוד שימוש בזה לבניית מקור נתונים לתיבה משולבת.
הקוד הוא משהו כזה:Me.רחוב.RowSource = "SELECT רחובות.רחוב, רחובות.עיר FROM רחובות WHERE (((רחובות.רחוב) Like ""*" & רחוב.Text & "*"") AND ((רחובות.עיר)=[Forms]![תורמים]![עיר]))"
ונועד לסנן לפי מה שהמשתמש מתחיל לכתוב בשדה.
יש איך לסדר את זה גם כאן?
תודה!