|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
У меня такая задача(Visual fox Pro 9)..Есть форма.В ней имеется поле Text box1, кнопка поиска(Command button1) и пустая табличка Grid1. В текстовое поле(Text box1) вводится имя(название пк игры).Потом при нажатии кнопки поиска в табличке должно появится єта запись(все данные по именам игр имеються в заранее подготовленной таблице в которую можно добавлять новые записи и удалять старые). Так вот в чем проблема: вот код программы в кнопке поиска: pol=thisform.text1.Value SELECT DISTINCT Table1.number, Table1.name, Table1.gerne,; Table1.platform, Table1.creator, Table1.publisher; FROM data1!table1; WHERE Table1.name=pol; INTO CURSOR result &&обирається курсор, в якому зберігаються результати пошуку SELECT 'result' &&Результати пошуку відображаються в таблиці "Результати пошуку" thisform.grid1.RecordSource='result' &&оновлення таблиці "Результати пошуку" &&thisform.grid1.Refresh &&підпис колонок в таблиці відображення результатів пошуку thisform.grid1.column1.header1.Caption='number' thisform.grid1.column2.header1.Caption='name' thisform.grid1.column3.header1.Caption='gerne' thisform.grid1.column4.header1.Caption='platform' thisform.grid1.column5.header1.Caption='creator' thisform.grid1.column6.header1.Caption='publisher' &&задання ширини колонок в таблиці відображення результатів пошуку thisform.grid1.column1.Width=40 thisform.grid1.column2.Width=200 thisform.grid1.column3.Width=150 thisform.grid1.column4.Width=150 thisform.grid1.column5.Width=150 thisform.grid1.column6.Width=150 при запуске формы появилась следующая проблема: поиск срабатывает только в том случаи, если запрашиваемое имя(название пк игры) написано полностью и правильно, словом, так как в задано в первоначальной таблице. Как можно сделать так что б пользователь, что вводит имя игры, мог ошибиться(например написать с малой буквы название или ошибиться с буквой) и результат все равно бы отобразился в таблице результатов(Grid1) формы. То есть меня интересует поиск с учетом ошибок, по одной букве начальной ну или по части имени!!!.. Подскажите пожалуйста, очень нужно..заранее огромное спасибо!!!! Неплохо было бы .если б кто нибудь привел примеры написания такого поиска! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2009, 09:37 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
set ansi off + pol=alltrim(thisform.text1.Value) ... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2009, 10:18 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
Dmytry, Выход из программы -выбор в combobox Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2009, 15:06 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
УРааааа!!!!!... все получилось!!!...Спасибо Вам ОГРОМНОЕ ПРИ ОГРОМНОЕ!!!!))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2009, 17:01 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
Пожалуйста помогите еще разочек!!!!....Суть задания не изменилась, н отепер ьвместо символиных значений(названий) используются числовые данные!. Вот код программы: SET ANSI OFF pol1=VAL(ALLTRIM(thisform.text1.Value)) pol2=VAL(ALLTRIM(thisform.text2.Value)) pol3=VAL(ALLTRIM(thisform.text3.Value)) pol4=VAL(ALLTRIM(thisform.text4.Value)) SELECT DISTINCT syst.number, syst.name, syst.cpu_hrz,; syst.ram_mb, syst.video_mb; FROM glavnaya!syst; WHERE syst.name=pol1 ; AND syst.cpu_hrz=pol2 ; AND syst.ram_mb=pol3 ; AND syst.video_mb=pol4 ; INTO CURSOR result &&обирається курсор, в якому зберігаються результати пошуку SELECT 'result' &&Результати пошуку відображаються в таблиці "Результати пошуку" thisform.grid1.RecordSource='result' &&оновлення таблиці "Результати пошуку" &&thisform.grid1.Refresh &&підпис колонок в таблиці відображення результатів пошуку thisform.grid1.column1.header1.Caption='номер' thisform.grid1.column2.header1.Caption='название игры' thisform.grid1.column3.header1.Caption='Процессор(Гц)' thisform.grid1.column4.header1.Caption='Память(Мб)' thisform.grid1.column5.header1.Caption='Видеопамять(Мб)' &&задання ширини колонок в таблиці відображення результатів пошуку thisform.grid1.column1.Width=40 thisform.grid1.column2.Width=200 thisform.grid1.column3.Width=150 thisform.grid1.column4.Width=150 thisform.grid1.column5.Width=150 При компиляции пишет "Operator/operant type mismatch".. то есть несоответстве типов но только не могу понять где(((..подскажите очень нужно! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2009, 17:27 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
Dmytry, Как я понял, у тебя есть таблица syst, в которой: number (числовое) - ID игры name (СИМВОЛЬНОЕ) - название игры cpu_hrz (числовое) - частота процессора ram_mb (числовое) - объем оперативной памяти video_mb (числовое) - объем видеопамяти Переменной pol1 ты присваиваешь числовое значение (см. 2 строку кода) pol1=VAL(ALLTRIM(thisform.text1.Value)) В запросе (в части WHERE): syst.name=pol1 Однако, name, как мне кажется должно быть символьным полем, ибо это есть название игры thisform.grid1.column2.header1.Caption='название игры' P.S. Насколько я понимаю, в запросе не должны присутствовать параметры игры (ID, название и т.д.), ибо IMHO задача как-раз выбрать ВСЕ игры, удовлетворяющие заданным техническим условиям. Впрочем, я могу и ошибаться... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2009, 22:33 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
Я убрал VAL c pol1=VaL(ALLTRIM(thisform.text1.Value))..но и єто не помогло(((...ошибка все равно та же!...в чем может быть еще причина? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 15:04 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
Dmytry, проверь что возращают thisform.text1.Value thisform.text2.Value thisform.text3.Value thisform.text4.Value Например Герцы могут возращатся в числовом типе ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 15:12 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
Я проверил все "thisform.text.Value"...И вроде уловил одно дело(закономерность)...они все должны быть одного типа!!.По крайней мере когда я из конструкции SELECT в выше упомянутом коде программы убрал строчку pol=alltrim(thisform.text1.Value)..всё заработало!..А вот теперь наплывает другой вопрос..У меня следующий запрос имеет и цифры(дата и еще и количество дисков) и символьные поля...так вот что мне делать разбивать это т запрос на два или как то все можно совместить все в один запрос??..Подскажите пожалуйста неопытному пользователю!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2009, 19:13 |
|
Помогите пожалуйста с поиском в форме!
|
|||
---|---|---|---|
#18+
Dmytry, > И вроде уловил одно дело(закономерность)...они все должны быть одного типа!! Нет, не уловил. Ибо нет закономерностей с "одним типом данных". В одном запросе легко и непринужденно можно выбирать данные разных типов. Читай Базияна и Клепинина. Читай HELP. Заглядывай в FAQ forum.foxclub.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2009, 07:37 |
|
|
start [/forum/topic.php?fid=41&msg=35954028&tid=1586520]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 335ms |
total: | 513ms |
0 / 0 |