|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Доброе время суток. Знатоки, помогите !!!! Смотрела в форуме похожие темы но увы ничего не выходит у меня. Есть таблица - перечень книг в библиотеке, которая отображается на форме в гриде. Я организовываю поиск в этой таблице по двум параметрам которые пользователь вводит сам. Худо бедно я сделала поиск. Но сейчас от меня требуют чтобы было так : вводишь примерное название книги и на экране остается только то что примерно подходит. Мудрила, мудрила...ничего не намудрила. В итоге только испортила то что хоть как-то работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:10 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Приведите пример "примерного совпадения". Т.е. что вводит пользователь и что должно быть найдено по этому значению. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:25 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
ВладимирМ, Ну, например, нужен список книг по FoxPro. Значит пользователь вводит FoxPro ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:27 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
а в результате в гриде должны остаться только те книги, в названии которых есть введенный фрагмент. Тоже самое касательно поля автор. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:29 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Что у вас является источником данных грида? Кроме того, выражение "примерно подходит" как-то не раскрывает суть... Даже если это - часть автора/названия, - при наличии нескольких слов для поиска придётся сделать перебор комбинаций слов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:31 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Хиль, В ниже приведенном примере поиск осуществляется по 1-ым буквам или по фрагментам,фрагменты разделяются с помощью "+" при этом поиск может быть в режиме 'AND' или 'OR' Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:36 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Хильа в результате в гриде должны остаться только те книги, в названии которых есть введенный фрагмент. Тоже самое касательно поля автор. Для команды Select-SQL - это оператор LIKE Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:38 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
ВладимирМ, а если поиск сразу по наименованию и по автору , через AND вторе условие? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:41 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
AndreTM, источник - табцица book ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:42 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
ВладимирМ, как сделать так, чтобы в гриде остались только найденные записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 15:54 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
ХильВладимирМ, как сделать так, чтобы в гриде остались только найденные записи? А как Вы это делаете сейчас? По двум параметрам? Ведь может не быть ни одного параметра, или один, или два. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 16:04 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Владимир, большое спасибо. Проблема решена. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 16:06 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Сделайте источником данных курсор. Создавайте его через Select-SQL с условием типа "WHERE Upper(Author) LIKE '%'+m.FindAuthor+'%' AND Upper(Name) LIKE '%'+m.FindName+'%'" Но это только для одного слова в выражении поиска. Если же слов несколько - придется повозиться побольше. Например, сделать дополнительный выбор "искать все слова/любое из слов", затем строку поиска парсить и создавать условие программно. Типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 16:53 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Изучила все советы. Вроде что-то сделала, и вроде даже что хотелось. У меня результат из курсора выдается в грид. При повторном поиске все настройки грида слетают (ширина столбцов и их названия). Не подскажите в чем может быть причина? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 23:21 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Ну, раз сменили тип ControlSource и обновляете курсор - вообще-то, изучайте, что и как работать с GRID. Вообще, обсуждается давно и долго, что здесь, что на фоксклубе... 286698 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2011, 23:40 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
ХильИзучила все советы. Вроде что-то сделала, и вроде даже что хотелось. У меня результат из курсора выдается в грид. При повторном поиске все настройки грида слетают (ширина столбцов и их названия). Не подскажите в чем может быть причина? использовать курсорадаптер. после подмены условия ограничения достаточно вызвать один метод курсорадаптера и получить желаемый рез-т. Вы работатете с сервером или родные таблицы? пример для родных таблиц. с наступающим. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 11:56 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
прошелмимо, спасибо !!! я сделала необходимую выборку, кинула в курсор. и назначила гриду необходимые параметры RecordSource и RecordSourceType для отображения данныхиз курсора. Так вот в первый раз поиск срабатыват просто замечательно (в плане отображения грида), а при повторном запуске поиска начинается фигня. Причем если принудительно ставишь названия столбцов, ширину, название итд, фокс говорит что он вообще не знает что такое Column и Header... bibl.PageFrame1.page1.Grid1.Column1.Header1.Caption="УДК" ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 12:23 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Хильпрошелмимо, спасибо !!! я сделала необходимую выборку, кинула в курсор. и назначила гриду необходимые параметры RecordSource и RecordSourceType для отображения данныхиз курсора. Так вот в первый раз поиск срабатыват просто замечательно (в плане отображения грида), а при повторном запуске поиска начинается фигня. Причем если принудительно ставишь названия столбцов, ширину, название итд, фокс говорит что он вообще не знает что такое Column и Header... bibl.PageFrame1.page1.Grid1.Column1.Header1.Caption="УДК" Вы не ответили какого типа источник: родные таблицы или ? поиграйтесь пожалуйста с примером - там Вы увидите способ использ-я курсорадаптера,подмены условия огр-я и обновления(рефреша данных) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 12:40 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
прошелмимо, таблицы "родные". Пытаюсь разобраться. За декрет все позабывала ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 12:49 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Хильпрошелмимо, таблицы "родные". Пытаюсь разобраться. За декрет все позабывала ((( ок, смотрите пример, там показан курсорадаптер для родн.таблиц с изменяемым условием ограничения. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 12:53 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Хилья сделала необходимую выборку, кинула в курсор. и назначила гриду необходимые параметры RecordSource и RecordSourceType для отображения данныхиз курсора. Так вот в первый раз поиск срабатыват просто замечательно (в плане отображения грида), а при повторном запуске поиска начинается фигня. Причем если принудительно ставишь названия столбцов, ширину, название итд, фокс говорит что он вообще не знает что такое Column и Header... bibl.PageFrame1.page1.Grid1.Column1.Header1.Caption="УДК" Проблема в том, что когда Вы выполняете выборку повторно, то, прежде, чем результат будет записан в курсор, уже существующий курсор с таким именем будет уничтожен. Факт уничтожения курсора, если в этот момент он являлся источником данных Grid, приводит к полному разрушению структуры Grid. Соответственно, последующая попытка обратится к разрушенной структуре вызывает ошибку Чтобы это предотвратить необходимо ДО перезапроса, отключить курсор от Grid. Примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Восстанавливать надо только источники данных. Т.е. Grid.RecordSource и Column.ControlSource. Все остальные настройки остануться как есть, поскольку отключение источника данных Grid не приводит к разрушению его структуры ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 13:15 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
Решал похожую задачку через select * from источник where выражение$поле Далее выбор пользователя. Правда на больших таблицах может тормозить.(Ну на очень больших) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2011, 21:28 |
|
Помогие пожалуйста с поиском!!!!
|
|||
---|---|---|---|
#18+
oldfox, Ну, str1$str2 соответствует использованию LIKE. Для новичков... Ибо LIKE - операнд SELECT-SQL, а $ - функция языка. И по поводу минимизации использования функций (даже не UDF) в запросе можете ознакомиться в любом пособии. Осбенно с точки зрения работы рашмор-оптимизации в запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2011, 02:24 |
|
|
start [/forum/topic.php?fid=41&msg=37150059&tid=1584495]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
129ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 262ms |
0 / 0 |